Microsoft Access 掲示板

VBAでインポート処理ができたエクセルファイルのみ別フォルダへ移動したい / 7

21 コメント
views
4 フォロー
7

とりあえず、FileSystemObjectでファイル名取得、拡張子が xlsx のファイルをインポート後、別フォルダーへ移動するサンプルコードを書いたので置いておきます。

Public Sub Sample()
    Dim dname As String
    Dim tblname As String
    Dim sname As String
    Dim destinationFolder As String
    dname = "C:\アクセス\エクセル\"
    tblname = "テーブル名"
    sname = "sheet3!"
    destinationFolder = "C:\アクセス\エクセル\処理済\"

    Dim fso As New Scripting.FileSystemObject
    Dim fl As Folder
    Set fl = fso.GetFolder(dname)                ' フォルダを取得
    
    Dim f As File
    For Each f In fl.Files                       ' フォルダ内のファイルを取得
        If fso.GetExtensionName(f.Path) = "xlsx" Then
            DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, tblname, f.Path, True, sname
            fso.MoveFile f.Path, destinationFolder
        End If
    Next

    Set fso = Nothing

End Sub
通報 ...