こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルVBA ファイル取得方法?

エクセル2000のVBAにて
外付ハードディスクにあるファイルを取得しようとして、
下記のように書き込みました。
Private Sub CommandButton1_Click()
Dim myFSO As New FileSystemObject
Dim myFolder As Folder
Dim myFiles As Files
Dim myFile As File
Set myFolder = myFSO.GetFolder("L:\製品実現プロセス書類\作業標準書\ ComboBox1")
Set myFiles = myFolder.Files
For Each myFile In myFiles
ComboBox2.AddItem myFile.Name
Next
End Sub
Private Sub UserForm_Initialize()
Dim myFSO As New FileSystemObject
Dim myFolders As Folders
Dim myFolder As Folder

Set myFolders = myFSO.GetFolder("L:\製品実現プロセス書類\作業標準書\").SubFolders
i = 1
For Each myFolder In myFolders
ComboBox1.AddItem myFolder.Name
Next
ComboBox1.ListIndex = 0 '初期値
End Sub
コンボボックス1には
フォームを開いたときにハードディスクLの製品実現プロセス書類フォルダ内の作業標準書フォルダー内のフォルダをすべてを書き込むようして、

コンボボックス2にはコマンドボタン1をクリックしたときに
コンボボックス1で選択したフォルダ内のファイルを取得したいのですがパスが見つかりませんのエラーが出ます。
たぶん、コンボボックス1の書き込み方を間違えていると思いますが
わかりません??
教えていただけないでしょうか?

投稿日時 - 2007-12-06 21:43:36

QNo.3576789

困ってます

質問者が選んだベストアンサー

Set myFolder = myFSO.GetFolder("L:\製品実現プロセス書類\作業標準書\ ComboBox1")

最後のComboBox1の部分は、Combobox1で選択された項目ですから

Set myFolder = myFSO.GetFolder("L:\製品実現プロセス書類\作業標準
書\" & ComboBox1.Text)

ではないですか?
 
それから、今回の件とは関係ないですが、
ComboBox2のFor Each myFile in myFilesの前に
ComboBox2.Clear が必須だと思いますが。

外しましたらご容赦願います。
 

投稿日時 - 2007-12-06 22:52:51

お礼

ありがとうございます。
ファイル取得できました。
ご指摘のようにComboBox2.Clear は必須ですね。

投稿日時 - 2007-12-07 10:11:21

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問