Excel VBA質問箱 IV

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

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


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

【63858】ショートカットを実行したい よっちい 09/12/23(水) 1:49 質問[未読]
【63860】Re:ショートカットを実行したい YU-TANG 09/12/23(水) 12:12 回答[未読]
【63866】Re:ショートカットを実行したい よっちい 09/12/23(水) 23:41 発言[未読]
【63869】Re:ショートカットを実行したい seg 09/12/24(木) 12:46 回答[未読]
【63873】Re:ショートカットを実行したい よっちい 09/12/25(金) 0:45 発言[未読]
【63864】Re:ショートカットを実行したい 超初心者 09/12/23(水) 23:12 発言[未読]
【63865】Re:ショートカットを実行したい よっちい 09/12/23(水) 23:38 発言[未読]
【63891】Re:ショートカットを実行したい よっちい 09/12/27(日) 0:14 お礼[未読]

【63858】ショートカットを実行したい
質問  よっちい  - 09/12/23(水) 1:49 -

引用なし
パスワード
   VBAからデスクトップ上に置かれた任意のショートカットを実行させたいのですが、どの本を調べてもやり方が載っていません。どのようなコードで実現可能なのでしょうか?もしかしてVBAからでは無理なものなのでしょうか・・・。どなたかご指導お願いいたします。

【63860】Re:ショートカットを実行したい
回答  YU-TANG  - 09/12/23(水) 12:12 -

引用なし
パスワード
   ▼よっちい さん:
>VBAからデスクトップ上に置かれた任意のショートカットを実行させたいのですが

CreateObject("Shell.Application").NameSpace(0&).ParseName("hoge へのショートカット.lnk").InvokeVerb

あるいは ShellExecute API を使うとか。

ファイル名の指定には、拡張子(ファイル ショートカットなら .lnk、
インターネット ショートカットなら .url)をお忘れなく。

【63864】Re:ショートカットを実行したい
発言  超初心者  - 09/12/23(水) 23:12 -

引用なし
パスワード
   ショートカットが、
*.exe ファイルにリンクしているのか?
それとも、エクセルファイルにリンクしているのか?

条件により、コードが違う やり方もあります。

【63865】Re:ショートカットを実行したい
発言  よっちい  - 09/12/23(水) 23:38 -

引用なし
パスワード
   ▼超初心者 さん:
>ショートカットが、
>*.exe ファイルにリンクしているのか?
>それとも、エクセルファイルにリンクしているのか?
>
>条件により、コードが違う やり方もあります。

ご意見ありがとうございます。
エクセルファイルにリンクしているショートカットです。
よろしくお願いいたします。

【63866】Re:ショートカットを実行したい
発言  よっちい  - 09/12/23(水) 23:41 -

引用なし
パスワード
   ▼YU-TANG さん:
>▼よっちい さん:
>>VBAからデスクトップ上に置かれた任意のショートカットを実行させたいのですが
>
>CreateObject("Shell.Application").NameSpace(0&).ParseName("hoge へのショートカット.lnk").InvokeVerb
>
>あるいは ShellExecute API を使うとか。
>
>ファイル名の指定には、拡張子(ファイル ショートカットなら .lnk、
>インターネット ショートカットなら .url)をお忘れなく。

回答ありがとうございます。
ただ当方VBA初心者なもので教えていただいたコードを実際に具体的にどう書いて動かすのかてんでわかりません。よろしければご指導のほどお願いいたします。

【63869】Re:ショートカットを実行したい
回答  seg  - 09/12/24(木) 12:46 -

引用なし
パスワード
   ▼よっちい さん:
>ただ当方VBA初心者なもので教えていただいたコードを実際に具体的にどう書いて動かすのかてんでわかりません。よろしければご指導のほどお願いいたします。

Sub test()
  Dim rt As Double
  rt = Shell("EXCEL C:\test.lnk", 1)
End Sub

【63873】Re:ショートカットを実行したい
発言  よっちい  - 09/12/25(金) 0:45 -

引用なし
パスワード
   ▼seg さん:
>▼よっちい さん:
>>ただ当方VBA初心者なもので教えていただいたコードを実際に具体的にどう書いて動かすのかてんでわかりません。よろしければご指導のほどお願いいたします。
>
>Sub test()
>  Dim rt As Double
>  rt = Shell("EXCEL C:\test.lnk", 1)
>End Sub

ご指導ありがとうございます。
一応私なりに試したのですが、PERSONAL.xlsがロックされ、ショートカットがみつからないとPCに怒られてしまい残念な結果でした。自分の知恵のなさに情けありません。

【63891】Re:ショートカットを実行したい
お礼  よっちい  - 09/12/27(日) 0:14 -

引用なし
パスワード
   皆様のせっかくのご指導を私の力不足ゆえに活かすことができませんでした。とりあえずこの場は閉めさせていただきます。皆様本当にありがとうございました。

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