前提・実現いこと
AccessのVBAでテーブルをExcelにエクスポートするとき、用意されているテンプレート.xlsxのシートを指定してエクスポートしたい。
エクスポートテーブル:T_日報
エクスポートファイル名:日報_yyyymmdd.xlsx
テンプレートExcel:テンプレート.xlsx
※シート名左から:既存,解約,日報
①T_日報をテンプレート.xlsxのテンプレート.xlsxのシート:日報を使って、日報_yyyymmdd.xlsxとして保存したい。
②T_日報のフィールドNoは昇順でエクスポートするようにしたい
発生している問題・エラーメッセージ
①過去の質問などを参考にして、シートを指定しなければエクスポートできるところまではできたのですが、シートの指定の仕方(日報シートを指定したい)が分かりません。 ②シートを指定しなければエクスポートできるが、Noの昇順にならない。※順番はバラバラでどのような基準でエクスポートされているのか不明だが、件数と内容は正しくエクスポートできている。
該当のソースコード
Dim strsql As String Dim strTemplate As String Dim strFileName As String Dim xlapp As Object Dim myCn As New ADODB.Connection Dim myRs As New ADODB.Recordset On Error GoTo Err_Exit csOutPutFileName = Application.CurrentProject.path csOutputTemplate = "テンプレート.xlsx" 'ファイル名作成 strFileName = csOutPutFileName & "\" & "Export\" & "日報_" & Format(Date, "yyyymmdd") & ".xlsx" 'EXCELアプリケーションを起動 Set xlapp = CreateObject("Excel.Application") 'セットする過程が見えないよう一旦不可視 'xlapp.Visible = False Set myCn = CurrentProject.Connection strsql = "SELECT * FROM T_日報" 'レコードセットオープン myRs.Open strsql, myCn, adOpenForwardOnly, adLockReadOnly With xlapp 'テンプレートを開く strTemplate = Application.CurrentProject.path & "\" & "雛形\" & csOutputTemplate 'テンプレートファイルが存在しないときはエラー If Dir(strTemplate) = "" Then MsgBox "テンプレートファイルを確認してください。", vbOKOnly + vbCritical, "エラー" .Visible = True .Quit Exit Sub End If 'テンプレートファイルオープン .Workbooks.Open strTemplate '結果値出力処理(1行目にヘッダーを表示しているので、2行目1列目からセット .Cells(2, 1).CopyFromRecordset myRs '完了したら保存 .ActiveWorkBook.SaveAs FileName:=strFileName MsgBox "出力しました。", vbOKOnly + vbInformation End With Set myRs = Nothing: Close Set myCn = Nothing: Close 'Excelを終了します xlapp.Quit Exit Sub Err_Exit: MsgBox Err.Number & ":" & Err.Description, vbOKOnly + vbCritical, "OutputExcel()" Set myRs = Nothing: Close Set myCn = Nothing: Close xlapp.Quit End Sub ### 試したこと csOutputTemplate = "テンプレート.xlsx," True,"日報" としてみたのですが赤字でエラー あとは検討もつかずです。どうかご教示いただけないでしょうか。 宜しくお願い致します。 ### 補足情報(FW/ツールのバージョンなど) Access2010 ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/15 08:10
2021/03/16 01:45