【Excelマクロ(VBa)】コンボボックスの活用


 フォーム


ファイルを選択してテキストボックスに表示する方法を例示しましたが、ファイルを複数選択した場合、テキストボックスには表示しきれません。

この場合、テキストボックスの代わりに下記のようにコンボボックスを活用します。(参考:リストボックスの活用)





 フォルダの取得方法


フォームの作成方法は割愛し、下記のようにファイルを複数選択した場合・・・



下記のように、選択したファイルをコンボボックスの情報として持つようにします。



Dim i As Long

'フォルダ選択のダイアログを表示する
With Application.FileDialog(msoFileDialogFilePicker)
  '複数選択可
  .AllowMultiSelect = True

  'フィルター:ファイル種類
  With .Filters
    .Clear
    .Add "Microsoft Excel", "*.xls?"
    .Add "text", "*.txt"
    .Add "All File", "*.*"
  End With

     'OKを押した場合
  If .Show = True Then
    'コンボボックスの情報クリア
    With cmbFileName
      .Clear
      .Text = ""
    End With

    '選択したファイルをコンボボックスに登録
    For i = 1 To .SelectedItems.Count
      cmbFileName.AddItem .SelectedItems(i)
    Next i

    'コンボボックスに登録した情報の先頭を表示
    cmbFileName.Text = cmbFileName.List(0)

  End If
End With

管理人 について

趣味:映画鑑賞・音楽鑑賞・ゲーム・旅行 仕事:会社員(IT関連)
カテゴリー: VBa(Excelマクロ), システム開発 パーマリンク

コメントを残す