• ベストアンサー
  • すぐに回答を!

セルのファイルを起動したい

セルに入っているファイル名を開きたいと考えています。 ファイル名はパス付きで入っています。 拡張子が.docの時はワードで、.xlsの時はエクセルで、.pdfの時はアクロバットで、その他該当するアプリケーションを立ち上げてそのファイルを開き、そしてパス名だけの時はエクスプローラで該当ディレクトリを開きたいと思っています。 拡張子を見てワード、エクセル、アクロバットまでは立ち上げるVBAまでは出来ました。 エクスプローラが分かりません。 どなたか教えていただけないでしょうか。 またファイル名が入っている場合、現在は直接アプリケーションを起動するやり方をとっていますが、拡張子から自動的に適切なアプリを立ち上げることはできないでしょうか。 よろしくお願い申し上げます。 現在の方法: Sub test() Shell "C:\Program Files\Microsoft Office\OFFICE11\WinWord.exe " & _ "c:\test.doc", vbMaximizedFocus End Sub

共感・応援の気持ちを伝えよう!

  • 回答数4
  • 閲覧数238
  • ありがとう数2

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

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

こんばんは。 CreateObject("WScript.Shell").Run パス をお試しください。 パスがファイルの場合は、拡張子に関連付けられたプログラムで、 パスがフォルダの場合は、エクスプローラーでそれぞれ開きます。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございます。 これだけで全て実行できるとは素晴らしいですね。

関連するQ&A

  • ExcelやWordのファイル:拡張子がなくても開くのはなぜでしょうか

    拡張子がなくても、Excelのファイルはダブルクリックで開きます。 それはなぜですか。 詳しく述べます。 エクスプローラ(またはデスクトップ)上に、テキストファイル(拡張子txt)があります。 このファイルの拡張子を外します。(~~.txt → ~~) このとき、 「拡張子を変更すると、ファイルが使えなくなる可能性があります。変更しますか?」 と訊いてくるので、「はい」をクリックすると、ファイルのアイコンはウィンドウズのマーク(旗みたいなもの)になります。 これは、拡張子がなくなったために、アイコンとの関連付けがなくなったからだと思います。 このファイルをダブルクリックすると、「ファイルを開くアプリケーションの選択」というウィンドウが立ち上がります。 拡張子がないから、どのアプリケーションを使うのかわからないのですね。 他方、 エクスプローラ(またはデスクトップ)で、エクセルのファイルの名前の拡張子を外します。 (~~.xls → ~~) このファイルをダブルクリックすると、エクセルが立ち上がって、ファイルが開かれます。 なぜ、エクセルの場合は、拡張子がなくても開けるのでしょうか。 ワードで作ったdocファイルでも、エクセルと同樣です。 拡張子がなくてもダブルクリックで開ける設定があるのでしょうか。 たとえ、エクセルやワードのファイルでも、txtという拡張子を付けると、テキストエディタで開く(私のPCの場合はViViというテキストエディタが設定されていますが、普通はメモ帳ですよね。)ので、拡張子がまったく無視されているわけでもないです。 (もちろん、中身は文字化けしていますけど。) Windows98SE Excel2000 Word2000

  • エクセルだけファイルからの起動ができなくなりました。

    使用環境はハード:東芝ダイナブック、OS:WIN98SE、MS-Office:97と2000が混在。(普段2000しか使っておらず、拡張子の関連付けでも2000とリンクしています) ある日PCが暴走してフリーズしてしまいました。そのとき、アクロバット、ノーツ、IE、ワード2000、エクセル2000くらいを開いていたと思います。仕方なく、リセットしたところ、それ以来エクセルに関してはファイルからの起動ができなくなりました。 ファイルのアイコンは変わらずいつものエクセルマークのままなのですが、ダブルクリックをすると、エクセル自体は起動するものの、そのあと「ファイル'○○○.xls'(またはその構成ファイル)が見つかりません。パスおよびファイル名が正しいか、必要なライブラリがすべて利用可能かどうか、確認してください。」という赤いバッテンマークのメッセージが出て、「OK」ボタンしかなく、ファイルが開きません。 その状態でエクセルから「ファイル」「開く」と操作すると開きます。つまり、先にエクセルを起動しておいてメニューから「ファイル」「開く」と操作をすれば開けるのですが、ファイルをダブルクリックする開き方では前記のようなメッセージが出て開けないのです。でもエクセル自体は起動するので拡張子との関連付けには異常はないと思います。 ちなみにワードの方は問題なくどういう方法でも開けます。 何となくOffice2000を再インストールすると直りそうな気もしますが、会社のパソコンでして、できれば再インストールでの対処はしたくありません。(手続が面倒なので最終手段です) 再インストール以外で対処法をご存知の方がいらっしゃいましたら、ぜひともご教示ください。わがままなお願いかもしれませんがよろしくお願いします。

  • ファイル名検索で *.txt または *.doc を行う方法

    エクスプローラの検索でファイル名の拡張子が txt のものは *.txt 拡張子が doc のものは *.doc をそれぞれ入力すればできますが 、 *.txt または *.doc のもの同時に検索表示する場合、 どのように入力しますか。 また、そのような入力方法はヘルプのどの部分に記載がありますか。

