OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

Word2000の差込印刷を繰り返し行う方法について

  • すぐに回答を!
  • 質問No.170978
  • 閲覧数889
  • ありがとう数1
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 38% (8/21)

VB6で計算したデータをAccess2000に入れ、そのデータをWord2000の差込印刷機能を利用して出力したいのですが、1回目は上手くいくのですが続けて2回目を実行すると実行時エラー’462’【リモートサーバーがないか、使用できる状態ではありません。】と表示されます。
With ActiveDocument.MailMerge '差込印刷の行でエラーが表示されます。
コードの抜粋は以下の通りです。

---ここまででデータを書き込みます。---
Set wdApp = New Word.Application
Set wdDoc = wdApp.Documents

wdDoc.Open FileName~---ここでWordファイルを開きます。---

With ActiveDocument.MailMerge '差込印刷
.Destination = wdSendToNewDocument
.MailAsAttachment = False
.MailAddressFieldName = ""
.MailSubject = ""
.SuppressBlankLines = False
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=True
End With

Windows(wdfile).Activate
ActiveWindow.Close

~SaveAs FileName~'番号を付けて保存を行います。
wdDoc.Close 'Wordを終了させます。
wdApp.Quit
Set wdApp = Nothing
Set wdDoc = Nothing
長々と書いて申し訳ございませんが、よろしくお願いいたします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.3
レベル12

ベストアンサー率 65% (276/422)

もう一度、全部を書き直します。

もしこれでも失敗したら,
wdApp/wdDoc変数の宣言を見せてください。

Public Sub test()
  Dim wdApp  As Word.Application 'アプリケーション変数
  Dim wdDoc  As Word.Document  'ドキュメント変数
  
  Dim strFilePath1  As String  '読み込むドキュメントファイルのフルパス
  Dim strFilePath2  As String  '保存するドキュメントファイルのフルパス
  
  Dim wdfile As String      'ドキュメント名

  
'----- 注意 -----
'ファイル名をプログラムの途中で作成するより、プログラム変数/定数などに最初にセットしてあると、デバッグしやすいです
  '開くドキュメントフルパスを取得
  'strFilePath1 = Combo2.Text & Text8.Text & wdfile
  '保存するドキュメントフルパスを取得
  'strFilePath2 = Combo2.Text & Text9.Text & "\" & Text1.Text & ".DOC"
  strFilePath1 = "c:\test.doc"    'テスト用のドキュメントファイル1(開く用)
  strFilePath2 = "c:\test2.doc"    'テスト用のドキュメントファイル2(保存用)
  
  'デバッグ用(実践では削除してください)
  If vbCancel = MsgBox( _
      "ドキュメントファイル1:" & strFilePath1 & vbNewLine & _
      "ドキュメントファイル2:" & strFilePath2 & vbNewLine & _
      "処理をします。よろしいですか?" _
      , vbOKCancel Or vbQuestion, "ファイル1とファイル2の確認") Then
    Exit Sub
  End If
  
  
  'ワード起動
  Set wdApp = New Word.Application
  
  'ドキュメントを開く
  Set wdDoc = wdApp.Documents.Open( _
      FileName:=strFilePath1, _
      ConfirmConversions:=True, ReadOnly:=False, _
      AddToRecentFiles:=False, PasswordDocument:="", _
      PasswordTemplate:="", Revert:=False, _
      WritePasswordDocument:="", WritePasswordTemplate:="", _
      Format:=wdOpenFormatAuto)
  
  '差込印刷
  With wdDoc
    With .MailMerge
      .Destination = wdSendToNewDocument
      .MailAsAttachment = False
      .MailAddressFieldName = ""
      .MailSubject = ""
      .SuppressBlankLines = False
      With .DataSource
        .FirstRecord = wdDefaultFirstRecord
        .LastRecord = wdDefaultLastRecord
      End With
      .Execute Pause:=True
    End With
  End With
  
  '現在カレントのドキュメント(差し込まれたドキュメント)を保存
  wdApp.ActiveDocument.SaveAs _
      FileName:=strFilePath2, _
      FileFormat:=wdFormatDocument, LockComments:=False, _
      Password:="", AddToRecentFiles:=True, _
      WritePassword:="", ReadOnlyRecommended:=False, _
      EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, _
      SaveFormsData:=False, SaveAsAOCELetter:=False


  '全てのドキュメントを閉じる
  For Each wdDoc In wdApp.Documents
    wdDoc.Close SaveChanges:=False
  Next wdDoc
  
  'ワード終了
  wdApp.Quit
  
  '変数開放
  Set wdDoc = Nothing
  Set wdApp = Nothing
  
  MsgBox "終了"
