masatoの日記

やっていきます

Excelマクロでかんたんにファイルを操作する(開く、閉じる、保存する)

ファイル一個なら、開くのも閉じるのもすぐできます。
でも、10ファイルとかになると大変になります。

そんなときに、かんたんで便利、サクッとつかえるマクロを紹介します。

開く

開きます。どのファイルを開くのかを決めるために引数を二つ渡してます。

Files:ファイル名(だけ)が入ってる配列
path :ファイルのベースとなるパス(例. C:\document\ など)

Public Function OpenAllBooks(Files, path)

Dim f
For Each f In Files
    Dim FilePath
    FilePath = path & f
    Workbooks.Open (FilePath)
Next f

保存する

Application.DisplayAlerts = Falseにしておかないと、保存時に確認メッセージが出てきてしまいます。 一個ずつ確認していたのでは、だいぶめんどうなので、消しちゃいましょう。

Sub SaveAllBooks()

    Dim wkb As Workbook

    Application.DisplayAlerts = False
    For Each wkb In Workbooks
        wkb.Save
    Next wkb
    Application.DisplayAlerts = True
End Sub

閉じる

変更を棄却するのでない限り、実行する前に上のマクロで保存しておきましょう。

Sub CloseAllBooks()

    Dim wkb As Workbook

    Application.DisplayAlerts = False
    For Each wkb In Workbooks
        wkb.Close
    Next wkb

    Application.DisplayAlerts = True
End Sub