ExcelVBA学習8日目
▼ブックのコピーを保存する
・アクティブブックのパス名を変数(保存先)に格納し、「20200820.xlsm」ブックをコピーし、保存先のパスに「練習ブック1をコピーしたブック.xlsm」という名前で保存する
Dim 保存先 As String
保存先 = ActiveWorkbook.Path
Workbooks("20200820.xlsm").SaveCopyAs _
Filename:=保存先 & "\練習ブック1をコピーしたブック.xlsm"
▼ファイルを開く
・ブックを開く画面を表示
With Application.FileDialog(msoFileDialogOpen)
.InitialFileName = "C:¥Users¥u-001¥Dobuments¥" →保存先を表示
.FilterIndex = 2 →ファイルの種類は、上から2つ目の項目(すべてのExcelファイル)を選択
If.Show = -1 Then .Execute →ダイアログボックスを表示、「開く」が押されたときは、ファイルを開く
End With
※FileDialogオブジェクトのShowメソッドを使い、ダイアログボックスを表示後、アクション(開くや保存など)をクリックされたときは「-1」、キャンセルがクリックされたときは「0」が返る。
▼様々なダイアログボックスを表示
・ファイルを開く画面を表示
Application.Dialogs(xlDialogOpen).Show
・名前をつけて保存画面を表示
Application.Dialogs(xlDialogSaveAs).Show
・セルの書式設定画面(フォントタブ)を表示する
Application.Dialogs(xlDialogFontProperties).Show
▼ファイルを参照するダイアログボックスを表示
①Variant型の変数を宣言
②マクロが記述されているこのブックと同じ場所を表示
③フィルターの一覧をクリア
④ファイターの一覧にすべてのファイルを追加
⑤フィルターの一覧に画像ファイルを追加
⑥上から一つ目の項目(すべてのファイル)をファイルの種類として選択しておく
⑦ダイアログボックスを表示し、OKが押されたときは、FileDialogSlelectedItemsコレクション内の内容の1つずつに対して、選択項目の内容をメッセージボックスに表示
Dim 選択項目 As Variant
With Application.FileDialog(msoFileDialogFilePicker)
'DialogBoxに関する処理をまとめて記述
.InitialFileName = ThisWorkbook.Path & "\"
.Filters.Clear
.Filters.Add "全てのファイル", "*.*"
.Filters.Add "画像ファイル", "*.gif;*.jpg;*.jpeg"
.FilterIndex = 1
If .Show = -1 Then
For Each 選択項目 In .SelectedItems
MsgBox 選択項目 & "が選択されました"
Next 選択項目
End If
End With