■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
|
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った): |
■ ページの共有: |
[ サイト内検索 ]
![]()
カスタム検索
|
#145-1ファイルシステムコントロ−ルの活用悩めるテル君2003-12-05(金) 23:05
#149-1RE#145:ファイルシステムコントロ−ルの活用藤代千尋2003-12-06(土) 22:02
#152-1RE#149:ファイルシステムコントロ−ルの活用悩めるテル君2003-12-07(日) 12:54
#153-1RE#152:ファイルシステムコントロ−ルの活用藤代千尋2003-12-08(月) 09:37
#160-1RE#153:ファイルシステムコントロ−ルの活用悩めるテル君2003-12-08(月) 21:46
#161-1RE#153:ファイルシステムコントロ−ルの活用悩めるテル君2003-12-08(月) 21:47
#163-1RE#160:ファイルシステムコントロ−ルの活用藤代千尋2003-12-09(火) 10:36
#165-1RE#163:ファイルシステムコントロ−ルの活用悩めるテル君2003-12-09(火) 23:06
#149-1RE#145:ファイルシステムコントロ−ルの活用藤代千尋2003-12-06(土) 22:02
#152-1RE#149:ファイルシステムコントロ−ルの活用悩めるテル君2003-12-07(日) 12:54
#153-1RE#152:ファイルシステムコントロ−ルの活用藤代千尋2003-12-08(月) 09:37
#160-1RE#153:ファイルシステムコントロ−ルの活用悩めるテル君2003-12-08(月) 21:46
#161-1RE#153:ファイルシステムコントロ−ルの活用悩めるテル君2003-12-08(月) 21:47
#163-1RE#160:ファイルシステムコントロ−ルの活用藤代千尋2003-12-09(火) 10:36
#165-1RE#163:ファイルシステムコントロ−ルの活用悩めるテル君2003-12-09(火) 23:06
悩めるテル君2003-12-05(金) 23:05
ファイルシステムコントロ−ルを使って、フォルダ−内のファイル一覧を作成したいと思っています。 この一覧表の中身として、 「ファイル名」:「サイズ」:「更新日時」:「各ファイルの一行目の内容表示」を 表示できる、FileListBoxを作成したいのですが、プロパティ、もしくはコ−ド表示 はどのようにすればよいのですか?教えてください。 悩める初心者
藤代千尋2003-12-06(土) 22:02
> 「ファイル名」:「サイズ」:「更新日時」:「各ファイルの一行目の内容表示」を > 表示できる、FileListBoxを作成したいのですが、プロパティ、もしくはコ−ド表示 > はどのようにすればよいのですか?教えてください。 エクスプローラーの右側みたいなヤツですね。 コントロールとしては、リストビューを使います。 情報は、自前で取るしかありません。(^^; #Dir でループしてファイル取得、FileSize・FileDateTime でサイズと更新日時、 1行目は、Open/Line Input/Close。
悩めるテル君2003-12-07(日) 12:54
> > 「ファイル名」:「サイズ」:「更新日時」:「各ファイルの一行目の内容表示」を > > 表示できる、FileListBoxを作成したいのですが、プロパティ、もしくはコ−ド表示 > > はどのようにすればよいのですか?教えてください。 > > エクスプローラーの右側みたいなヤツですね。 > コントロールとしては、リストビューを使います。 > 情報は、自前で取るしかありません。(^^; > #Dir でループしてファイル取得、FileSize・FileDateTime でサイズと更新日時、 > 1行目は、Open/Line Input/Close。 ありがとうございます。 参考図書をもとに”Listvew”を作成しましたが、ファイル名の取得までできました しかし、「フォルダ−内の各ファイルの一行目表示」 「ファイルサイズの取得 FileSize」 「更新日の取得」3項目が表示できません。 以下にコ−ドを書いています。 どの様に手直しすべきでしょうか? 悩める初心者です。 Private Sub Dir1_Change() ChDir Dir1.Path ListView1.ListItems.Clear p = Dir("*.*", 2 + 4 + 16) Do While p <> "" If Not (p = "." Or p = ".") Then Set lv = ListView1.ListItems.Add(, , p) 'ファイル名の取得 'set lv = subitems(1) = Open/Line Input/Close ’フォルダ−内の各ファイルの一行目表示 'Set lv.SubItems(2) = (FileLen(p) + 1023) \ 1024 & "KB" ’ファイルサイズの取得 FileSize 'Set lv.SubItems(3) = FileDateTime(p) ’更新日の取得 End If p = Dir Loop End Sub Private Sub Drive1_Change() ChDrive Drive1.Drive Dir1.Path = Drive1.Drive Dir1_Change End Sub Private Sub Form_Load() Dim x As ColumnHeader w = ListView1.Width / 3.5 Set x = ListView1.ColumnHeaders.Add(, , "ファイル名", ListView1.Width / 5) Set x = ListView1.ColumnHeaders.Add(, , "情報", ListView1.Width / 2, 1) Set x = ListView1.ColumnHeaders.Add(, , "サイズ", ListView1.Width / 5, 1) Set x = ListView1.ColumnHeaders.Add(, , "更新日時", ListView1.Width / 4, 1) ListView1.View = lvwReport Dir1_Change End Sub
藤代千尋2003-12-08(月) 09:37
SubItem は文字列です。Set はいりません。(^^; Set lv = ListView1.ListItems.Add(, , p) lv.SubItems(1) = File_FirstLine(p) lv.SubItems(2) = (FileLen(p) + 1023) \ 1024 & "KB" lv.SubItems(3) = FileDateTime(p) Public Function File_FirstLine(ByVal FullName As String) As String Dim h As Long On Error GoTo ErrHandle If GetAttr(FullName) = vbDirectory Then File_FirstLine = "<Dir>" Else h = FreeFile Open FullName For Input Access Read Lock Write As h Line Input #h, File_FirstLine Close #h End If Exit Function ErrHandle: File_FirstLine = "" Exit Function End Function
悩めるテル君2003-12-08(月) 21:46
ありがとうございました。うまくいきました。 ちなみに、2行目、3行目、最終行を取得するには? Public Function File_FirstLine(ByVal FullName As String) As String Dim h As Long On Error GoTo ErrHandle If GetAttr(FullName) = vbDirectory Then File_FirstLine = "<Dir>" Else h = FreeFile Open FullName For Input Access Read Lock Write As h Line Input #h, File_FirstLine Close #h End If Exit Function ErrHandle: File_FirstLine = "" Exit Function End Function File_FirstLineをどの様に記述すればよろしいでしょうか? 2行目・・・・ 3行目・・・・ 最終行・・・ 悩める初心者
悩めるテル君2003-12-08(月) 21:47
ありがとうございました。うまくいきました。 ちなみに、2行目、3行目、最終行を取得するには? Public Function File_FirstLine(ByVal FullName As String) As String Dim h As Long On Error GoTo ErrHandle If GetAttr(FullName) = vbDirectory Then File_FirstLine = "<Dir>" Else h = FreeFile Open FullName For Input Access Read Lock Write As h Line Input #h, File_FirstLine Close #h End If Exit Function ErrHandle: File_FirstLine = "" Exit Function End Function File_FirstLineをどの様に記述すればよろしいでしょうか? 2行目・・・・ 3行目・・・・ 最終行・・・ 悩める初心者
藤代千尋2003-12-09(火) 10:36
普通の方法であれば、ループして各行を取得し、そのとき行数を数えてください。 1 行目、2 行目は、その行数で分岐して取得します。 最後の行は、ループから出たときの、Line Input に使った変数になります。 iRec = 1 h = FreeFile Open FullName For Input Access Read Lock Write As h Do Until EOF(h) Line Input #h, sLine Select Case iRec Case 1: ... Case 2: ... End Select iRec = iRec + 1 Loop Close #h ファイル全体を取得して、それを Split で分解する方もあります。 速度的にはコッチの方が速いですが、すべてのファイルを開いてたらやっぱり遅いでしょう。(^^; Public Function TextFile_ReadAll(ByVal FullName As String) As String Dim h As Long Dim sWhole As String h = FreeFile Open FullName For Input Access Read Lock Write As h File_GetWhole = StrConv(InputB$(LOF(h), h), vbUnicode) Close #h End Function Public Sub Test() Dim asLines As Variant asLines = Split(TextFile_ReadAll("c:\test.txt"), vbCRLF) Debug.Print asLines(0) Debug.Print asLines(1) Debug.Print asLines(UBound(asLines)) End Sub
悩めるテル君2003-12-09(火) 23:06
> 普通の方法であれば、ループして各行を取得し、そのとき行数を数えてください。 > 1 行目、2 行目は、その行数で分岐して取得します。 > 最後の行は、ループから出たときの、Line Input に使った変数になります。 > > iRec = 1 > h = FreeFile > Open FullName For Input Access Read Lock Write As h > Do Until EOF(h) > Line Input #h, sLine > Select Case iRec > Case 1: ... > Case 2: ... > End Select > iRec = iRec + 1 > Loop > Close #h > 大変お世話になりました。 おかげさまでうまくいきました。 このファイルコントロ−ルシステムを使って次のチャレンジをしたいと思います。 また、質問が出てくると思いますので、その節はよろしくお願いします。・・・ \ 〇 〇 / バンザイ 悩み解消
このページと関連する記事:
#968-1VBによるExcelの二重起動禁止2004-01-22(木) 12:19#46280-0テキストファイルの読み込み2001-08-29(水) 11:01
#1303-1検索方法について2004-03-08(月) 09:30
#40587-0テキストファイルの文字列置換方法2001-03-21(水) 15:34
#8452-0String変数を決められた数だけ宣言2000-06-01(木) 12:51
#508-3テキストファイルを一気に読み込みたい。2003-12-05(金) 20:54
#222-3行数の取得2003-11-21(金) 17:38
#565-1ファイルが開いているかを知る方法2004-04-12(月) 09:06
#16680-0csvファイルをキー読みする方法はありますか?2001-06-22(金) 10:50
#2174-1テキストBOX内の文字の保存方法について2004-05-17(月) 13:39
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。