Excel VBA質問箱 IV

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

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


60268 / 76732 ←次へ | 前へ→

【21105】Re:コンボボックスで選択したフォルダのファイル名を取得したい
回答  かみちゃん  - 05/1/12(水) 0:06 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>・ コンボボックスで条件を選択して、その条件にあったフォルダからフォルダ内 にあるCSVファイルのデータを集計する。

以下のコードは、フォーム表示時に、フォルダ一覧ょコンボボックスに取得します。
次にコンボボックスから値を選択し、コマンドボタンをクリックすることにより、
コンボボックスで選択したフォルダ内にあるCSVファイルのファイル名を表示します。
ただし、サブフォルダには対応していません。

Option Explicit

Private strStartPathName As String

Private Sub UserForm_Initialize()
 Dim strPathName As String

 'コンボボックスに表示したいフォルダの親フォルダを指定します。
 '(例)マクロのあるブックのパスの場合
 strStartPathName = ThisWorkbook.Path & "\"
 '最初のフォルダ名を取得
 strPathName = Dir(strStartPathName, vbDirectory)

 Do While strPathName <> ""  ' ループを開始します。
  ' 現在のフォルダと親フォルダは無視します。
  If strPathName <> "." And strPathName <> ".." Then
   ' ビット単位の比較を行い、strPathName がフォルダかどうかを調べます。
   If (GetAttr(strStartPathName & strPathName) And vbDirectory) = vbDirectory Then
    Me.ComboBox1.AddItem strPathName    ' フォルダであれば、それを表示します。
   End If
  End If
  strPathName = Dir          ' 次のフォルダ名を返します。
 Loop
End Sub

Private Sub CommandButton1_Click()
 Dim strFileName As String
 
 strFileName = Dir(strStartPathName & Me.ComboBox1.Value & "\*.csv")
 Do While strFileName <> ""  ' ループを開始します。
  'CSVファイル名を表示します。
  MsgBox strStartPathName & Me.ComboBox1.Value & "\" & strFileName
  strFileName = Dir          ' 次のフォルダ名を返します。
 Loop
End Sub

0 hits

【21101】助けてください… ヒロ 05/1/11(火) 22:54 質問
【21104】Re:助けてください… ちゃっぴ 05/1/11(火) 23:47 回答
【21106】ありがとうございます!! ヒロ 05/1/12(水) 0:40 お礼
【21105】Re:コンボボックスで選択したフォルダのフ... かみちゃん 05/1/12(水) 0:06 回答
【21107】ありがとうございます!! ヒロ 05/1/12(水) 0:46 お礼
【21140】もう1度教えてください… ヒロ 05/1/12(水) 23:51 質問
【21143】Re:コンボボックスで選択したフォルダのフ... かみちゃん 05/1/13(木) 6:28 回答
【21170】ありがとうございました!!! ヒロ 05/1/13(木) 18:56 お礼

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