VBA AccessでExcelエクスポート・インポート

MSACCESS_eyecatch
SBMJOB

AccessからExcelファイルの出力・取り込みの実装をご紹介します。

目次

スポンサーリンク

Excelファイルエクスポート

出力ボタンを押すと上記のようなダイアログボックスで出力先を指定します。保存ボタンでExcleファイルを出力といった流れになります。

エクスポート用コード

Private Sub コマンド7_Click()
    Dim sFina As String
    
    sFina = SaveFile_FileDialog
    
    If sFina <> "" Then
        DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "テーブル名", sFina, True, "シートxxx名"
    End If
End Sub
Public Function SaveFile_FileDialog() As String
    Dim oexcel As New Excel.Application
    sfile = oexcel.GetSaveAsFilename( _
        FileFilter:="Excelファイル,*.xls,全てのファイル,*.*", _
        FilterIndex:=1, _
        InitialFileName:="名前を変更.xls", _
        Title:="名前を付けて保存")

    If sfile = "False" Then
        SaveFile_FileDialog = ""
    Else
        SaveFile_FileDialog = sfile
    End If
    
    Set oexcel = Nothing
    
 End Function

出力ボタンクリックでSaveFile_Dialogファンクションがよびだされ、出力先を指定させます。その後、sFinaに出力先を格納します。

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, “テーブル名”, sFina, True, “シートxxx名”

上記TransferSpredsheet acExportコマンドにてエクセルファイルを出力します。

Excelファイルインポート

…ボタンを押してインポート用ダイアログボックスを表示させ、該当ファイルのディレクトリをボタン左のテキストボックスにセットします。「上記ファイルを取り込む」ボタンを押してインポート処理を実行します。

インポートダイアログ表示処理

Private Sub インポートボタン_Click()
    Dim df As FileDialog
    Set fd = Application.FileDialog(msoFileDialogOpen)
    
    With fd
        .AllowMultiSelect = False
        
        .Filters.Clear
        .Filters.Add "Any file", "*.*", 1
        .Filters.Add "excelファイル", "*.xls; *.xlsx", 2
        .FilterIndex = 2
        
        If .Show Then
        Me.txt_ダイアログ = .SelectedItems.Item(1)
        End If
    End With
End Sub

インポートコマンド処理

Private Sub コマンド6_Click()

    Dim strpath As String
    
    strpath = Me.txt_ダイアログ
    'tableXにインポートする
    DoCmd.TransferSpreadsheet acImport, , "テーブル名", strpath, True, "シート名!"
    
End Sub

DoCmd.TransferSpreadsheet acImport, , “テーブル名”, strpath, True, “シート名!”

上記TransferSpredsheet acImportコマンドにてエクセルファイルを取り込みます。

参考リンク

スポンサーリンク

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

システム開発SE・アプリ開発・デバッガー等々なんでもやる猫の下僕です。現在は凶暴猫にカタカタ動く手を狙われながらキーボードを打っています。かなりゆるい性格なのでコメントやメッセージお気軽に〜お仕事のご依頼もお気軽にぃ〜

スポンサーリンク

コメント

コメントする

CAPTCHA


目次