如何利用程序往WORD文件里插入VBA?急急急急急! 分不够,可以再加! (100分)

  • 主题发起人 主题发起人 china_bug
  • 开始时间 开始时间
C

china_bug

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在要实现,利用程序往WORD文件中插入一个控件,再在Document的OPEN事件中写几行代码.但我不知道如何用程序来写Document的事件代码.各位大拿帮忙呀!!!
 
这个,真的不知道
一般是word中写好宏,delphi里面进行调用
不知道怎么去动态添加宏
 
感谢twos了.
等待好心人出现……
 
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;
 
谢谢楼上的,我去试一下.
 
wr960204:
有问题呀!运行的时候会出现EOleException的错误,提示不能运行指定宏.
如果我把下面的语句都注释掉,运行不出错,但也看不到加入的代码.
vWord.Run('MyProc()'); //运行VBA的过程

vDoc.Close(True); //关闭文并保存
vWord.Quit(False); //退出Word
 
后退
顶部