【本日のミッション】
エクセル VBAのListViewオブジェクト の View プロパティの機能を解明せよ。
目次
ミッションの概要
エクセル VBAのListViewオブジェクト の View プロパティの機能を解明せよ、というのが今回のミッションです。

【lvwReport 】

【lvwList】

【lvwSmallIcon】

【lvwIcon】
プロシージャ
Viewプロパティの動作を確認するために、下記プロシージャをサンプルとして使用します。
その他のコードの内容につきましては、エクセル VBA ListViewにドラッグ&ドロップでファイル名・ファイルパス複数の情報を取得(Excel VBA)をご参照ください。
ファイルをドラッグ&ドロップすると、ファイル名、ファイルパスを取得するコードになります。

Private Sub UserForm_Initialize()
With ListView1
'■プロパティ設定
.FullRowSelect = True '行全体の選択
.Gridlines = True '行列グリッド線の表示
.LabelEdit = lvwManual 'ラベル編集不可
.OLEDropMode = ccOLEDropManual 'ファイルドロップ処理
.View = lvwReport '表示形式 詳細表示
' .View = lvwList '表示形式 一覧表示
' .View = lvwSmallIcon '表示形式 小アイコン表示
' .View = lvwIcon '表示形式 アイコン表示
'■列見出しの名前・列幅の設定
.ColumnHeaders.Add , "key1", "1列目", 120, lvwColumnLeft
.ColumnHeaders.Add , "key2", "2列目", 220, lvwColumnLeft
End With
End Sub
Private Sub ListView1_OLEDragDrop(Data As MSComctlLib.DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single)
'【変数】
Dim i As Long 'カウンター
Dim fileCount As Long 'ファイル数
With ListView1
'■既存ファイル名のクリア
.ListItems.Clear
'■ファイル数の取得
fileCount = Data.Files.Count
'■ドラッグ&ドロップしたファイル名・ファイルパスを順にリスト化
For i = 1 To fileCount
With .ListItems.Add
.Text = Dir(Data.Files(i)) 'ファイル名
.SubItems(1) = Data.Files(i) 'ファイルパス
End With
Next i
End With
End Sub
Viewプロパティ
ListViewオブジェクトの表示形式を指定します。
lvwReport
詳細表示になります。
この表示形式にしておくと、FullRowSelectで設定した行全体選択、Gridlinesで設定した行列グリッド線、ColumnHeadersで設定した列見出し全てがきちんと表示されます。
参照:エクセル VBA ListView の FullRowSelect プロパティとは(Excel VBA)
エクセル VBA ListView の Gridlines プロパティとは(Excel VBA)
エクセル VBA ListView の ColumnHeaders コレクションとは(Excel VBA)

lvwList
一覧表示になります。
この表示形式にすると、FullRowSelectで設定した行全体選択、Gridlinesで設定した行列グリッド線、ColumnHeadersで設定した列見出しは正しく表示されません。
参照:エクセル VBA ListView の FullRowSelect プロパティとは(Excel VBA)
エクセル VBA ListView の Gridlines プロパティとは(Excel VBA)
エクセル VBA ListView の ColumnHeaders コレクションとは(Excel VBA)

lvwSmallIcon
小アイコン表示になります。
この表示形式にすると、FullRowSelectで設定した行全体選択、Gridlinesで設定した行列グリッド線、ColumnHeadersで設定した列見出しは正しく表示されません。
参照:エクセル VBA ListView の FullRowSelect プロパティとは(Excel VBA)
エクセル VBA ListView の Gridlines プロパティとは(Excel VBA)
エクセル VBA ListView の ColumnHeaders コレクションとは(Excel VBA)

lvwIcon
アイコン表示になります。
この表示形式にすると、FullRowSelectで設定した行全体選択、Gridlinesで設定した行列グリッド線、ColumnHeadersで設定した列見出しは正しく表示されません。
参照:エクセル VBA ListView の FullRowSelect プロパティとは(Excel VBA)
エクセル VBA ListView の Gridlines プロパティとは(Excel VBA)
エクセル VBA ListView の ColumnHeaders コレクションとは(Excel VBA)

プロパティウィンドウでの設定方法
Viewプロパティはプロシージャに記述する以外に、プロパティウィンドウでも設定が可能です。
対象となるListViewオブジェクトを選択した状態で、プロパティウィンドウ(表示されていない場合は、[F4]キーで表示できます。)で View を「lvwReport」「lvwList」「lvwSmallIcon」「lvwIcon」のいずれかにします。

【参考】
VBA(マクロ)作成の前、リボンに開発タブを表示させる(Excel VBA)
ユーザーフォームの作成方法 準備(Excel VBA)
ユーザーフォームのオブジェクトの名前を「UserForm1」から変更する方法(Excel VBA)
ユーザーフォームの上のバー(タイトルバー)の名前を「UserForm1」から変更する(Excel VBA)
ユーザーフォームのオブジェクトウィンドウとコードウィンドウを表示切替させる方法(Excel VBA)
「オブジェクト名が不正です」を出さないようにユーザーフォームオブジェクト名を命名規則に従って変更(Excel VBA)
エクセルファイルが開いた時にユーザーフォームを表示させる方法(Excel VBA)
エクセル フォームのラベルのテキストを縦書きにする方法(Excel VBA)
エクセル VBA フォーム ツールボックスにListViewコントロールを追加(Excel VBA)
エクセル VBA フォーム「Microsoft ListView Control」が出てこない原因 (Excel VBA)
エクセル VBA ListViewにドラッグ&ドロップでファイルパスを取得(Excel VBA)
エクセル VBA ListViewにスクロールバーを表示させる(Excel VBA)
エクセル VBA ListView の FullRowSelect プロパティとは(Excel VBA)
エクセル VBA ListView の Gridlines プロパティとは(Excel VBA)
エクセル VBA ListView の LabelEdit プロパティとは(Excel VBA)
エクセル VBA ListView の OLEDropMode プロパティとは(Excel VBA)
エクセル VBA ListView の View プロパティ とは(Excel VBA)
エクセル VBA ListView の ColumnHeaders コレクションとは(Excel VBA)
エクセル VBA ListViewにドラッグ&ドロップでファイル名・ファイルパス複数の情報を取得(Excel VBA)
エクセル VBA ListViewのListItems・SubItemsコレクションとは(Excel VBA)
エクセル VBA ListView の OLEDragDropイベントとは(Excel VBA)