我找到答案了,自己回答
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:/Mydo
cuments/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;