以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于MSword  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=123865)

--  作者:wcs
--  发布时间:2018/8/24 23:59:00
--  关于MSword
我正在写用FOXTABLE操作WORD文档进行域链接刷新的代码。

在测试时发现,只有用这样的代码,才能确定要操作的WORD文档(对象):
Dim app As New MSWord.Application
app
.Documents.Open("c:\\data\\blank.doc")
app
.Visible = True

在后面的代码中,用app,可以调用WORD的对象写代码。

但是如果在同一窗口的其他按键中,要再用这个app就不能调用WORD的对象写代码了,必须先重复上述的代码OPEN这个WORD文档,才能调用这时里面的对象。不能用像这样的代码调用对象:
Dim app As New MSWord.Application
app
.Documents("c:\\data\\blank.doc")

也不能用这样的代码:
Dim app As New MSWord.Application 
app.Documents("表3.xlsx").Activate

要调用WORD文档中的对象,必须要同一按键中先OPEN吗?有没有别的可用的方法?

--  作者:有点蓝
--  发布时间:2018/8/25 8:44:00
--  
吧app放到全局变量中

全局代码
public _app as MSWord.Application

其他按钮
_app = New MSWord.Application
app
.Documents.Open("c:\\data\\blank.doc")
app
.Visible = True

其他地方直接使用_app对象就可以了

--  作者:wcs
--  发布时间:2018/8/25 10:30:00
--  
好的谢谢!我试试!
--  作者:wcs
--  发布时间:2018/8/25 14:53:00
--  
已解决,谢谢!确实不错!
只是上述应为:
_app.Documents.Open("c:\\data\\blank.doc")
_app
.Visible = True