关于VBA打开word文件的问题
(2017-05-04 23:26:56)
标签:
vba |
分类: ◆VBA |
关于VBA打开word文件的问题
━━━━━━━━━━━━━━━━━━━━━━━━━
我用代码来打开word文件,
Sub ADO_SQL()
Dim wdApp As Object
Set wdApp = CreateObject("word.application")
wdApp.Documents.Open ("D:\EXCEL讲座\EXCEL资料库\ADO + SQL.doc ")
wdApp.Visible = True
EndSub
这样调用打开word文件是没有问题的,但是如果同时同时打开了两个或两个以上的word文件,在关闭他们的时候就会报错,如下,
━━━━━━━━━━━━━━━━━━━━━━━━━
使用两个Word程序进程之间共享模板会引起冲突。你可以使用下面的方法先获取当前Word程序进程,如果没有打开Word程序,则创建新的Word程序。
你买的那本VBA精粹中也有这样的例子的。SetwdApp = GetObject(, "word.application")这一句是获取当前Word程序的。
Sub ADO_SQL()
Dim wdApp As Object
Set wdApp = GetObject(, "word.application")
If wdApp Is Nothing Then
Set wdApp = CreateObject("word.application")
wdApp.Visible = True
End If
wdApp.Documents.Open ("D:\EXCEL讲座\EXCEL资料库\ADO + SQL.doc ")
Set wdApp = Nothing
EndSub
━━━━━━━━━━━━━━━━━━━━━━━━━
我用
Shell "WINWORD.EXE " & ThisWorkbook.Path & "\XXX.doc"
這樣也行,不過不知道會不會有什麼缺點?
━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━
我用代码来打开word文件,
Sub
End
━━━━━━━━━━━━━━━━━━━━━━━━━
使用两个Word程序进程之间共享模板会引起冲突。你可以使用下面的方法先获取当前Word程序进程,如果没有打开Word程序,则创建新的Word程序。
你买的那本VBA精粹中也有这样的例子的。Set
Sub
End
我用
Shell
這樣也行,不過不知道會不會有什麼缺點?
━━━━━━━━━━━━━━━━━━━━━━━━━