|
大変参考になりました。
初心者なものですから、記述でわからないところも多々ありますが、自力で解析してみます。
貴重なご回答をありがとうございました。
▼かみちゃん さん:
>こんにちは。かみちゃん です。
>
>>・ コンボボックスで条件を選択して、その条件にあったフォルダからフォルダ内 にある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
|
|