その他の回答 (3)

  • 回答No.4

#2 です。補足します。 > 以下のVBAで該当ディレクトリのエクスプローラが立ち上がりました。 Explorer.exe は、通常環境変数でパスが通っているので、Exe までのフルパス を書く必要はありません。むしろ、フルパスで書くと Windows2000 と WindowsXP などのように、Windows フォルダのパスが異なる OS で動かないコードになって しまいますよ。 参考>> Explorer.exe のパス(うろ覚えだけど...) ・Windows9x/ME   --> C:\Windows\Explorer.exe ・WindowsNT/2000  --> C:\WinNT\Explorer.exe ・WindowsXP    --> C:\Windows\Explorer.exe サンプルコードです。 ' // Explorer を指定して開く場合 Sub Test1()      Dim sPathName As String      ' パスは途中空白があると失敗するので ”(Chr(34))で括る   sPathName = Chr(34) & "C:\Windows" & Chr(34)   ' Shell の場合は、パスを開くアプリを指定しなければならない   Call Shell("Explorer.exe " & sPathName, vbNormalFocus) End Sub ' // WSH を使う場合 Sub Test2()   Dim sPathName As String      ' パスは途中空白があると失敗するので ”(Chr(34))で括る   sPathName = Chr(34) & "C:\Windows" & Chr(34)   ' WSH を使った場合は、自動的に関連付けられたアプリで開く   CreateObject("WScript.Shell").Run sPathName End Sub 余談になりますが Excel のハイパーリンクが、最も手軽な方法ですね。 手軽な一方で、使用するアプリを選べないのが弱点に思います。 例えば、普段使っている WEBブラウザが InternetExplorer 以外であっても Excel のハイパーリンク機能は *.htm ファイルを InternetExplorer で 開いてしまいます。完全に関連付いたアプリで開けるわけではないようです。 ある種のファイルに限定された制約ではありますが。 どうしても自分がいつも使っているブラウザで開きたい、アプリを指定して 開きたい...といったニーズがある場合のみ、上記のような VBA を使うと良い と思います。ニーズに合わせて使い分ると良いでしょうね。

共感・感謝の気持ちを伝えよう!

  • 回答No.3

Excel なら ハイパーリンクで記述しておけば 起動しますが。 挿入(I)→ハイパーリンク(I) または <Ctrl>+K でフルパスでファイル名まで記述すれば登録されたアプリで、 フォルダ名までならエクスプローラが開きます。 Office 系アプリだと、新しいウィンドウがまったく同じサイズで ぴったり重なって開いたりするので、 もとのウィンドウが閉じてしまったかと一瞬びっくりします。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございます。 確かにハイパーリンクにすればいいのですが、サーバーのディレクトリから大量にセルを作りますので、いちいちハイパーリンクを指定することはできないと思います。

  • 回答No.1

一応。。。 C:\Windows\explorer.exe ですが・・・ これの場合、そこまでしなくても、 Windowsキーを押しながら「E」キーをクリックするだけでも出てきますが・・・?

共感・感謝の気持ちを伝えよう!

質問者からの補足

ええとですね。セルに"C:\temp"が入っている場合、"C:\temp"が開かれた状態でエクスプローラを立ち上げたいのですが。 ご回答の方法ではエクスプローラが立ち上がるだけですね。 でも「C:\Windows\explorer.exe」から何となくやり方が連想できました。 以下のVBAで該当ディレクトリのエクスプローラが立ち上がりました。 Sub test3() Shell "C:\Windows\explorer.exe " & _ Selection.Text, vbMaximizedFocus End Sub

