Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8463 / 13646 ツリー ←次へ | 前へ→

【33169】ハイパーリンクのパス設定 とがし 06/1/4(水) 12:37 質問[未読]
【33171】Re:ハイパーリンクのパス設定 Kein 06/1/4(水) 13:10 回答[未読]
【33173】Re:ハイパーリンクのパス設定 とがし 06/1/4(水) 14:53 お礼[未読]

【33169】ハイパーリンクのパス設定
質問  とがし  - 06/1/4(水) 12:37 -

引用なし
パスワード
   お世話になります。
よくわからないので、教えていただきたく質問いたします。

EXCELから、全く別のソフトを立ち上げたいと考えています。
ソフトはマイクロソフトのアプリケーション以外のもので、何で作られているかはわかりません。

「新しいマクロの記録」で、行うと、
 挿入⇒ハイパーリンク⇒ソフトを指定⇒
 ACTIVECELLに「..\..\..\フォルダー名\ファイル名.lnk」が表示され、
 (ショートカットから立ち上げるように設定されているソフトのようです)
 そこをクリックし、ソフトが立ち上がったら、記録を終了、とすると
 Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
 が記録され、これをコマンドボタンへ登録すれば、立ち上がるのですが、

私がやりたいことは、
例えば、
セルA1に、ソフトのあるドライブ名を
セルB1に、同フォルダー名を
セルC1に、同ファイル名を
入力することにより、そのソフトがどこにあっても、EXCEL側で
パスを設定すれば、開くようにしたいと思っています。

マクロ等はあまり経験がないのですが、過去ログを見て試したり、ソフトではなく
EXCELを立ち上げて、その後変更したりもしましたが、うまくできません。

お分かりになる方、教えていただけないでしょうか?

【33171】Re:ハイパーリンクのパス設定
回答  Kein  - 06/1/4(水) 13:10 -

引用なし
パスワード
   >マイクロソフトのアプリケーション以外
マイクロソフト製であろうと無かろうと、Shell関数やWshShell オブジェクトのRun
メソッドを使えば、立ち上げることが出来ます。引数には、目的のソフトのフルパス
を渡す必要がありますが、それは "〜.lnk" のファイルしか分からないなら
それを右クリックした時のメニューで「プロパティ」を選択し「ショートカット」タブ
の「リンク先」という窓に出ています。Shell関数やRunメソッドについての情報は、
過去ログを検索すればたくさん見つかると思います。なお
>入力することにより、そのソフトがどこにあっても、EXCEL側で
>パスを設定すれば、開くようにしたい
これはちょっと矛盾してますね。フルパスを指定するということは、それが予め
取得できてないと出来ない行為です。もっとも "保存先フォルダーまでは知っているが
ファイル名は分からない、しかしそのファイルの拡張子は exe てせある" などという
条件でなら、Dir関数などを使ってファイル名の "候補" を並べたり、
GetOpenFilename でそのフォルダーを開いてユーザーにファイルを選択してもらい、
それをShell関数で開く、などの処理は出来ますが。

【33173】Re:ハイパーリンクのパス設定
お礼  とがし  - 06/1/4(水) 14:53 -

引用なし
パスワード
   Kein さんへ

早速の返信ありがとうございました。

Shell関数はちょっと知らないのですが、まずは調べて、やってみます。

8463 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free