uses ComObj ;
procedure TForm1.Button1Click(Sender: TObject);
var
vWord, vDoc, wdModule: Variant;
strCode: Widestring;
lReturn: Boolean;
begin
vWord := CreateOleObject('Word.Application'); //创建Word线程
try
//打开要操作的文件
vDoc := vWord.Documents.Add; //Open('C:/My Documents/AAAc.Doc');
wdModule := vDoc.VBProject.VBComponents.Add(1);
strCode := 'sub MyProc()' + #13 +
'msgbox "这是一个用VB建立宏的例子!"' + #13 +
'end sub';
wdModule.CodeModule.AddFromString(strCode);
vWord.Run('MyProc()'); //运行VBA的过程
finally
vDoc.Close(True); //关闭文并保存
vWord.Quit(False); //退出Word
end;
end;