以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]webbrowser中操作EXCEL  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=104827)

--  作者:sh16
--  发布时间:2017/8/6 9:40:00
--  [求助]webbrowser中操作EXCEL
想请教下,狐表中操作EXCEL,webbrowser打开文件的时候,如何用代码启用EXCEL中的宏,或则可否在窗口中加个按钮,能执行EXCEL中的宏?


[此贴子已经被作者于2017/8/6 9:41:47编辑过]

--  作者:有点甜
--  发布时间:2017/8/6 11:05:00
--  

1、

 

下载信息  [文件大小:21.9 KB  下载次数:26]
图片点击可在新窗口打开查看点击浏览该文件:webbrowser操作excel.rar

 

2、调用宏,参考代码

 

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("C:\\Users\\user\\Desktop\\工作簿2.xlsm")
app.Visible = True
app.run ("ab",5,5)

\'App.run("函数名", 参数1, 参数2)


--  作者:sh16
--  发布时间:2017/8/6 12:33:00
--  
我问的不是这个,这样会重新打开文件。我想要在webbrowser中打开文件的时候启用宏。或则在窗口中放个按钮可以调用EXCEL的宏。
--  作者:有点甜
--  发布时间:2017/8/6 12:49:00
--  
认认真真看2楼的实例,可以获取webbrowser的app、book、sheet等内容的。获取到app后,run即可。
--  作者:sh16
--  发布时间:2017/8/6 12:55:00
--  
不行啊。提示无法运行“test”宏。可能是因为该宏在此工作簿中不可用,或者所有的宏都被禁用。

Dim oDocument As object = axWebBrowser.Gettype().InvokeMember("Document", System.Reflection.BindingFlags.GetProperty, Nothing, axWebBrowser, Nothing)
Dim oApplication As object = axWebBrowser.Gettype().InvokeMember("Application", System.Reflection.BindingFlags.GetProperty, Nothing, oDocument, Nothing)
oApplication.run("test")

--  作者:有点甜
--  发布时间:2017/8/6 12:57:00
--  
 实例发上来测试。
--  作者:sh16
--  发布时间:2017/8/6 13:01:00
--  
就是您给我的那个附件啊。EXCEL中随便建一个“test”的宏。我的好像无法上传附件啊
[此贴子已经被作者于2017/8/6 13:06:57编辑过]

--  作者:有点甜
--  发布时间:2017/8/6 13:05:00
--  
无语,测试没问题。
--  作者:sh16
--  发布时间:2017/8/6 13:08:00
--  
您试下我这个附件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:webbrowser操作excel (1).rar


--  作者:有点甜
--  发布时间:2017/8/6 13:12:00
--  
没问题。