閲覧したい項目をクリックすると表示されます
このページで紹介しているマクロを実行したことによるトラブルについては
ページ管理者は責任を負えませんので自己の責任においてご使用ください。
| ファイル操作系 | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 001.ブックのパス(保存場所)・名前を取得する
パスの取得:ThisWorkbook.Path
名前の取得:ThisWorkbook.Name
・アクティブになっているブックのパスを取得する場合はActiveWorkbook.Path、
アクティブになっているブックの名前を取得する場合はActiveWorkbook.Nameでもよい
・値を受け取るセルまたは変数を指定する
使用例
ブックのパスと名前を変数に格納し、セルにも格納する Sub test
Dim myPATH As Variant
Dim myNAME As Variant
myPATH = ThisWorkbook.Path
myNAME = ThisWorkbook.Name
Range("A1") = "このブックのパスは:" & myPATH
Range("A2") = "このブックの名前は:" & myNAME
End Sub
|
||||||||||||||||||||||||||||||
| 002.ブックを開く
Workbooks.Open Filename:="ブックのフルネーム(C:\~.xls)"
・パスワード付のブックを開く場合はFilenameの後にPassword:="パスワード名"を記述する
・開くブック内のリンクの更新方法はFilenameの後にUpdateLinks:=を記述する
Trueの場合は更新する、Falseの場合は更新しない
・このマクロの実行前に指定ブックが既に開かれているか確認する方がベター
使用例
Cドライブに保存してある「テスト」ブックを開く Sub test
Workbooks.Open Filename:="C:\テスト.xls", UpdateLinks:=True
End Sub
|
||||||||||||||||||||||||||||||
| 003.「ファイルを開く」ダイアログボックスを表示する
ChDir "ドライブ名:\フォルダ名"
Application.FindFile
・ChrDirには例えば"C:\TEMP"のように指定する
※ブックの存在場所が明らかな場合にユーザーを誘導するのに有効(省略してもOK)
使用例
CドライブのTEMPフォルダが最初に表示されるようにダイアログボックスを開く Sub test
ChDir "C:\TEMP"
Application.FindFile
End Sub
|
||||||||||||||||||||||||||||||
| 004.ブックが開いているか調べる
・For EachでPC上で開かれている全ブック名を調べる
・使用例を参照のこと
使用例
「テスト」ブックが開いているか調べる Sub test
Dim FL As Boolean
Dim WB As Workbook
For Each WB In Workbooks
If WB.Name = "テスト.xls" Then FL = True
Next WB
If FL = True Then
MsgBox "「テスト」は開いています"
Else
MsgBox "「テスト」は開いていません"
End If
End Sub
|
||||||||||||||||||||||||||||||
| 005.ブックを保存する
上書保存:ThisWorkbook.Save
別名保存:ThisWorkbook.SaveAs FileName:="フルパスのブック名"
・ThisWorkbook の部分はアクティブなブックを保存する場合は ActiveWorkbook でもよい
・SaveAs に指定できる項目は下表の通り
・SaveAs の指定項目は全て省略できるが FileName を省略すると保存先がカレントフォルダとなる
・フルパスのブック名とはドライブ名から始まり拡張子(.xls)で終わるブック名
例:C:¥Temp¥テスト.xls
使用例
「テスト」ブックをCドライブのTempフォルダに「TEST」と名前をつけて保存する Sub test
ThisWorkbook.SaveAs FileName:="C:\Temp\TEST.xls"
End Sub
|
||||||||||||||||||||||||||||||
| 006.ブックを閉じる
ThisWorkbook.Close
・ThisWorkbook の部分はアクティブなブックを閉じる場合は ActiveWorkbook でもよい
・Close に指定できる項目は下表の通り
・Close の指定項目は全て省略できるが SaveChanges を省略すると内容に変更あった場合
保存確認メッセージが自動で出る
使用例
ブックを保存して閉じる Sub test
ThisWorkbook.Close SaveChanges:=True
End Sub
|
||||||||||||||||||||||||||||||
| 007.ブックの表示・非表示の設定
表示する:Windows("ブック名").Visible = True
非表示 :Windows("ブック名").Visible = False
使用例
「テスト」ブックを非表示にする Sub test
Windows("テスト.xls").Visible = False
End Sub
|
||||||||||||||||||||||||||||||
| 020.ファイル(ブック)をコピーする
FileCopy "コピー元ファイル名(フルパス)", "コピー先ファイル名(フルパス)"
・フルパスのファイル名とはドライブ名から始まり拡張子(.xls等)で終わるファイル名
例:C:¥Temp¥テスト.xls
・コピー先に同じ種類で同じ名前のファイルがあった場合は上書きされる
・EXCELブックでなくてもコピーできる(テキストファイル・画像ファイル・音楽ファイル等)
使用例
CドライブのTempフォルダ内の「テスト.xls」をDドライブ内のTestフォルダにコピーする Sub test
FileCopy "C:\Temp\テスト.xls", "D:\Test\テスト.xls"
End Sub
|
||||||||||||||||||||||||||||||
| 021.ファイル(ブック)を削除する
Kill "ファイル名(フルパス)"
・フルパスのファイル名とはドライブ名から始まり拡張子(.xls等)で終わるファイル名
例:C:¥Temp¥テスト.xls
・EXCELブックでなくても削除できる(テキストファイル・画像ファイル・音楽ファイル等)
・対象ファイルが存在しないとエラーになるので先にファイルの存在チェックを行うようにすること
使用例
CドライブのTempフォルダ内の「テスト.xls」を削除する Sub test
Kill "C:\Temp\テスト.xls"
End Sub
|
||||||||||||||||||||||||||||||
| 022.ファイル(ブック)が存在するか調べる
"変数名またはセル指定" = Dir("ファイル名(フルパス)")
・フルパスのファイル名とはドライブ名から始まり拡張子(.xls等)で終わるファイル名
例:C:¥Temp¥テスト.xls
・Dir の戻り値はファイルが存在する場合はファイル名(パス名は含まない)、存在しない場合は空白
・Dir の戻り値を格納するために変数またはセル(Range等)を指定する
使用例
CドライブのTempフォルダ内の「テスト.xls」が存在するか調べる Sub test
Dim FL As String
FL = Dir("C:\Temp\テスト.xls")
If FL <> "" then
MsgBox "「テスト.xls」は存在します"
Else
MsgBox "「テスト.xls」は存在しません"
End If
End Sub
|
||||||||||||||||||||||||||||||
