Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


73263 / 76732 ←次へ | 前へ→

【7950】Re:ツリービューで
お礼  FlA  - 03/9/25(木) 9:26 -

引用なし
パスワード
   ちょっとソースが部分的にしか表示してませんが、悪戦苦闘しながら、こんな感じでできました。その他のコントロールで、"Microsoft Treeview Contorols Ver6"と、参照設定で、"Windows Scripting Runtime"を使用して作成しました。再帰処理をしてるので、ツリーを表示するのに時間がかかってしまいますけどね。いろいろとありがとうございました。


Private Sub DirGetBtn_Click() 'エクスプローラ表示処理
On Error Resume Next
If WorkUserForm.ComboBox1.Value = "" Then
 MsgBox "ドライブが選択されていません。", vbCritical, "エラーメッセージ"
Else
 'サブフォルダチェック処理呼び出し
 drnamechk = InStr(WorkUserForm.ComboBox1.Value, "(") + 1
 drname = Mid(WorkUserForm.ComboBox1.Value, drnamechk, 2)
 Set drive = fso.GetDrive(drname)
 If Err.Number = 68 Then
  MsgBox drname & " デバイスの準備ができてません。", vbCritical, "エラー"
  Exit Sub
 End If
 If drive.IsReady = True Then
  Set item = WorkUserForm.TreeView1.Nodes.Add(, , , drname)
  Application.ScreenUpdating = False
  Call seekfolder(fso.GetFolder(drname & "\"), item)
 Else
  MsgBox drname & " ドライブにディスクを挿入してください。", vbCritical, "ディスクの挿入"
 End If
 Application.ScreenUpdating = True
End If
End Sub

Private Sub seekfolder(fsofolder As Scripting.Folder, item As node) 'サブフォルダ存在チェック処理

Dim fsosubfolder As Scripting.Folder
Dim subitem As node

 If InStr(fsofolder, "System Volume Information") > 0 Then
  '何もしない
 Else
  For Each fsosubfolder In fsofolder.SubFolders
   If InStr(fsofolder, "System Volume Information") > 0 Then
   '何もしない
   Else
   If fsofolder.SubFolders.Count > 0 Then
    Set subitem = WorkUserForm.TreeView1.Nodes.Add(item.Index, tvwChild, , fsosubfolder.Name)
    Call seekfolder(fsosubfolder, subitem)
   Else
    Exit For
   End If
   End If
  Next
 End If
End Sub
2 hits

【7894】ツリービューで FlA 03/9/22(月) 18:15 質問
【7895】Re:ツリービューで INA 03/9/22(月) 18:19 回答
【7898】Re:ツリービューで FlA 03/9/22(月) 19:15 質問
【7900】Re:ツリービューで INA 03/9/22(月) 21:11 回答
【7937】Re:ツリービューで Jaka 03/9/24(水) 15:48 回答
【7950】Re:ツリービューで FlA 03/9/25(木) 9:26 お礼

73263 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free