Взаимодействие с макросами Word из приложения - C#
Формулировка задачи:
У меня макросы с word есть мне нужно ее прикрутить к C#. Как это сделать?
Решение задачи: «Взаимодействие с макросами Word из приложения»
textual
Листинг программы
using System; using Word = Microsoft.Office.Interop.Word; using VBIDE = Microsoft.Vbe.Interop; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { var wordApp = new Word.Application(); wordApp.Documents.Add("C:\\1.docm"); var doc = wordApp.Documents[1]; VBIDE.VBComponent oModule = doc.VBProject.VBComponents.Add(VBIDE.vbext_ComponentType.vbext_ct_StdModule); string sCode = "public sub VBAMacro()\r\n" + " msgbox \"VBA Macro called\"\r\n" + "end sub"; // Add the VBA macro to the new code module. oModule.CodeModule.AddFromString(sCode); RunMacro(wordApp, new Object[]{"VBAMacro"}); wordApp.Visible = true; } public static void RunMacro(object oApp, object[] oRunArgs) { oApp.GetType().InvokeMember("Run", System.Reflection.BindingFlags.Default | System.Reflection.BindingFlags.InvokeMethod, null, oApp, oRunArgs); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д