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