プロが教えるわが家の防犯対策術!

wordのマクロの解析ができません。

どなたかお願いします。
できれば、行ごとの意味教えて欲しいのですが

Application.Dialogs(wdDialogMailMergeOpenDataSource).Show
With ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=True
End With

よろしくお願いします。

A 回答 (2件)

1.Application.Dialogs(wdDialogMailMergeOpenDataSource).Show


「ワードの組み込みダイアログ(Application.Dialogs)”データファイルの選択ダイアログ”(wdDialogMailMergeOpenDataSource)を開け(.Show)」です。
wdDialogMailMergeOpenDataSourceの部分が、ダイアログの種類なので、ここを変更すれば、
ファイルを開く(wdDialogFileOpen)
印刷する(wdDialogFilePrint)
などのダイアログを表示できます。

2.With ActiveDocument.MailMerge
With ○○
  ・
  ・
  ・
End With
このWith~End Withの間は、○○っていうオブジェクト名を省略できますよ~ってことです。
With ActiveDocument.MailMergeがないと、それ以下のコードが、

ActiveDocument.MailMerge.Destination = wdSendToNewDocument
ActiveDocument.MailMerge.SuppressBlankLines = True
With .DataSource
ActiveDocument.MailMerge.DataSource.FirstRecord = wdDefaultFirstRecord
ActiveDocument.MailMerge.DataSource.LastRecord = wdDefaultLastRecord
End With
ActiveDocument.MailMerge.Execute Pause:=True

っていうふうに、おんなじコードを何回も書かなくてはなんないので、省略する為に使います。

3..Destination = wdSendToNewDocument
は、差し込み文書の送り先の設定をしています。wdSendToNewDocument(新いい文書)になっているので、
「差し込み先は、新しい文書」に設定してます。

4..SuppressBlankLines = True
SuppressBlankLinesは、空白の差込フィールドの印刷をするかどうかの設定なので、
Trueを設定しているので、「空白の差込フィールドは印刷しない」になります。

5.With .DataSource
上記With同様です。
ここから次のEnd Withまでは、ActiveDocument.MailMerge.DataSourceが省略されてます。

6..FirstRecord = wdDefaultFirstRecord
差し込むデータの最初のレコード番号を設定しています。
wdDefaultFirstRecordなので、最初のレコードになります。(たぶん^^;ここはちょっと自信ないです^^;)

7..LastRecord = wdDefaultLastRecord
差し込むデータの最後のレコード番号を設定しています。
wdDefaultLastRecordなので、最後のレコードになります。(たぶん^^;ここはちょっと自信ないです^^;)
6.7で、おそらく、差込データは最初から最後までに設定しているのだと思います。

8.End With
上記5.の終了部分です。これ以降は、ActiveDocument.MailMergeまでしか省略されていません。

9..Execute Pause:=True
Executeで、「実行」の意味なので、「差込印刷の実行」になります。
ただし、Pause:=Trueがあるので、差し込み印刷時にエラーが発生した場合に、Word が一時停止し、トラブルシューティングのダイアログ ボックスが表示されます。

10.End With
2.のEnd Withです。
これ以降は、省略されているオブジェクト名はありません。

長くなってしまって、わかりづらかったかもしれませんが、ご参考まで。
    • good
    • 0

下記のサイトを出し、プロパティやメソッドや関連の語句をいろいろ辿っていくと、すべて解説が出てきます。


http://www.microsoft.com/japan/developer/library …
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています