當在32位辦公室Win 7 64位上運行32位VB應用程序時,一切工作正常。當使用64位Office(特別是Word)運行時,大多數代碼工作正常,但Word.selection類的.Paste方法因'此命令不可用'而失敗。用戶可以在該點使用ctrl-V粘貼內容。如何將VB代碼更改爲支持32位和64位Word?32 VB應用自動化與32位MS辦公室
oWorkDoc = oWord.Documents.Open(filename, , True, False)
oWord.Selection.Copy()
cell.Select() <--- refers to cell in table in another document
Try
oWord.Selection.Paste() <--- failing statement
Catch ex As Exception
oWord.Visible = True
MsgBox(ex.Message)
End Try
更新:用戶不使用Office 64位。他正在使用32位。所以這個神祕變得更加濃厚了。此外,代碼序列在應用程序的其他部分中使用,並且工作正常。此外,Try/Catch塊已被更改爲忽略該異常併發生粘貼操作。
這是不太可能,這有什麼關係位數。錯誤只是告訴你Copy()沒有在剪貼板上放置任何東西。看起來相當準確,沒有明顯的代碼選擇任何東西。 –