VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2005/07/01(Fri) 15:02
投稿者魔界の仮面弁士
Eメール
URL
タイトルRe: ファイル情報の表示

> 所定のフォルダ内にある、ファイル名、サイズ、更新日、作成日を一覧表示したいのです。
> ただ、ファイルシステムオブジェクトは使用しないで行いたいのです。

『ファイルシステムオブジェクト』を使いたくない理由は何なのでしょうか?
その理由次第では、他の手法を紹介しても、「その方法も使いたくない」と言われてしまいそうで……。


> ただ、当初は「ファイルリストコントロール」を使用していたのですが、
> このコントロールは詳細情報を表示することはできないのですよね?
できません。ListView や MSHFlexGrid 、あるいは RichTextBox などの方が良いでしょうね。


とりあえず、Shellオブジェクトを利用したサンプル。

Option Explicit

Private Sub Sample(ByVal FolderName As Variant)
    Dim ColumnLimit As Long
    Dim iColumn As Long
    Dim oShell As Object    'As Shell32.Shell
    Set oShell = CreateObject("Shell.Application")
    Dim oFolder As Object   'As Shell32.Folder
    Set oFolder = oShell.NameSpace(FolderName)
    Dim oFolderItems As Object  'As Shell32.FolderItems
    Set oFolderItems = oFolder.Items
    ColumnLimit = 0
    Do
        Dim ColumnName As String
        ColumnLimit = ColumnLimit + 1
        ColumnName = oFolder.GetDetailsOf(oFolderItems, ColumnLimit)
        Debug.Print ColumnName;
        If ColumnName = "" Then
            Exit Do
        Else
            Debug.Print "|";
        End If
    Loop
    Debug.Print Tab(1); String(230, "-")
    Dim oFolderItem As Object 'As Shell32.FolderItem
    For Each oFolderItem In oFolderItems
        Debug.Print Tab(1); oFolder.GetDetailsOf(oFolderItem, 0);
        For iColumn = 1 To ColumnLimit
            Debug.Print "|"; oFolder.GetDetailsOf(oFolderItem, iColumn);
        Next
    Next
    Debug.Print Tab(1); String(230, "-")
End Sub

Private Sub Form_Load()
    Me.Text1.Text = "C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\"
    Me.Command1.Caption = "列挙"
End Sub

Private Sub Command1_Click()
    Sample Text1.Text
End Sub


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -