Microsoft Access 掲示板

AccessのクエリデータをExcelのテンプレートに挿入したい / 2

5 コメント
views
4 フォロー
2
bunta 2021/03/11 (木) 10:21:16 3e392@fa49d

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

Sub test()
  ExcelTemplateSample "qsel特別会員", "特別会員"
  ExcelTemplateSample "qsel通常会員", "通常会員"
  ExcelTemplateSample "qselビジター", "ビジター"
End Sub

こちらですが、特別会員、通常会員、ビジターの3つのクエリを作成するということでしょうか?

また、質問で提示したURL先のコードですが実行するとエラーが出てしまいました。

'テンプレートの保存先フォルダ
  Const cstrTemplateDir As String = "C:\テスト\"
  'テンプレートのファイル名
  Const cstrTemplateBook As String = "受注伝票テンプレート.xlsx"
  'データが代入されたファイルの保存先フォルダ
  Const cstrSaveBookDir As String = "C:\テスト\"

ここで指定したファイルパスが間違っていると出ます。
実行時エラーは1004です。
しかし、確かにここに格納されていますし、Shift+右クリックでパスのコピーをしてそのまま貼り付けています。
そしてデバッグを押すと、

'テンプレートファイルを開く
    .Workbooks.Open cstrTemplateDir & cstrTemplateBook

ここが黄色くなります。

原因が分からず困っています・・・
もしこの原因がわかるようでしたら教えて頂けるとありがたいです。

重ねての質問になり申し訳ありません。

元の質問にも追記しました。

通報 ...
  • 3
    hiroton 2021/03/11 (木) 11:04:12 26d02@f966d >> 2

    こちらですが、特別会員、通常会員、ビジターの3つのクエリを作成するということでしょうか?

    考え方として、3つファイルを出力したいのなら3回出力処理をすればいいですよ。という内容ですね(質問がざっくりだったので)

    「種別」が決め打ちできる程度なら決め打ちで作成してもいいですし、出力内容を自動認識させたいならそれはそれでやり方もあります。参考コードだけでやり取りするのは齟齬の元なのでまずは1ファイルでもいいので出力できるコードができてからですね


    エラーが出ている部分は特別な処理をしていないよくあるEXCELファイルを開くだけなので原因はよくわかりません

    .Workbooks.Open "C:\テスト\受注伝票テンプレート.xlsx"
    

    のように直接記述すると動作しますか?

    Debug.Print cstrTemplateDir & cstrTemplateBook
    .Workbooks.Open cstrTemplateDir & cstrTemplateBook
    

    として、エラーが出る直前でcstrTemplateDir & cstrTemplateBookの内容を確認すると実際に存在するファイルパスになっていますか?