Word (VBA)

Word VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Word 2013)
差し込み印刷用のcsvファイルの読み込みについて
投稿日時: 19/06/30 21:26:05
投稿者: hahahaaki

Wordで差し込みを行っています
ファイルが保存してあるフォルダに読み込むcsvファイルを保存しているところです
 
csvファイルは名前が変更されるので読み込みを都度行う必要があるのですが、
ソースの場所がデフォルトで開くので、保存してあるフォルダを開くようにしたいのですが
いろいろと調べているのですが、不明なのですがご指導いただけませんか
 
保存先のフォルダ名もcsvにあわせて変更しているのです
 ActiveDocument.MailMerge.OpenDataSource Name:=
の後、フォルダとcsvのファイル名を記載すれば良いのでしょうが、上記のとおりなので
フォルダを取得する方法がわからないのです
 
丸投げする気は全くないので、ヒントだけでもご教授いただければ幸いです。

回答
投稿日時: 19/07/01 11:10:19
投稿者: sk

引用:
ファイルが保存してあるフォルダに読み込むcsvファイルを保存しているところです

ここでいう「ファイル」とは具体的に何を指しているのでしょうか。
 
・差込印刷のメイン文書となる Word ドキュメント
 
・それ以外の何かのファイル
 
引用:
csvファイルは名前が変更されるので読み込みを都度行う必要がある

引用:
保存先のフォルダ名もcsvにあわせて変更しているのです

引用:
ソースの場所がデフォルトで開くので、保存してあるフォルダを開くようにしたい

どこにあるかも分からない、何という名前なのかも分からない
フォルダ/ファイルを自動的に参照することは無理です。
 
例えば「メイン文書を開いた時にファイルダイアログを表示し、
選択した任意の csv ファイルをデータソースとして設定したい」
といった手順(つまり手動設定)を想定されているのであれば、
話としては分からなくもないですが。
 
引用:
ActiveDocument.MailMerge.OpenDataSource

このコードはどのファイルのモジュールに記述されているのでしょうか。

投稿日時: 19/07/01 12:56:17
投稿者: hahahaaki

sk 様
 
 説明不足でした。
 やりたいのは、手動でフォルダとファイルを選択したいのです。
 選択するときに、デフォルトで保存してあるWORDファイルとcsvファイル(同一のフォルダを想定)
が開けばと思っているところです。
 ダイアログをMyDataSourceを 例えば d:\差込印刷ファイルにあるcsvファイルの拡張子のものだけ表示
にしたいのです。
 すみません。これでわかりますでしょうか
 
 手動なので、運用で可能なのですが、都度フォルダを参照する手間がが面倒だったので

回答
投稿日時: 19/07/01 15:45:16
投稿者: Suzu

こんにちは。
 
【もうひとつの[ファイルを開く]ダイアログボックス(FileDialogオブジェクト)】
https://www.moug.net/tech/exvba/0060085.html
 
記事は、Excel のモノですが、Wordでも一緒です。
 
 
あとは、その ドキュメントのパスは
 
ActiveDocument.Path で取得できます。
 
そのパスを、
 .InitialFileName に 渡せば 良いです。
   (フォルダ名にパスの最後に「\」をつけるのを忘れずに)

投稿日時: 19/07/01 22:32:37
投稿者: hahahaaki

Suzu様
 ありがとうございます
  ご指導頂いたもので頑張ってみます