Есть ли какой-нибудь способ добавить макрос программно в документ doc(word)?
I there any way to add a macro programmatically to a doc(Word) document and then save it?
Что я уже пробовал:
Microsoft.Office.Interop.Word.Application newApp = new Microsoft.Office.Interop.Word.Application(); newApp.Visible = false; object Unknown = Type.Missing; var Source = filePath; var doc = newApp.Documents.Open(Source); var project = doc.VBProject; var module = project.VBComponents.Add(vbext_ComponentType.vbext_ct_StdModule); var macro = @" Public Sub DoKbTest() MsgBox ""Hello"" End Sub Public Sub DoKbTestWithParameter(ByVal msg As String) MsgBox msg End Sub "; module.CodeModule.AddFromString(macro); //module.CodeModule.AddFromFile(vba); newApp.Run("DoKbTest"); doc.SaveAs(finaldoc);
ZurdoDev
Посмотрите, можете ли вы записать макрос, создающий макрос, и тогда вы получите свой ответ.
CyberSecII
хорошо, я нашел способ сделать это, но теперь я хочу сохранить свой документ, но с моим кодом он сохраняет документ, но макрос отсутствует.
Slacker007
Я думал, что есть расширение файла для word, которое указывает, что это документ word с макросами? прошло почти 10 лет с тех пор, как я работал с Word automation, макросами и т. д.
CyberSecII
Спасибо Slacker007 за то, что нашли время переиграть для меня!! Я исправил свой код!!