• 締切済み

wordVBA 差込ドキュメントでの マクロ

MS-WordのVBAを使用して、ドキュメントの作成をしています。 テンプレートとなるファイルがあり、データソースからの差込をしています。 そのファイルにはマクロが設定してあります。 Close時に実行されるよう、AutoCloseという名のマクロです。 差込後、新規ドキュメントとして作成→保存したものでも AutoCloseが有効になるようにしたいのですが、うまくいきません。 ご存知のかたがいらっしゃいましたら、お知恵をお貸しください。 よろしくお願いします。 環境:OfficeXP SP2 / Word2002

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.3

Word2003だとおっしゃるような現象を再現出来ないみたいです レコードを流し込んで新規に保存した文書のプロパティの概要のテンプレートはもともと作成したテンプレートになっているのでしょうか ここがNomal.dotになってしまっているのでしょう 新規保存もマクロで指示しているのですか 支障の無い範囲でその部分のマクロを投稿してみませんか

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

テンプレートへのデータの流し込みをする際に差し込み印刷のウィザードを使っているわけでは無いですよね ウィザードを使ってしまうと別文書を新規作成してしまうのでその際にテンプレートにあるマクロが外れてしまいます 再現手順を投稿していただけますか

kageko
質問者

補足

ウィザードは使っていないです。 手順 1) AutoClose入りのテンプレートを開く。   文章のひな形とマクロが入っています 2) テータソースを指定する。(たとえばエクセルの住所録) 3) 文書中に流し込むフィールドを文章の中に入れる。   <<名前>>さんというようになり、差し込んだデータを見ると住所録のデータが見える。 ここまでだと、あとから開いたときに、データソースがないと見えないので、新規文書として保存したいのです。 データソースの中の何レコード目を保存するか指定すると、新規ドキュメントが作成されます。 この新規ドキュメントでAutoCloseが実行されてほしいです。 つたない説明ですが、よろしくお願いします。

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

テンプレート(dot)形式で保存してあるのでしょうか? Word2003では dot形式で保存したファイルをテンプレートから呼び出した際には標準モジュールに作成したAutoCloseが呼び出されましたが ・・・

kageko
質問者

補足

ありがとうございます。 もとのテンプレートはdot形式で保存しています。 テンプレート自体を閉じるときにはAutoCloseは動作します。 差し込み機能を使わずに、テンプレートから新規ドキュメントを作るだけの場合も、 AutoCloseは動いています。 テンプレートにデータソースから情報を差し込み、 新規ドキュメントとして保存すると そのドキュメントからはAutoCloseが発動しないのです。 新規ドキュメントとして保存するのは、 データソースにアクセスした結果を保存するためです。 (値のみの保存といった感じでしょうか。)

関連するQ&A