| 項目 | マクロ例 | 名前 | 実行内容 | 記事 |
| ファイル名 | ファイル1_1 | Name | オブジェクトの名前取得 | プロパティ |
| |
ファイル1_2 | Caption | 最後に開いたbook名読み取り | プロパティ |
| ファイル1_3 | FullName | パスを含むオブジェクト名の取得 | プロパティ | |
| パス関連 |
ファイル2_1 | DefaultFilePath | ファイルオープン時のデフォルトパス | プロパティ |
| ファイル2_2 | Path | 絶対パスを文字列で返す | プロパティ | |
| ファイル2_3 | CurDir | カレントパスを取得 | 関数 | |
| ドライブ・ フォルダ 操作関連 |
ファイル3_1 | ChDrive | カレントドライブの変更 | ステートメント |
| ファイル3_2 | ChDir | カレントフォルダの変更 | ステートメント | |
| ファイル3_3 | MkDir | フォルダ(デレクトリ)を作成 | ステートメント | |
| ファイル3_4 | RmDir | フォルダ(デレクトリ)を削除 | ステートメント | |
| ファイル4_1 | Dir | ファイル名フォルダ名を返す | 関数 | |
| ファイルの 情報を取得 |
ファイル4_2 | FileDateTime | ファイル作成日を返す | 関数 |
| ファイル4_3 | FileLen | ファイルのサイズをバイトで返す | 関数 | |
| ファイル4_4 | SetAttr | ファイルの属性を設定 | ステートメント | |
| ファイル4_5 | GetAttr | ファイルの属性情報を返す | 関数 | |
| ファイルを 制御関連 |
ファイル5_1 | FileCopy | ファイルのコピー | ステートメント |
| ファイル5_2 | Name | ファイルの移動、又は名前変更 | ステートメント | |
| ファイル5_3 | Kill | ファイルの削除 | ステートメント |
Sub ファイル1_1()
MsgBox "ブック名の読み取り→ " & ActiveWorkbook.Name
End Sub
|

Sub ファイル1_2()
MsgBox "最後に開いたbook名読み取り→ " & ActiveWindow.Caption
End Sub
|

Sub ファイル1_3()
MsgBox "パスを含むブック名→ " & ActiveWorkbook.FullName
End Sub
|

Sub ファイル2_1()
MsgBox "カレントフォルダ→ " & Application.DefaultFilePath
End Sub
|

Sub ファイル2_2()
MsgBox "実行中のマクロBookのパス→ " & ThisWorkbook.Path
End Sub
|

Sub ファイル2_3() |

Sub ファイル3_1()
Dim dva As String
phn = ActiveWorkbook.Path
dva = Left(phn, 2)
ChDrive dva 'ドライブの変更
MsgBox "アクティブブックのドライブ「" & dva & "」を" & Chr(10) & _
"カレントドライブに設定しました。"
End Sub
|

Sub ファイル3_2()
Dim dra As String
phn = ActiveWorkbook.Path
dra = Mid(phn, 3)
ChDir dra 'フォルダの変更
MsgBox "アクティブブックのフォルダ「" & dra & "」を" & Chr(10) & _
"カレントフォルダに設定しました。"
End Sub
|

Sub ファイル3_3()
Dim phn As String
phn = ActiveWorkbook.Path
On Error Resume Next
RmDir phn & "\MyGIF" 'フォルダの削除
On Error GoTo 0
MkDir phn & "\MyGIF" 'エラー回避に既にある場合は上記で削除
MsgBox phn & "(アクティブブックと同じ場所)へ" & Chr(10) & _
"フォルダ名「MyGIF」のフォルダを追加しました。"
End Sub
|

Sub ファイル3_4()
Dim phn As String
phn = ActiveWorkbook.Path
On Error Resume Next
RmDir phn & "\MyGIF" 'フォルダの削除
If Err = 76 Then
MsgBox "削除するフォルダ「MyGIF」はありません。"
Else
MsgBox phn & "のフォルダ「MyGIF」を削除しました。"
End If
End Sub
|

Sub ファイル4_1()
Dim fff As String
fff = Application.GetOpenFilename()
MsgBox "フルパスからファイル名を取り出し→" & Dir(fff)
End Sub
-------------------------------------------------------------
Sub ファイル4_1a()
Dim fff As String
fff = Application.GetOpenFilename()
fa = Mid(fff, 1, InStrRev(fff, "\") - 1)
MsgBox "指定ファイルの入っているフォルダ名を取り出し→" & Dir(fa, 16)
End Sub
|

Sub ファイル4_2()
Dim phn As String, fff As String
phn = ActiveWorkbook.FullName
fff = Dir(phn)
MsgBox fff & "の作成年月日→ " & FileDateTime(phn)
End Sub
|

Sub ファイル4_3()
Dim phn As String, fff As String
phn = ActiveWorkbook.FullName
fff = Dir(phn)
MsgBox fff & "のファイルサイズ→ " & FileLen(phn) & "バイト"
End Sub
|

Sub ファイル4_4()
Dim phn As String, fff As String
phn = ActiveWorkbook.FullName
fff = Dir(phn)
SetAttr phn, vbNormal
MsgBox fff & "の属性を「標準ファイル」に設定しました "
End Sub
|

Sub ファイル4_5()
Dim phn As String, fff As String
phn = ActiveWorkbook.FullName
fff = Dir(phn)
MsgBox fff & "ファイルの属性→ " & GetAttr(phn)
0:標準、1: 読み込み専用、2: 隠しファイル、4: システム、16: フォルダ
End Sub
|

| GetAttr 関数の戻り値は、次の各属性を表す整数の合計値です。 vbNormal : 0 ⇒通常ファイル vbReadOnly : 1 ⇒読み取り専用ファイル vbHidden : 2 ⇒隠しファイル vbSystem :4 ⇒システム ファイル。Macintosh では使用できません。 vbDirectory : ⇒16 フォルダ vbArchive :32 ⇒アーカイブ vbAlias : 64 ⇒エイリアス ファイル |
Sub ファイル5_1()
Dim txtpas As String
txtpas = ThisWorkbook.Path
FileCopy txtpas & "\" & "Book1.xls", txtpas & "\MyBook.xls"
MsgBox "Book1.xls" & "をコピーして同じフォルダへ" & Chr(10) & _
"ファイル名「MyBook.xls」で貼り付けました。"
End Sub
|

Sub ファイル5_2()
Dim txtpas As String
txtpas = ThisWorkbook.Path
On Error Resume Next
Name txtpas & "\MyBook.xls" As txtpas & "\Book99.xls"
If Err = 58 Then
MsgBox "ファイル名「Book99」にありので同じ名前には変更できません。"
Exit Sub
ElseIf Err = 53 Then
MsgBox "名前を変更するファイル名が見つかりません。"
Exit Sub
End If
MsgBox "「MyBook.xls」のファイル名を" & Chr(10) & _
"ファイル名「Book99.xls」に変更しました。"
End Sub
|

Sub ファイル5_3()
Dim txtpas As String
txtpas = ThisWorkbook.Path
On Error Resume Next
Kill txtpas & "\Book99.xls"
If Err = 53 Then
MsgBox "削除するファイル名「Book99」はありません。"
Exit Sub
End If
MsgBox "「Book99.xls」を削除しました。"
End Sub
|
