excelからVBAでWORDを起動させ、エクセルデータをWORDの宛て名ファイルに差込み、印刷プレビューまでさせています。
EXCELでは、印刷プレビューの次の行のコマンドはプレビューを閉じないと実行されませんが、WORDでは実行されてしまいます。
今やりたいのは、WORDの宛名ファイルを印刷したあと、WORD自体は保存しないで終了し、EXCELだけ起動した状態にするということです。
  
ActiveDocument.PrintPreview
ActiveDocument.Close = False

と記述しただけでは、印刷できないまま、WORDが終了してしまいます。
何かよい方法があるでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

Dim i As Integer


For i = 1 To 2
If i= 1 Then
ActiveDocument.PrintPreview
i=InputBox("印刷する場合は1をしない場合は2を入力","確認")
Else
ActiveDocument.PrintOut
End if
Next i

確認していないので動かないかもしれません。
駄目だったら、プレビューのマクロと印刷のマクロの2パターンを書くしかないかもしれません。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

IF文を使った分岐を参考にさせていただき解決しました。

ActiveDocument.PrintPreview の後にINPUTBOXだとプレビュー表示後、「2ページ目だけ印刷したい」のような細かい設定ができないため、フォームをShowModal=:falseで介在させることで課題をクリアすることができました。
ありがとうございます。

お礼日時:2001/12/10 12:57

印刷したいならば


PrintPreview
ではなく
PrintOut
を使用すれば良いのではないでしょうか

この回答への補足

回答ありがとうございます。
印刷するまえに内容を確認したいので、あえてPrintPreview
にしています。

印刷しないという選択肢もあるので。

ということで引き続きよろしくお願いいたします。

補足日時:2001/11/28 16:54
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QWordの差込印刷で2000ではExcelの表を編集できたが2003ではできない

Wordの差込印刷で2000ではExcelの表を編集できたが2003ではできなくなっていました。

これは設定を変更すれば編集できるようになるのでしょうか?
お願いします。

Aベストアンサー

こんばんは。

結論からすると、今の選択した差し込み印刷では、Excelの表を、Wordからクリックして編集は出来ません。Word 2002 から変更されたのです。

理由なのですが、Word 2000 は、差し込み印刷で、データと連結されるのは、DDEなのですが、Word 2003 では、標準でOLE になってしまうので、編集できなくなるわけです。もちろん、Word 2003 でも、差し込み印刷で、DDE の選択が出来ますが、もうつながってしまっているものをやり直しするのは面倒でしょうから、諦めて、直接、Excelから開くほうがよいと思います。

QWORD2003です。プレビュー画面では表示されいてるのに、一部印刷で

WORD2003です。プレビュー画面では表示されいてるのに、一部印刷できない箇所(テキストボックスや吹き出しの「一部」。同ページの他のテキストボックスは印刷されます)があります。どのようにしたら、全て印刷できるでしょうか?よろしくお願いします。

Aベストアンサー

文書が破損しているかもしれませんね。

下記情報に色々書かれていますが、リッチテキスト形式(*RTF)で保存して、再度それを開いてから印刷してみるか、または新規文書を開いておき、問題の文書の最後の段落記号だけ除いて、すべてをコピー、貼付けし直して印刷を行ってみてはどうでしょうか。

Word 文書が破損している場合のトラブルシューティング方法
http://support.microsoft.com/kb/826864/ja
 

QWord、プレビューではそろってるのに、印刷するとずれる?

Wordで文書をつくっていて、どうしてかわからないことがあります。
教えてください。

たとえば、

「業務内容   旅行の計画
        貯金の計画
        ダイエットの計画」

という文章をつくった時、「旅行」「貯金」「ダイエット」の頭がプレビューではきれいにそろっていても、微妙に印刷するとずれてくるのです。
インデントをつかっても、スペースであけても一緒。
これはなぜでしょう。不思議なことにプリンターを別のプリンターで打ち出すときれいにそろいましたが、こういうこともあるのでしょうか?   

Aベストアンサー

