• ベストアンサー

VBAでフォルダを開く

Excel2003で、VBAで指定フォルダを開く場合に myFol = "D:\aaa" Shell "C:\Windows\Explorer.exe " & myFol, vbNormalFocus これで開きますが、環境変数HOMEを指定することはできないでしょうか?

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

  • ベストアンサー
  • eden3616
  • ベストアンサー率65% (267/405)
回答No.1

環境変数の名前を調べて一致した場合に値を取り出します。 Sub Sample()   Dim myFol As String   Dim environmentString As String   Dim i As Long   Dim hit As Integer   i = 1   Do     environmentString = Environ(i)     hit = InStr(1, UCase(environmentString), "=")     If Left(UCase(environmentString), hit - 1) = "HOME" Then       myFol = Mid(environmentString, hit, Len(environmentString))       Exit Do     End If     i = i + 1   Loop Until Environ(i) = ""   Shell "C:\Windows\Explorer.exe " & myFol, vbNormalFocus End Sub

yurielna
質問者

お礼

直接指定するのではないのですね。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • excel VBA で、エクスプローラを開くとき

    excel VBA で、フォルダを指定してエクスプローラーを開くことができますが、そのとき検索文字も指定できるのでしょうか。 具体的には、以下のようにpath0でパスを指定して、エクスプローラーが開きます。 Shell "c:\windows\explorer.exe " + path0, vbNormalFocus このとき、検索文字列を指定したいのですが、可能でしょうか? エクスプローラの右上の虫眼鏡のウインドウに入れる文字を指定して、検索を自動実行させたいのですが。

  • エクセル VBA フォルダを閉じる

    いつもお世話になっております。 下記のプロシージャでフォルダを開いているのですが、このフォルダを閉じる場合はどのように記述すればよろしいのでしょうか? よろしくお願いいたします。 Sub opn_fld() Dim myFol As String, mymsg As Integer Dim IE As Object myFol = "C:\ABC\" Shell "C:\Windows\Explorer.exe " & myFol, vbNormalFocus End Sub

  • VBAで開いているフォルダーを最前面に表示

    Excel VBAで指定したフォルダーを開きたいのですが、 Shell "Explorer.exe "・・・を使用すると幾つもフォルダーが開きます。 フォルダーが開いているかのチェックはできるのですが、 後ろに隠れているフォルダーを最前面に表示する方法がわかりません。

  • 空白が必要な理由を教えてください。

    http://okwave.jp/qa/q5024766.html を参考にVBAでフォルダを開いたのですが 一つ疑問があります。(素朴な疑問です) Sub OpenFolders() Dim targ As String targ = "C:\" Shell "C:\Windows\Explorer.exe " & targ, vbNormalFocus  '空白あり End Sub のコードは 「Shell "C:\Windows\Explorer.exe "」のexeの右隣に空白が入りますがなぜでしょうか?? Shell関数を使う場合は、空白を入れるのですか? Shell "C:\Windows\Explorer.exe" & targ, vbNormalFocus  '空白なし としたらエラーになりました。 ご教授よろしくお願いします。

  • 開いたときの位置を指定する事は可能ですか?

    Sub Sample() Dim myFile As String myFile = "C:\Program Files (x86)\" Shell "C:\Windows\Explorer.exe " & myFile, vbNormalFocus End Sub これでフォルダを起動させているのですが 開いたときの位置を指定する事は可能ですか? TOP=0 など、IE操作の様に画面に対する位置を指定したいのですが どうすればいいでしょうか?

  • Excel:Mac 2011 フォルダを開く

    Excel for Mac 2011を使用しています。 Excelのマクロを使用して、フォルダを開くマクロを作成したいのですが、 Windows版Excelの Shell "C:¥Windows¥Explorer.exe " & ファイル名, vbNormalFocus と同じ内容の事をしたいのですが、どのようにしたらいいでしょうか? 上手く行きません。 ちなみにOSは、Mac OS X Lion 10.7.2です。 よろしくお願いします。

    • 締切済み
    • Mac
  • ¥(パスセパレーター)について

    vbaでフォルダを開くコードを作ってるのですが、 パスの最後の¥(パスセパレーター)はあってもなくてもいいのでしょうか? Sub test() Dim myFile As String myFile = "C:\Program Files (x86)\" Shell "C:\Windows\Explorer.exe " & myFile, vbNormalFocus End Sub これでも、 myFile = "C:\Program Files (x86)" でも問題なく開けます。 myFile = "C:\" でも myFile = "C:" でもエラーにならないし、フォルダが開けました。 ¥がない場合は、自動でvbaが付けてくれてるのでしょうか? そもそもフォルダのパスを指定する際は、¥は要らないのでしょうか?

  • vbaで画像ファイルを開き、サイズを変更して保存

    vbaで画像ファイルを開き、その後サイズを変更して保存することは出来るのでしょうか? ペイントで画像を開くのは Sub test() MyFileName = "C:\セット.jpg" Shell "C:\WINDOWS\system32\mspaint.exe" & " " & Chr(34) & MyFileName & Chr(34), vbNormalFocus End Sub これで出来たのですが その後、サイズ変更→ピクセル→ 水平方向 300 垂直方向 225 を指定して保存したいのですが そこまでVBAで可能でしょうか?

  • 間違ったパスなのにマイドキュメントが開く

    Sub フォルダを開く() Shell "explorer C:\Windows", vbNormalFocus End Sub このコードで問題なくフォルダは開くのですが 敢えて Shell "explorer C:\Windowsあああ", vbNormalFocus とした場合、エラーにならずにマイドキュメントが開いてしまいます。 なぜなのでしょうか? また、Shellコマンド?メソッド?関数?は エラーは発生しないのでしょうか? ご教授よろしくお願い致します。

  • VBA Shell について(アプリの起動)

    Shellを使用して特定のアプリケーションの起動および操作をしたいと考えています。 起動は以下の式で出来たのですが、 Sub VbaToCmd() Call Shell("C:...........................................................................exe", vbNormalFocus) End Sub 起動後の画面でパスワード入力が求められます。 (1)パスワードを自動入力にしたい。 (2)起動後、キーボード操作を行いたい。 VBA初心者ですみません。。 ご回答よろしくお願いします。