VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

メニューへ戻ります。 ListView コントロール関係のメニュー
1.ListView コントロールの基本的な操作方法色々
2.2つの ListView のスクロールの同期を取る
3.エクスプローラー風にファイルの一覧を取得して ListView に表示
4. 
5. 
6.
7.
8. 
9. 
10. 
11.
12.
 . 
20.その他、当サイト内に掲載の ListView コントロールに関するサンプル 


3.エクスプローラー風にファイルの一覧を取得して ListView に表示(20_Lvw_03) (旧、SampleNo.124)
1.エクスプローラー風にファイルの一覧を取得して ListView に表示
2.
3.
4.
5.
6.

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86
Option :[Compare Text] [Explicit On] [Infer On] [Strict On]
Imports :追加なし
参照設定:
プロジェクト → 参照の追加 → COM で Microsoft Shell Controls And Automation を参照設定しておいて下さい。
その他 :
    :
このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので)
必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい)
このページのトップへ移動します。 1.エクスプローラー風にファイルの一覧を取得して ListView に表示

Public Class Form1

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    Dim FolderName As String
    Dim n As Integer
    Dim objFile As Object = Nothing
    Dim i As Integer
    Using FolderBrowserDialog1 As New FolderBrowserDialog
        If FolderBrowserDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
            'フォルダー名を取得
            FolderName = FolderBrowserDialog1.SelectedPath
        Else
            Exit Sub
        End If
    End Using
    Dim objShell As New Shell32.Shell
    Dim objFolder As Shell32.Folder = Nothing
    'フォルダー名が取得できたら
    If Microsoft.VisualBasic.Strings.Len(FolderName) > 1 Then
        'リストビューのアイテムをクリアする
        ListView1.Items.Clear()
        objFolder = objShell.NameSpace(FolderName)
        n = -1
        For Each objFile In objFolder.Items
            n += 1
            ListView1.Items.Add(objFolder.GetDetailsOf(objFile, 0), n)
            For i = 1 To 6
                ListView1.Items(n).SubItems.Add(objFolder.GetDetailsOf(objFile, i))
            Next i
        Next objFile
    End If
    '解放処理
    Runtime.InteropServices.Marshal.FinalReleaseComObject(objFile)
    objFile = Nothing
    Runtime.InteropServices.Marshal.FinalReleaseComObject(objFolder)
    objFolder = Nothing
    Runtime.InteropServices.Marshal.FinalReleaseComObject(objShell)
    objShell = Nothing
End Sub


Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    With ListView1
        .View = View.Details
        '項目名を設定
        .Columns.Add("名前", 130, HorizontalAlignment.Left)
        .Columns.Add("サイズ", 100, HorizontalAlignment.Right)
        .Columns.Add("種類", 130, HorizontalAlignment.Left)
        .Columns.Add("更新日時", 150, HorizontalAlignment.Left)
        .Columns.Add("作成日時", 150, HorizontalAlignment.Left)
        .Columns.Add("アクセス日時", 150, HorizontalAlignment.Left)
        .Columns.Add("属性", 50, HorizontalAlignment.Left)
    End With
End Sub

End Class

  図1.上記実行結果
 vb2013listview03_1
このページのトップへ移動します。 2.


このページのトップへ移動します。 3.


このページのトップへ移動します。 4.


このページのトップへ移動します。 5. 



このページのトップへ移動します。 6.


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)
リストビュー




このページのトップへ移動します。