Я довольно новичок в кодировании на C # и VBA, так что терпите меня, я не знаю, какая информация необходима, а какая нет.Во всяком случае, я пытаюсь создать надстройку VSTO для Word с использованием C # в Visual Studio, которая по сути имеет несколько кнопок, которые запускают макросы VBA при нажатии.Я следил за поиском решений, но большинство из них применимы к Excel и, похоже, не совсем решают мою проблему. Ближайший вопрос, который я могу найти, это предыдущий вопрос ( Практическое руководство. Запуск существующих макросов Word VBA из C # Ribbon Addin ) но решение не помогло решить мою проблему.
Итак, у меня есть макрос в документе, который работает, как и ожидалось, если я запускаю его непосредственно из документа (для макрокода нет аргументов).У меня созданы кнопки, и при открытии экземпляра Word появляется лента надстройки.У меня также есть следующие методы в моем файле addin.cs:
private void RunMacro(object oApp, object[] oRunArgs)
{
oApp.GetType().InvokeMember("Run",
System.Reflection.BindingFlags.Default |
System.Reflection.BindingFlags.InvokeMethod,
null, oApp, oRunArgs);
}
и следующий метод в качестве вызова onAction для одной кнопки (скажем Button1)
public void OnButton1(Office.IRibbonControl control)
{
RunMacro(Globals.ThisAddIn.Application, new object[] {"Button1Macro"});
}
Любая помощь будетс благодарностью.Спасибо