前提・実現したいこと
ExcelのテンプレートにAccessのデータを挿入するシステムを作成しています。
初心者のためネットを参考にしてコードの入力ができたのですがエラーが出てしまいます。
ちなみに参考にしたサイトはこちらです AccessからExcelのテンプレートシートを利用するプログラム例
エラーを回避するにはどうしたらよいでしょうか?
発生している問題・エラーメッセージ
実行時エラー1004「申し訳ありません。 C:\Users\name\Desktop\テンプレート,"C:\Users\name\Desktop\テンプレート\テンプレシート.xlsx" が見つかりません。名前が変更されたか、異動や削除が行われた可能性があります」
と表示されます。
該当のソースコード
デバッグすると下記が黄色になります
'テンプレートファイルを開く .Workbooks.Open cstrTemplateDir & cstrTemplateBook
試したこと
ファイルを別の場所に移動したり、名前を変更してみたりしましたが改善されません。
ファイルパスはshift + 右クリックでパスのコピーからそのまま貼り付けているためパスが間違っているわけではないと思います。
補足情報(FW/ツールのバージョンなど)
コードのすべてを記載致します。(パス名などは変更しています)
Public Sub ExcelTemplateSample() Dim dbs As Database Dim rst As Recordset Dim xls As Object Dim intRow As Integer Dim lngOrderID As Long Dim strSaveBookPath As String 'テンプレートの保存先フォルダ Const cstrTemplateDir As String = "C:\Users\name\Desktop\テンプレート" 'テンプレートのファイル名 Const cstrTemplateBook As String = "C:\Users\name\Desktop\テンプレート\テンプレシート.xlsx" 'データが代入されたファイルの保存先フォルダ Const cstrSaveBookDir As String = "C:\Users\name\Desktop\" 'データ元のクエリを開く Set dbs = CurrentDb Set rst = dbs.OpenRecordset("テンプレクエリ") 'Excelオブジェクトを生成 Set xls = CreateObject("Excel.Application") With xls '画面の再描画を抑止 .ScreenUpdating = False 'テンプレートファイルを開く .Workbooks.Open cstrTemplateDir & cstrTemplateBook '←エラー箇所 'ワークシートをコピー .Workbooks(cstrTemplateBook).Worksheets("原紙").Copy 'テンプレートファイルを閉じる .Workbooks(cstrTemplateBook).Close '商品明細の全レコードをループで各セルに代入 intRow = 10 Do Until rst.EOF .Cells(intRow, 1).Value = rst!番号 .Cells(intRow, 2).Value = rst!商品名 .Cells(intRow, 3).Value = rst!種類 intRow = intRow + 1 rst.MoveNext Loop rst.Close '保存するファイル名のフルパスを組み立て strSaveBookPath = cstrSaveBookDir & "納品書" & ".xlsx" '同名ファイルを強制削除 On Error Resume Next Kill strSaveBookPath On Error GoTo 0 'データを代入したブックを保存 .ActiveWorkBook.SaveAs strSaveBookPath '画面の再描画を元に戻す .ScreenUpdating = True 'Excelを終了 .Quit End With Set xls = Nothing End Sub
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/11 05:00 編集
2021/03/11 05:12 編集
2021/03/11 05:25
2021/03/11 06:08
2021/03/11 07:38
2021/03/11 09:52
2021/03/12 00:39
2021/03/15 02:17