32ビットオフィスでWin 7 64ビットで32ビットVBアプリケーションを実行すると、すべて正常に動作します。 64ビットOffice(特にWord)で実行すると、ほとんどのコードが正常に動作しますが、Word.selectionクラスの.Pasteメソッドが失敗し、 'This command is not available'と表示されます。ユーザーはその時点でctrl-Vを使用して内容を貼り付けることができます。 32ビットと64ビットの両方のWordをサポートするためにVBコードをどのように変更できますか?32ビットMSオフィスで自動化するVBアプリケーション
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ブロックが例外を無視するように変更され、ペーストアクションが発生しています。
bit化を行うには何を持っていることはほとんどありません。エラーは、単にCopy()がクリップボードに何も置かなかったことを伝えます。かなり正確に見えますが、何かを選択した明白なコードはありません。 –