• ベストアンサー

BrowseForFolder のヘルプが出ない

ExcelVBAについて質問です。 http://www.k1simplify.com/vba/tipsleaf/dir.html を参考にフォルダのパスを取得しています。 コードは問題なく動かせますが 「BrowseForFolder」の意味が知りたくてカーソルを当てF1ボタンを押したら 「キーワードが見つかりません。」となってしまいました。 「Shell」と「CreateObject」はF1でヘルプを見ることが出来ました。 なぜ「BrowseForFolder」だけ見れないのでしょうか? バージョンは2003です。

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

  • ベストアンサー
回答No.1

ヘルプがないから。またはヘルプが紐づいていないから。 と言ってもそれが正常な状態です。 「"Shell" のヘルプが表示された」 ってのは Set hoge = CreateObject("Shell.Application") の Shell の部分にカーソルを持って行って F1 で表示されたのなら、期待している Shell のヘルプではなく、VBA の Shell 関数のヘルプが表示されていると思います。 VB Editor が単にカーソル位置にある Shell という文字列に反応してしまって Shell 関数のヘルプを表示しているだけです。 ちなみに参照設定にて "Microsoft Shell Controls And Automation" を設定すれば F2 でオブジェクトブラウザで各種メソッドと引数、プロパティも調べられます。 Dim sh As New Shell32.Shell Dim f As Shell32.Folder Set f = sh.BrowseForFolder(0, "フォルダーを選択", 0, "C:\") MsgBox f.Items.Item.Path

i98iu787
質問者

お礼

私が見てるShellのヘルプは違うヘルプだったのですね。 Microsoft Shell Controls And Automationの設定をしてみます。ありがとうございました。

関連するQ&A

  • 【Excel VBA】選択フォルダへの相対パス

    色々なサイトを参考に、Excel VBAにて以下の様なロジックを作りました。 -------------- Dim SHELL, MYPATH Dim TARGETDIR As String Set SHELL = CreateObject("Shell.Application") Set MYPATH = SHELL.BrowseForFolder(&O0, "フォルダを選んでください", &H1 + &H10, ThisWorkbook.Path) If MYPATH Is Nothing Then End TARGETDIR = MYPATH.items.Item.Path Set SHELL = Nothing Set MYPATH = Nothing -------------- ブックのあるパス配下のフォルダを選択して、フルパスを"TARGETDIR"に格納します。 質問は2つです。 (1)"~.items.Item.Path"の構文の意味を教えて下さい。 (2)フルパスではなく"ブックのあるパスから見た、選択したフォルダへの相対パス"を知る方法を教えて下さい。 よろしくお願いします。

  • オブジェクトブラウザでもヘルプでも表示できない理由

    stLinkCriteriaがオブジェクトブラウザでもヘルプでも表示できない理由は? 他人が作ったアクセスファイルのVBAコードを見てるのですが DoCmd.OpenForm stDocName, , , stLinkCriteria となっております。 この上記のコードの意味が「フォームを開く」と言うのはわかるのですが 「stLinkCriteria」の意味がわからないので 「stLinkCriteria」にカーソルを当て(選択し)、F1ボタンを押したら 「キーワードが見つかりません。」となってしまいました。 オブジェクトブラウザで「stLinkCriteria」を検索してもヒットしません。 ググればいい話ですが アクセス上で見れない原因を教えてください。 どのメンバにも属さないのでしょうか? バージョンはアクセス2003です。

  • フォルダ選択でなくフルパスをセルの値から取得したい

    フォルダを選択して写真をシート上に表示するマクロを探すことができました。 LUは, http://programlife.jugem.jp/?eid=48 できれぱセルの値のフルパスを参照して写真を表示したいと思いいろいろ試して見ましたがうまくいきません。最後のフォルダを選択しなけれぱならないようです。 変更前 ' フォルダ選択画面を表示 Set shell = CreateObject("Shell.Application") Set myPath = shell.BrowseForFolder(&O0, "フォルダを選んでください", &H1 + &H10, "C:¥") 変更後 "C:¥") ⇒ Sheets("データ").Cells(4, 1).Value   へ変更 フルパス = Sheets("データ").Cells(4, 1).Value = C:\Users\***\Desktop\写真 ' フォルダ選択画面を表示 Set shell = CreateObject("Shell.Application") Set myPath = shell.BrowseForFolder(&O0, "フォルダを選んでください", &H1 + &H10, Sheets("データ").Cells(4, 1).Value ) どうかよろしくお願いします。

  • Namespaceの引数について

    VBA超初心者です。  指定したフォルダーの中のファイルの詳細をエクセルに落とすマクロを作成しているのですが、ファイルダイアログで指定したパスがNamespaceの引数にうまく渡せません。たぶん型が違うか何かだと思うのですが、ご存知の方ご教授願えれば幸いです。   Set SHell = CreateObject("Shell.Application") Set Folder = SHell.Namespace("C:\Users\")                    ↓ Set Folder = SHell.Namespace(Target_Dir)  直接pathを書き込むと問題なく動作するのですが、変数で引き渡すとエラーになります。型が違う?初心者でもわかるように解説していただけると助かります。

  • FileSystemObjectのヘルプを見る

    FileSystemObjectのヘルプを見るには コードの一部に With myFSO.CreateTextFile(myName & "\" & MyFile) があるのですが、 CreateTextFileにカーソルを充て、F1を押すと、 ”Access 2010 開発者用リファレンス ヘルプと使い方” というヘルプファイルしか表示されないのですが ローカルのヘルプにFileSystemObjectの情報は入ってないのでしょうか? 知りたいコードは一つ一つググるしかないですか? オフィスのバージョン:2010 参照設定済みです

  • perlでdialogのフォルダ指定

    perl勉強中のものです。 perlにてプログラムを作成中ですが、フォルダを ダイアログを使って指定したいです。 参考ページを調べvbsにて以下のプログラムを作ってみました。 ****************************************************************** Set Shell = CreateObject("Shell.Application") Set objFolder = Shell.BrowseForFolder(0, "フォルダを選択してね!", 1, "c:\\") if objFolder is Nothing then Msgbox("ちゃんと選んで頂戴!") else Msgbox(objFolder.Items.Item.Path) end if ****************************************************************** 理解しきれていないのですが、vbsをperlに埋め込む?(変換?)ことができるようで モジュールを使って、上記のプログラムから参考を調べ、見よう見まねでperlで 作ってみましたが、何も表示せず、動作しません。 どこに問題があるか教えていただけないでしょうか? ****************************************************************** use Win32::OLE; my $Shell = Win32::OLE->CreateObject("WScript.Shell"); my $objFolder = $Shell->BrowseForFolder(0,'フォルダを選択してね', 1, 'c:\\' ); unless ($objFolder) { $Shell->MsgBox('ちゃんと選んで頂戴!',undef,'フォルダ選択',1); } else { $Shell->MsgBox("$objFolder->$Items->$Item->$Path"); } ******************************************************************* とんちんかんなプログラムを作っているかもしれませんが、 ご指導よろしくお願いします。

    • ベストアンサー
    • Perl
  • フォルダ選択と取得したパスの表示

    どうしてもわからないのでご教授お願いします。 コマンドボタンを使用して、フォルダの選択のダイアログを表示し、選択したフォルダのパスを取得することはできたのですが、そこから取得したパスを任意のセルに表示させたいです。 どうすれば表示させることができるでしょうか。 Private Sub commandbutton1_Click() Dim Shell, myPath Set Shell = CreateObject("Shell.Application") Set myPath = Shell.BrowseForFolder(&O0, "フォルダを選んでください", &H1 + &H10, "C:\") If Not myPath Is Nothing Then MsgBox myPath.Items.Item.Path Set Shell = Nothing Set myPath = Nothing End Sub ご教授宜しくお願いします。

  • VBScriptでフォルダ参照ダイアログを表示したい

    HTMLファイルの中にVBScriptを記述しています。 内容はボタンが押されたら、フォルダ参照のダイアログ ボックスを表示したいのです。 開発環境は windows2000 IE6.02 スクリプトのところは以下のように記述しています。 Function Getfolder() Set Shell = CreateObject("Shell.Application") Set objFolder = Shell.BrowseForFolder(0, "フォルダを選択してね!", 1) if objFolder is Nothing then  Msgbox("フォルダを選択してください") else  Msgbox(objFolder.Items.Item.Path) end if End Function で、Set objFolder = Shell.BrowseForFolder(0, "フォルダを選択してね!", 1) のところで「書き込みできません」のエラーが表示されてしまいます。 どのようにすればフォルダ参照のダイアログボックスを表示できるのでしょうか?

  • エクセルVBAで指定フォルダ内の選択ファイル名の取得

    お世話になります。 エクセルVBA昨日から始めた初心者です。 いま、 Private Sub CommandButton1_Click() Dim Shell, myPath Set Shell = CreateObject("Shell.Application") Set myPath = Shell.BrowseForFolder(&O0, "フォルダを選んでください", &H1 + &H10, "\\hk001a24\va\data\ツール") If Not myPath Is Nothing Then MsgBox myPath.Items.Item.Path Set Shell = Nothing Set myPath = Nothing End Sub というの作成したのですが、 これだとフォルダの選択しか出来ませんでした。 \\hk001a24\va\data\ツールの下にあるファイルを選択出来て、その選択したファイル名をVBA取得して保持できる ようにしたいのですが・・・ 急いでいるのでここで質問させて頂きました。 よろしくお願いします。

  • RmDirでフォルダが削除できない vba

    http://www.k1simplify.com/vba/tipsleaf/dir.html を参考にしたのですが Sub test() RmDir "\\test-PC\Users\Public\test" End Sub でフォルダの削除ができると思ったのですが パス名が無効ですというエラーになってしまいます。 ネットワークパスだからダメなのでしょうか? パスはフォルダからコピペしたので間違いないです。

専門家に質問してみよう