プレビューで揃っていて、 別のプリンタでも揃うということは、wordの設定の問題ではないと思います。
ずれてしまうというプリンタのドライバ等が原因である可能性が非常に高いです。

・プリンタドライバの入れ直し
・最新のプリンタドライバが出ていれば入手してインストール
・メーカーへ問い合わせ

以上を試してみてはいかがでしょうか?

Q(実行時エラー5852)ExcelデータをWordに差し込んだ後、Wordファイルを分割するマクロ

同じような質問を多数みかけるのですが、回答を見ても解決できなかったので質問させてください。

ExcelデータをWordに差し込んで帳票を作りました。
印刷は一括で行えば良いのですが、個別にメール添付して送る必要があるため、差し込んだWordをそれぞれ個別に分割する作業をマクロで行いたいと思っています。

マクロはWEB上に出回っているものとほぼ同じで、他のファイルで全く同じ作業をしていたので、現在使用しているほかのWordファイル(正常に動いているもの)からコピーして利用することにしました。

1、差込を設定したWordに他のファイルからマクロをコピーして実行すると実行時エラー5852が出る
2、問題なく動くマクロがあるWordファイルをコピーし、内容を今回使用する帳票に書き換えて実行した場合は、エラーも出ずに問題なく作業が行える。※しかし既に帳票を整えてしまったため、できれば1の方法で行いたいです


実際に使用しているマクロコードとエラーは次のとおりです。
【コピー&貼り付けで使用しているマクロ】
Sub XXXX依頼シート()
Dim i As Long, LRec As Long
With ThisDocument.MailMerge
.DataSource.ActiveRecord = wdLastRecord
LRec = .DataSource.ActiveRecord
For i = 1 To LRec
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
.DataSource.FirstRecord = i
.DataSource.LastRecord = i
.DataSource.ActiveRecord = i
.Execute Pause:=True
ActiveDocument.SaveAs ThisDocument.Path & "\" & _
.DataSource.DataFields(20).Value & ".doc", wdFormatDocument
'ファイル名に使うフィールド(例では14番目)
ActiveDocument.Close
Next i
End With
End Sub
----------------------------------------------------------------
Private Sub Document_New()

End Sub

【エラー】
実行時エラー '5852'
指定したオブジェクトが見つかりません。
※デバッグをすると、4行目の「.DataSource.ActiveRecord = wdLastRecord」が黄色くなります



オブジェクトの指定がうまく行っていないのかな?とも思っているのですが、マクロも何も、難しいことはさっぱりわからず...わらをもつかむ思いで、質問させていただきました。
よろしくお願いいたします。

同じような質問を多数みかけるのですが、回答を見ても解決できなかったので質問させてください。

ExcelデータをWordに差し込んで帳票を作りました。
印刷は一括で行えば良いのですが、個別にメール添付して送る必要があるため、差し込んだWordをそれぞれ個別に分割する作業をマクロで行いたいと思っています。

マクロはWEB上に出回っているものとほぼ同じで、他のファイルで全く同じ作業をしていたので、現在使用しているほかのWordファイル(正常に動いているもの)からコピーして利用することにしました...続きを読む

Aベストアンサー

No.1の回答者です。
私もマクロについては初心者を少し卒業した程度の知識しかないので、
何が問題なのか知らずに使ったりしている場合もあります。

今回のマクロについても、何が問題なのかを理解しないままNo.3の回答をしているので、追加のアドバイスができないと書きましたが、補足やお礼にある内容を読んで、私なりに少し理解した部分がありました。
No.3の回答内容も、モジュールの使い方を理解していなかったために、
マクロの記載先(保存先)を間違えていました。

今回の場合、マクロを実行している差し込み用文書の文書名にVBEにて、
記載先がProject(文書名)における標準モジュールとしてのModule1などに記載しないと、「Active~~」などのコマンドが実行してするときに
アクティブになっている文書が違ってしまうことがあるということで、
エラーになるようです。