関連するQ&A

  • ワードファイルdocを拡張子gif/jpgにしたい。

    ワードファイルのなかの画像の拡張子が「doc」ですので ホームページにアップロードできません。 「doc」拡張子を「gif」「jpg」に変えることが出来るでしょうか。 方法があれば教えてください。ちなみに、ワードファイルのなかの 4枚の画像のうち1枚を選択して使いたいのですが、よろしくお願いします。

  • エクセルのマクロを利用したワードの開き方

    エクセルのマクロを利用したワードの開き方を教えてください。よろしくおねがいします。ちなみにコードは Option Explicit Dim 行, ドライブ, 親フォルダ, 子フォルダ, ファイル名, 拡張子, パス Dim フルパス As String Dim ワード As Object Dim ワード文書 As Object Sub 環境リストボックスでクリックされた() 行 = Worksheets("呼出").Cells(2, 1) + 1 管理表シートから値を取り出す 選択されたファイルを開く End Sub Private Sub 管理表シートから値を取り出す() ドライブ = Worksheets("管理表").Cells(行, 2) 親フォルダ = Worksheets("管理表").Cells(行, 3) 子フォルダ = Worksheets("管理表").Cells(行, 4) ファイル名 = Worksheets("管理表").Cells(行, 5) 拡張子 = Worksheets("管理表").Cells(行, 6) End Sub Private Sub 選択されたファイルを開く() ChDrive ドライブ パス = ドライブ & "\" & 親フォルダ & "\" & 子フォルダ ChDir "C:\ときめき\環境" If 拡張子 = "xls" Then Workbooks.Open Filename:=ファイル名 & ".xls", ReadOnly:=True ElseIf 拡張子 = "doc" Then フルパス = パス & "\" & ファイル名 & ".doc" 'フルパスを作成 Set ワード = CreateObject("Word.Application") 'Wordを起動する ワード.Visible = True 'Wordを表示する Set ワード文書 = ワード.documents.Open(フルパス) 'Word文書を開く End If End Sub となっています。 あと、OSはwindowsMeで ソフトはエクセル、ワード共に2000を利用しています。 よろしくおねがいします。

  • wordを開けません

    C:\Program Files\Microsoft Office\Office\WINWORD.EXEは有効なWin32アプリケーションではありませんと表示され開くことが出来なくなりました。 メールの添付ファイルを拡張子を変えて保存しようといろいろいじったら出来なくなりました。 初心者です。宜しくお願いいたします。

  • アクティブウィンドウ(ドキュメントファイル)のパス

    VB初心者です。 VB等でアクティブウィンドウのパスを取得する方法を探しています。 タイトルであればGetWindowTextで取得で可能ですし、 アプリケーションのパスであれば、  http://sumishiro.blogspot.jp/2009/09/blog-post_30.htmlが参考になりました。  しかしドキュメントファイルのパスを取得する方法がどうしてもわかりません。 例えば、ワードでtest.docxを開いているとき、そのウィンドウハンドルからwinword.exeのフルパスでなく、test.docxのフルパスを取得する方法です。(ワード、エクセル等だけでなく画像ビューアーが画像ファイルを開いているとき、その画像ファイルのフルパスの取得) どうぞよろしくお願いいたします。

  • Wordの拡張子docを、一括してテキストファイルに変換したい。

    お世話になります。 ワード文書のファイル名にある拡張子のdocをtxtに変更すれば、テキスト文書になりますが、複数のWORD文書を一回の操作で拡張子をtxtに変更(テキストファイルに)する方法を教えてください。 よろしくお願いします。

  • フォルダを開いたときに特定の拡張子のファイルのみを表示したい

    フォルダを開いたときに特定の拡張子のファイルのみを表示したい エクスプローラでフォルダを開いたときに、特定の拡張子を持ったファイルの情報のみを表示したいのです。 たとえば、*.txt と *.doc のみだけを表示するにはどのようにしたらよいのでしょうか?

  • 謎のファイル?

    友人からメールでMS-Word2000のファイルを 添付して送ってもらうのですが、 本来拡張子は「.doc」のはずですが なぜか「.dat」のファイルが送られてきます。 本人はWord文書で保存したファイルを何もいじらずに 送っているというのですが。 そこで質問なんですが 「.dat」のファイルはどのアプリケーションのファイルなのでしょう? またなぜ拡張子が変わるのでしょうか? 困ってますのでよろしくお願いいたします。

  • odt形式からdoc形式の変換について

    先日知人から送られたワードファイルの拡張子がodtでした。 これをdoc拡張子にして通常のワードとして読むにはどうしたら良いのでしょうか? PC初心者ですが、どなたか分かる方教えて頂ければ幸いです。

  • Archive fileの拡張子は

    何かしたのだと思いますがいつのまにか ファイルタイプのArchive fileを開くアプリケーションがWINWORD になってしまいました。Archive fileの拡張子およびアプリケーションは何に設定し直せば良いか教えてください。また、その他の拡張子・アプリケーションがわかる一覧などがあれば教えてください。WINDOWS98を使っています。

  • 拡張子がないファイルがあります。中を見るには?

    当方、パソコン初級者です。OSは Vista のダウングレード XP 版です。 中身が見られないファイルがあります。取扱い方のアドバイスをお願いします。 右上隅が紙をめくったような形の四角の中に、もうひとつ、上のほうに青色の帯が入った四角いマーク(細かくて中身が判らない)が入っているアイコンがついた、ファイルがいつの間にかできていました。エクスプローラでファイルを調べているときに発見しました。ファイル名は 50B11100 とか 99CDD000 というようなものです。ファイル名に思い当たりはありません。(なお、このアイコンは、別のPC(OS はWindows 2000)では、Windowsの旗がなびいたようなアイコンになります。)  エクスプローラでの表示は、たとえば [四角いアイコン] 50B11100 9KB ファイル 2012/10/01 12:57 となっております。フォルダオプションで、拡張子を表示するようにしてありますが、そのファイルだけ拡張子が出ていません。プロパテイをみると、アーカイブにチェックが入っています。 他のワードやエクセルのファイルは、.docとか .xls のように正しく現れています。 Notepad あるいは WordPadで開いてみましたが、文字化けしたものがでてくるだけです。 通常、ワードやエクセルを使っていますが、支障は出ていません。ウイルスに感染したような様子もありません。また、作成した筈のファイルが見当たらない、という事態にも、今のところ遭遇していません。 このような正体不明のファイルでも、中身を見ることが出来るのでしょうか。アドバイスお願いします。