プロが教えるわが家の防犯対策術!

Excel2007VBA(Vista)を使って、『動画探して一覧表示して選択したら再生出来る自作ソフト』
を作ろうとしています。

分からないのは、以下のコード(処理)で取得出来るフルパスの情報(データ)を
一時的に関数等で保存する方法です。

※このコードの記述は、
「フォルダを手動で選択後、画面(メッセージボックス)に位置(パス)を表示する」ものです。

With Application.FileDialog(msoFileDialogFolderPicker)
'フォルダを選択する画面を表示する

If .Show = True Then
'フォルダを選択後、選択したフォルダがあった時
MsgBox .SelectedItems(1)
'メッセージボックスの画面にパスが表示される
End If

End With

メッセージボックスに出てくる値(パス)を、次に作りたい処理
「フォルダの中にある関係するファイル名を全て一覧で表示する」
の時に使いたいと思っています。

関数の使い分や、オブジェクト型とかの違いが出来ず調べ下手の為、お手上げです!

でも絶対完成させたいです。アドバイス宜しくお願いします。

A 回答 (1件)

フォルダを選択するのであればShellApp.BrowseForFolderを使うのはどうでしょうか?



Dim ShellApp As Object
Dim oFolder As Object
Set ShellApp = CreateObject("Shell.Application")
Set oFolder = ShellApp.BrowseForFolder(0, "フォルダ選択", &H11)
If Not oFolder Is Nothing Then
On Error Resume Next
MsgBox oFolder.Self.Path
End If
    • good
    • 0
この回答へのお礼

ester09さんの言う通りに実行したら上手く動きました。
ありがとうございます。

大体時間通りに完成して大変満足しています!
(質問した後、暫く2時間程休憩してからプログラム作りました。15日完成予定。)

「""囲ったら動かなかったぁー」と、10分位唸りながら。(´ワ`;)

そんな素人過ぎるレベルのまま2年位、こんな職種で働いていました。

一緒に働いていた、職業の人には、かなり足手まといになっていたなーと
改めて思って反省しています。

だから、今回作る自作ソフトを完成させたいし、仕事を取り組む姿勢の
改善のきっかけに変えたいと思っています。
(ちょっと真面目に考えすぎかもしれませんが!)
改善出来たなと実感したら、また同じ職業で働いてみたいと言う夢が
ちょっとだけあるのでマイペースに頑張りたいです。

教えて貰った所を、復習して元先輩に聞いてみて勉強します。
(ester09さんのコードに不満がある訳では無く、良いコード作れるように色んな角度から見て考えるようになりたいからです。元先輩と一緒に居た時は、仕事中で緊張して時間も無くて全然思った事が聞けなかったけど、今回は一杯調べて更に質問文も一杯考えて、丁寧な回答も貰って、問題なく動くコードが完成したのでバッチリ聞けると思うので。聞きたい事が思ったとおり聞けると思うと嬉しいです。まだOKも貰ってないんですけど;)

出来た事をすぐに報告したかったので早くお礼しました。
数日置く等、他の方法も参考にするのも良かったのですが
混乱するのでここで回答募集を終わらせたいと思います。

今後も質問したいと思うので、都合の良い機会があったら
ester09さんも皆さまも、どうぞ宜しくお願いします!

お礼日時:2009/05/16 01:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!