5、VBAによるマクロの作成(応用編)
5−2、ファイルやフォルダの操作
ファイル(ブック)の操作
フォルダの操作
例)
※ここでの例は他の例文とのつながりはありません。新規ファイルを用意してください。
A1に「ブックの保存」と入力し、このブックを新しくデスクトップに作成した「TestFolder」の中に「SaveTest.xls」という名前で保存します。
※Windowsの場合
Sub BookSave()
Range("A1") = "ブックの保存"
MkDir "c:\WINDOWS\デスクトップ\TestFolder"
ChDir "c:\WINDOWS\デスクトップ\TestFolder"
ActiveWorkbook.SaveAs FileName:="SaveTest.xls"
ActiveWorkbook.Close
End Sub※Macintoshの場合
Sub BookSave()
Range("A1") = "ブックの保存"
MkDir "Macintosh HD:Desktop Folder:TestFolder"
ChDir "Macintosh HD:Desktop Folder:TestFolder"
ActiveWorkbook.SaveAs FileName:="SaveTest.xls"
ActiveWorkbook.Close
End Sub【このコードの解説】
- Range("A1") = "ブックの保存"
A1セルに文字「ブックの保存」を入力します。
- ※Windows
MkDir "c:\WINDOWS\デスクトップ\TestFolder"
※Macintosh
MkDir "Macintosh HD:Desktop Folder:TestFolder"
「MkDir」とは「Make Directory」の略で「TestFolder」という名前の新規フォルダをデスクトップに作成します。
WindowsとMacintoshではフォルダを指定する記述が違うので各々の環境に合わせて記述して下さい。- すでにデスクトップに同じ名前のフォルダがある場合は同じフォルダを同じ場所におくことはできないので、「パス名が無効です」というエラーがでます。
したがって、この例を続けて2回実行すると、1回目の実行で「TestFolder」が作られるため、2回目にエラーがでます。
- ※Windows
ChDir "c:\WINDOWS\デスクトップ\TestFolder"
※Macintosh
ChDir "Macintosh HD:Desktop Folder:TestFolder"
「ChDir」とは「Change Directory」の略でこのChDirで指定されたフォルダがファイルを開いたり保存したりする、アクティブなフォルダになります。
- ActiveWorkbook.SaveAs FileName:="SaveTest.xls"
現在のファイル(ブック)を「SaveTest.xls」という名前で保存しなさいという命令です。
- ActiveWorkbook.Close
これは、現在のファイル(ブック)を閉じなさいという命令です。
+α講座
- その他のブック操作
上の(例)では、「名前をつけて保存」と「閉じる」というブック操作を行いました。ここでは、その他のブック操作を紹介します。
- 《上書き保存》
ActiveWorkbook.Save- 《保存して閉じる》
ActiveWorkbook.Close SaveCanges:=True- 《保存せずに閉じる》
ActiveWorkbook.Close SaveCanges:=False- 《新しいブックを追加》
Workbooks.Add
※ブック名を指定しての操作は以下のように記述します。
- 《「Book.xls」という名前のブックを上書き保存》
Workbooks("Book.xls").Save- 《「Book.xls」という名前のブックを保存して閉じる》
Workbooks("Book.xls").Close SaveChanges:=True- 《「Book.xls」という名前のブックを開く》
Workbooks.Open FileName:="Book.xls"
この場合、開くファイルが「アクティブなフォルダ」の中にある必要があります。(ChDirを使うとアクティブなフォルダを指定できます。)- 《「Book.xls」という名前のブックを消去》
Kill "Book.xls"
この場合、開くファイルが「アクティブなフォルダ」の中にある必要があります。(ChDirを使うとアクティブなフォルダを指定できます。)