前提・実現したいこと
VBAを使いExcelのB1~B4にある、会場、顧客名、ID、パスワードの情報を基に
テンプレートのWordをコピーし、中身の表に情報を入力していくようなコードを作成したいと考えております。(コードはExcelの方で書いています)
1回目は成功しても、2回目にエラー462が発生します。
一度、終了し該当ファイルを削除後に再実行すると成功します。
たて続けに実行するとエラーが発生するようです。
Microsoftのヘルプページを見てみると、「2 回目のコード実行時に Excel のオートメーションが失敗する」に該当するようで、解決方法「この問題を解決するには、適切なオブジェクト変数で修飾して、Excel のオブジェクト、メソッド、またはプロパティをそれぞれ呼び出すようにコードを変更します。」とありますがどうすれば分かりませんでした。
解決方法をご教示頂けますでしょうか。
発生している問題・エラーメッセージ
実行エラー 462 リモートサーバーがないか、使用できる状態ではありません。
該当のソースコード
VBA
1 2Sub make() 3 4Dim i As String 5Dim name As String 6Dim B1 As String 7Dim site As String 8Dim Ex As Excel.Application 9Set Ex = CreateObject("Excel.Application") 10 11B1 = Sheets("Input").Range("B1").Value ←大阪会場、東京会場の区別をしています。 12If B1 = "大阪" Then 13site = "大阪" 14Else 15site = "東京" 16End If 17 18i = Sheets("Input").Range("B2") 19 20Dim target As String 21target = "C:\Users\Desktop\セールのご案内(" & i & "様)(" & site & "会場).doc" 22 23If Dir(target) <> "" Then ←もし、同じ名前のWordがある場合は、メッセージを表示し終了 24MsgBox "既に作成されています。フォルダ内を確認してください。" 25GoTo byebye 26Else 27 28FileCopy "C:\Users\Desktop\テンプレート\セールのご案内(お客様名)(" & site & "会場).doc", "C:\Users\Desktop\セールのご案内(" & i & "様)(" & site & "会場).doc" 29 30Sheets("Input").Range("C1") = "C:\Users\Desktop\セールのご案内(" & i & "様)(" & site & "会場).doc" 31 32Dim Document As Word.Application 33Set Document = CreateObject("Word.Application") 34Document.Application.Visible = flse 35 36With Document.Documents.Open("C:\Users\Desktop\セールのご案内(" & i & "様)(" & site & "会場).doc") 37 38Set mytable1 = ActiveDocument.Tables(1) ←このあたりで、エラーが発生しているようです。 39mytable1.Cell(2, 2) = Sheets("Input").Range("B1").Value 40mytable1.Cell(3, 2) = Sheets("Input").Range("B2").Value 41mytable1.Cell(4, 2) = Sheets("Input").Range("B3").Value 42mytable1.Cell(5, 2) = Sheets("Input").Range("B4").Value 43 44End With 45 46Document.Quit savechanges = False 47 48MsgBox "「セールのご案内(" & i & "様)(" & site & "会場).doc」を作成しました。" 49 50End If 51 52byebye: 53Set mytable1 = Nothing 54Set mytable4 = Nothing 55Set objIE = Nothing 56Set Document = Nothing 57Set Ex = Nothing 58 59End Sub
補足情報(FW/ツールのバージョンなど)
ファイルパスや適当なものを一応書いているだけなので、気にしないでください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。