在c#

时间:2017-01-05 06:23:31

标签: ms-word macros

如何在c#中使用Interop将宏插入并运行到word文档中?

1 个答案:

答案 0 :(得分:1)

using System.Runtime.InteropServices;
using Microsoft.Vbe.Interop;
using Word = Microsoft.Office.Interop.Word.Application;

string file1, file2;

var word = new Word { Visible = true };
var doc = word.Documents.Open(file1);

var project = doc.VBProject;
var module = project.VBComponents.Add(vbext_ComponentType.vbext_ct_StdModule);

var script = string.Format(
@"Sub MacroTest()
Const path1 As String = ""{0}""
Set doc1 = Documents.Open(path1)
End Sub", file2);

module.CodeModule.AddFromString(script);

word.Run("MacroTest");