投稿日 | : 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