例えば文書名の標準モジュール以外に記載した場合に、ActiveRecordや
ActiveDocumentなどのコマンドの参照しているアクティブとなる文書が
マクロを記載している文書ではなく、別のものを参照してしまうことが
あり、そのためにエラーになるらしいです。
マクロの記載先が標準テンプレート(Normal)にした場合や、文書名の
ThisDocumentモジュールに記載した場合には、コマンドを実行していく
段階でActiveRecordがNormalなどのテンプレートだと、差し込みデータ
を持っている文書とは違うものなのでエラーになったり、私が間違えた
ThisDocumentモジュールに記載すると、ActiveDocumentがマクロを実行
している文書ではなく別に開いてしまう新規文書がアクティブな文書に
なるので、データーソースのフィールド名の参照ができなくなるので、
エラーになるようです。

「Active~~」などのコマンドをマクロとして記載する場合、マクロの
記載先を注意しないと、アクティブとなるオブジェクトが変わってきて
エラーとなるようです。

No.3の回答は、記載先がThisDocumentだったためにアクティブ文書で、
「4198:コマンドは正常終了できませんでした」というエラーが発生し
マクロを実行している文書と違う保存先であるActiveDocument.SaveAs
のコマンドが動いてしまい、同じエラーが私の環境でも起きてしまい、
前の回答内容となってしまいました。
これを
ThisDocument.SaveAs ThisDocument.Path & "\" & _
.DataSource.DataFields(10).Value & ".doc", wdFormatDocument
のように書けば、記載先の問題は起きずエラーも出ないのですが、別の
問題である[保存]ダイアログが表示されるようになるので、使い勝手が
悪くなります。

*************************************************

> NormalとProjectの2つが
Normalは、Word全体で使われる汎用テンプレートの名前であり、文書を
開いている場合は、常に参照されるテンプレートになります。

ここにマクロを記載すると、すべての文書で使えるようになるために、
コマンドの書き方を誤ると、開いているすべての文書に影響する場合が
あります。
また、アドインとして別のテンプレートを参照した場合には、Normalと
違ったTenplatePrject(テンプレート名)でも表示されます。

単純にProject(ファイル名)であれば、その文書に直接マクロを保存する
ものであり、他のファイルに影響を与えることはありません。
このProjectにもThisDocumentのモジュールと、挿入した標準モジュール
としてのモジュール名と、参照先Normalのように関連するテンプレート
の名前が付いたものがあると思います。
それぞれが違ったオブジェクトとして利用するようですが、現時点での
私は違いをはっきりと理解していません。ボヤっとした感じでの理解は
しているつもりですが、利用するときでの注意点などは知っているとは
言えないようです。

マクロの保存先としてテンプレートと文書があり、それぞれ違った対象
として利用するものですね。

http://www.hi-ho.ne.jp/tomita/tips/tips_wd_000.html
http://www5d.biglobe.ne.jp/Jusl/BunsyoWordUp/WordUp12.html
*************************************************

フィールドの個数と、そのフィールドを指定する場合のエラーが起きる
違いは検証していませんので分かりません。おそらく、フィールドの数
によるエラーが起きることはないと思いますよ。

No.1の回答者です。
私もマクロについては初心者を少し卒業した程度の知識しかないので、
何が問題なのか知らずに使ったりしている場合もあります。

今回のマクロについても、何が問題なのかを理解しないままNo.3の回答をしているので、追加のアドバイスができないと書きましたが、補足やお礼にある内容を読んで、私なりに少し理解した部分がありました。
No.3の回答内容も、モジュールの使い方を理解していなかったために、
マクロの記載先(保存先)を間違えていました。

今回の場合、マクロを実行している差...続きを読む

Qword2002の印刷プレビュー

はがき文面印刷ウィザードで年賀状を作成しました。

試し刷りをしようと思いプレビューを見たのですが、
プレビューでは白紙になってしまいます。
そのまま印刷をしようとしても、印刷画面は表示されるものの、プリンターは全く動きません。

どうしたらよいのでしょうか。

Aベストアンサー

「ツール」「オプション」「印刷」タブで
「同時に印刷する項目」の「オブジェクト」にチェックしてください。

はがき文面印刷ウィザードで作成されるのはオートシェープとテキスト文書のため
上記にチェックがないと印刷されません。


人気Q&Aランキング

おすすめ情報