關(guān)于用VBA打開word文件的問(wèn)題
━━━━━━━━━━━━━━━━━━━━━━━━━
我用代碼來(lái)打開word文件,
Sub ADO_SQL
()
Dim wdApp
As Object
Set wdApp
= CreateObject("
word.application"
)
wdApp.Documents.
Open ("
D:\EXCEL講座\EXCEL資料庫(kù)\ADO + SQL.doc"
)
wdApp.Visible
= True
End Sub
這樣調(diào)用打開word文件是沒(méi)有問(wèn)題的,但是如果同時(shí)同時(shí)打開了兩個(gè)或兩個(gè)以上的word文件,在關(guān)閉他們的時(shí)候就會(huì)報(bào)錯(cuò),如下,
━━━━━━━━━━━━━━━━━━━━━━━━━
使用兩個(gè)Word程序進(jìn)程之間共享模板會(huì)引起沖突。你可以使用下面的方法先獲取當(dāng)前Word程序進(jìn)程,如果沒(méi)有打開Word程序,則創(chuàng)建新的Word程序。
你買的那本VBA精粹中也有這樣的例子的。Set wdApp
= GetObject(, "
word.application"
)這一句是獲取當(dāng)前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資料庫(kù)\ADO + SQL.doc"
)
Set wdApp
= Nothing
End Sub
━━━━━━━━━━━━━━━━━━━━━━━━━
我用
Shell "
WINWORD.EXE "
& ThisWorkbook.Path
& "
\XXX.doc"
這樣也行,不過(guò)不知道會(huì)不會(huì)有什麼缺點(diǎn)?
━━━━━━━━━━━━━━━━━━━━━━━━━
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。