accessvbaでxlsmエクスポート|【コピペで完了】

AccessVBA

今回はAccessVBAでテーブルを新規マクロ有効のExcelブック
にエクスポートして保存する方法を解説します。

簡単に自己紹介ですが私は会社員15年程経験しその中でAccessVBAを使い沢山の効率化を図ってきました。Accessの資格も取得していますので有益な情報になると思います。

今回の記事の対象者
  • AccessVBAでテーブルやクエリを新規マクロ有効のExcelブックの任意のセルにエクスポートする方法が知りたい方
今回の記事を見た事で得られる事
  • AccessVBAでテーブルやクエリを新規マクロ有効のExcelブックの任意のセルにエクスポートする方法がわかる

早速結論ですが実装出来たコードは以下です。

Private Sub btnエクスポート_Click()
 
 Dim xlApp As Object
 Dim xlWb As Object
 Dim xlWs As Object
 Dim rst As DAO.Recordset
 
 Dim path As String
 
 Dim n As Variant
 
 
 n = Format(now(), "yyyy_mm_dd_hhmmss")
 
 
 Set rst = CurrentDb.OpenRecordset("SELECT * FROM T_全利用者マスター")
 
 Set xlApp = CreateObject("Excel.Application")
 xlApp.Visible = False
 Set xlWb = xlApp.Workbooks.Add
 Set xlWs = xlWb.Sheets(1)
 
 xlWs.Range("C5").CopyFromRecordset rst
 
 xlWb.SaveAs CurrentProject.path & "\" & n & ".xlsm", 52
 
 
 rst.Close
 Set rst = Nothing
 
 xlApp.Quit
 Set xlApp = Nothing
 
 
 MsgBox "エクスポートが完了しました"
 
 
 End Sub

これでカレントディレクトリにxlsm形式で保存されたと思います。

xlWb.SaveAs CurrentProject.path & “\” & n & “.xlsm”, 52

上記の52という部分です。
この52というのはExcel マクロ有効ブックの事を指しています。

他にも以下の様々な形式があります。

今回は拡張子がxlsxではなくxlsm形式保存の方法を記事にしました。

種類定数拡張子説明
CSVxlCSV*.csvCSV6
xlCSVMac*.csvMacintosh CSV22
xlCSVUTF8*.csvUTF8 CSV62
txtxlCurrentPlatformText*.txt現在のプラットフォームの
テキスト
-4158
xlTextWindows*.txtWindows テキスト20
xlUnicodeText*.txtUnicode テキスト42
Excel
形式
xlWorkbookDefault*.xlsxブックの既定51
xlOpenXMLWorkbookMacroEnabled*.xlsmExcel マクロ有効ブック52
xlWorkbookNormal*.xlsExcel 97-2003 ブック-4143
xlExcel8*.xlsExcel 97-2003 ブック56
その他xlXMLSpreadsheet*.xmlxml スプレッドシート46
xlWebArchive*.mhtWebページのアーカイブ
ファイル
45
xlHtml*.htmHTML形式44

単純にxlsmと直に記述するとエラーになりますので自身の忘備録としても記述しました。

タイトルとURLをコピーしました