WordをExcelから自動化して、次のコードを使用しています。私が最初にコードを実行するとき、私はいつも問題なく実行することができます。しかし、2番目のインスタンスでは、私はいつもこのエラーを受け取ります。その後、Wordファイルを手動で閉じてコードを再実行する必要があります。最初はスムーズに実行され、もう一度エラーが表示されます。上記の私のノートに続きWordオートメーションエラー - サーバーマシンが存在しません
'On Error Resume Next
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
Application.DisplayAlerts = False
Dim intChoice As Integer
Dim strPath As String
Dim objWord As Object
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
Application.FileDialog(msoFileDialogOpen).AllowMultiSelect = False
intChoice = Application.FileDialog(msoFileDialogOpen).Show
If intChoice <> 0 Then
'get the path selected
strPath = Application.FileDialog(_
msoFileDialogOpen).SelectedItems(1)
'opens the document
Set objdoc = objWord.Documents.Open(strPath)
With Documents(objdoc) '''This is where error points to in yellow '''
Set myrange = ActiveDocument.Content
''' My execution code here
end with
objWord.ActiveDocument.SaveAs ThisWorkbook.Path & "\" &
ActiveSheet.Range("E3").Value & "_MVR"
'objWord.ActiveDocument.Close
objdoc.Close
objWord.Quit
Set objdoc = Nothing
Set objWord = Nothing
Application.DisplayAlerts = True
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
を。あなたは、If文の中でWordオブジェクト 'Set objWord = Nothing'を「解放しています」If intChoice <> 0 Then Then'です。しかし、Set objWord = CreateObject( "Word.Application")は、とにかく作成され、 'Set objWord = Nothing'を' If'の外に移動するだけで作成した新しい** Word **インスタンスを閉じます。 –
あなたが提案した変更を試しましたが、同じエラーが発生しました。 –