No.3ベストアンサー
- 回答日時:
こんばんは。
BrowseForFolderは使ったことありませんが・・。(^^;;;
Excel VBAなら例えば新しいブックで以下のような簡単なコードを試してみたらどうですか?
-----------------------------------------------
Sub Test()
Dim objShell As New Shell
Dim objFolder As Folder
Const BIF_RETURNONLYFSDIRS = &H1
Set objFolder = objShell.BrowseForFolder(0, _
"Select Folder", BIF_RETURNONLYFSDIRS)
If Not objFolder Is Nothing Then
MsgBox objFolder.Items.Item.Path
End If
End Sub
---------------------------------------------
それから、
>戻り値に不具合があるようです。
と言われても読む人にはどのような不具合なのか見当もつかないと思いますが・・・。(^^;;;
以上です。
質問が具体的じゃなくて、ご迷惑をおかけいたしました。
ロジックを取り込んでみたところ、正常動作しました。
どうもありがとうございました。
No.2
- 回答日時:
FolderItemsオブジェクトに対して引数を省略してItemメソッドをお使いですね。
Itemメソッドは引数が省略可能となっていますが、引数を省略した場合の返値は定義されていませんので、実際には引数を省略することはできません。
この例では、objFolder.Items.ItemがたまたまFolderItemを返せばエラーになりませんが、FolderItemを返さない場合はエラーになります。
No.1
- 回答日時:
Windows 2000とWindows XPで試してみましたが、どちらの環境でデスクトップやマイコンピュータを選択しても戻り値に不具合はありませんでした。
不具合が発生する最小限のプログラムコードを作成して、補足として書いてみてください。
この回答への補足
現状戻り値が正しく取得できないロジックです。
宜しくお願いいたします。
Private Sub cmd_Folder_Click()
Dim objShell As New Shell
Dim objFolder As Folder
Dim lnghwnd As Long 'ウィンドウハンドル
On Error Resume Next
Me.Caption = GSFRM002
'ウィンドウハンドル取得
lnghwnd = FindWindow(vbNullString, GSFRM002)
' フォルダ選択ダイアログを表示
Set objFolder = _
objShell.BrowseForFolder(lnghwnd, _
"フォルダを選択してください。", _
BIF_RETURNONLYFSDIRS)
Set objShell = Nothing
' 選択内容を取得
If Not objFolder Is Nothing Then
With objFolder
Me.lbl_Folder = .Items.Item.Path
End With
Set objFolder = Nothing
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 Window10ショートカットキーで切り取り貼り付けするとコンテキストメニューと挙動が異なる理由は? 2 2022/04/16 17:57
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
- Visual Basic(VBA) VBAでファイル名を指定して保存するとき 4 2023/03/26 21:55
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- フリーソフト 使用期間切れのDVDfab12でDVDをコピーしようとした時のエラー表示について 1 2022/09/09 01:58
- Excel(エクセル) VBA オリジナル関数で選択セルの合計を作成したい 3 2023/03/19 19:45
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/07/07 08:37
- ノートパソコン PCへのデータ保存について 5 2023/06/21 10:31
- Excel(エクセル) マクロVBA別Excelブックにデータ転記 2 2022/07/10 23:35
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Vba 実数および実数タイプの変...
-
Excelのマクロについて教えてく...
-
VBA レジストリの値の読み方に...
-
Excel VBA 定義されたプロージ...
-
Excel マクロについての相談
-
エクセルVBAについて
-
Vba SelStart、SelLen教えてく...
-
エクセルの合計を自動で表示さ...
-
Excelのマクロでワードのテキス...
-
Excelについて
-
2つのマクロでチェックボックス...
-
VBAに詳しい方教えてください。
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
VBAの質問になります Userform内で
-
VBA listBoxから
-
VBAで各列の"+"と"o"の合計数を...
-
VBA初心者 Ctrl+での操作、ボタ...
-
VBA 複数条件の分岐処理の上手...
-
VB.net(VB)で、フォームにExcel...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ぱいソン
-
ハッシュ(単語数を数える) た...
-
Access2000にExcel2000のデータ...
-
Rubyの超初心者です。「戻り値r...
-
Ruby Fileクラスについて
-
RubyのProcについて
-
自作したメソッド・・・こんな...
-
pythonのerrorコード
-
get() と find() の違いについて
-
「arg」は何の略?
-
エラー「メソッドまたはデータ...
-
What class are you in? には何...
-
パイソンのクラス
-
教えてください。vb5.0
-
No route matches [GET] "/post...
-
クラス名やモジュール名の競合...
-
VBAで型が一致しないエラー(バ...
-
Rubyについて質問です
-
実行時エラー450:引数の数が一...
-
エクセルVBA オートフィルタで...
おすすめ情報