关于VB中用createobject启动Excel97时,宏不被自动执行的问题,送100分,急急急急!

cgz 2003-11-05 05:35:09
本人现在VB程序中用下述代码启动excel97的文件,在excel97 的Workbook_Open()里面加了代码,可是用VB的createobject 函数调出后,excel的宏不被自动执行,安装了excel2000以后没有问题,请问调用excel97时有什么办法让他自动执行宏吗?谢谢。

VB代码:
Set ExcelApp = CreateObject("Excel.application")
strFileName = App.Path & "\..\work\" & gstrViewName & gstrPartNumber & ".xls"
Set objWorkbook = ExcelApp.Workbooks.Open(strFileName)
objWorkbook.RunAutoMacros 1
ExcelApp.Visible = True
...全文
70 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
rainstormmaster 2003-11-05
  • 打赏
  • 举报
回复
这要利用Excel的Application.Run方法。具体做法如下:
假设你的Book2.xls中有一个HelloWorld的宏:
Sub HelloWorld(sName As String)
MsgBox "Hi, " + sName +"!"
End Sub
在VB中采用如下代码就可以调用Excel的宏。
Dim appExcel As Object
Set appExcel = CreateObject("Excel.Application")
appExcel.Visible = True
appExcel.Workbooks.Open "G:\My Documents\book2.xls"
appExcel.Run "HelloWorld", "zhixiong lin"
cgz 2003-11-05
  • 打赏
  • 举报
回复
顶一下
flc 2003-11-05
  • 打赏
  • 举报
回复
关注
学习
cgz 2003-11-05
  • 打赏
  • 举报
回复
这是设计书上定的,俺也没办法呀
JustinHu16 2003-11-05
  • 打赏
  • 举报
回复
references Excel , 我也建议你直接写入文件
射天狼 2003-11-05
  • 打赏
  • 举报
回复
你的宏是写到EXCEL文件里了吧,直接用VB执行宏就行了,还写到文件里干什么~~
EXCEL里的宏受系统的限制,或者防毒软件的限制.

7,771

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