End Sub
お礼コメント
tazataka

お礼率 38% (8/21)

ありがとうございました。
毎回、丁寧に教えていただいて申し訳ございません。
非常に助かりました。
投稿日時 - 2001-11-19 16:14:57
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル12

ベストアンサー率 65% (276/422)

全体的なプログラムを見てみないと、正確なことは言えないのですが・・・・ 差込印刷を行うと、ドキュメントを閉じるだけでは、完全にはドキュメントを開放されないようです。 なので・・・ >wdDoc.Close 'Wordを終了させます。 >wdApp.Quit としている部分を For Each wdDoc In wdApp.Documents   wdDoc.Save ...続きを読む
全体的なプログラムを見てみないと、正確なことは言えないのですが・・・・
差込印刷を行うと、ドキュメントを閉じるだけでは、完全にはドキュメントを開放されないようです。

なので・・・
>wdDoc.Close 'Wordを終了させます。
>wdApp.Quit
としている部分を
For Each wdDoc In wdApp.Documents
  wdDoc.Saved = True
  wdDoc.Close
Next wdDoc
wdApp.Quit
と変更してみて下さい。


  • 回答No.2
レベル12

ベストアンサー率 65% (276/422)

すいません... For Each wdDoc In wdApp.Documents wdDoc.Saved = True wdDoc.Close Next wdDoc なのですが、 Set wdDoc = wdApp.Documents としているところを見ると Word.Documents として宣言してるのですね。 たぶん現状ではエラーが起こるかも? ...続きを読む
すいません...

For Each wdDoc In wdApp.Documents
wdDoc.Saved = True
wdDoc.Close
Next wdDoc
なのですが、

Set wdDoc = wdApp.Documents
としているところを見ると
Word.Documents
として宣言してるのですね。

たぶん現状ではエラーが起こるかも?
なので、ドキュメンツではなくドキュメント変数を1つ用意してください。
Dim wdDoc2 As Word.Documents ← NG
Dim wdDoc2 As Word.Document ← OK

それで
For Each wdDoc2 In wdApp.Documents
wdDoc2.Saved = True
wdDoc2.Close
Next wdDoc
としてください。
補足コメント
tazataka

お礼率 38% (8/21)

いつもすいません。上手く行きませんでした。
省略したファイルを開く場合と保存する場合ですが下に書いてある文で行っております。

【ファイルを開く】
Set wdApp = New Word.Application
Set wdDoc = wdApp.Documents

wdDoc.Open FileName:=Combo2.Text & Text8.Text & wdfile, ConfirmConversions:=True, ReadOnly:= _
False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:= _
"", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", _
Format:=wdOpenFormatAuto

【差込印刷】
Set wdApp = New Word.Application
  ↓
ActiveWindow.Close
 (前述した内容です。)

【ファイル保存】
ChangeFileOpenDirectory Combo2.Text & Text9.Text '番号を付けて保存
ActiveDocument.SaveAs FileName:=Text1.Text & ".DOC", FileFormat:=wdFormatDocument, _
LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _
:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
False

wdDoc.Close 'Wordを終了させます。 ---以下前述したとおりです。
よろしくお願いいたします。
投稿日時 - 2001-11-19 13:18:49
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