- 締切済み
EXPLORERからフォルダショートカットを正しく起動させる方法。
いつもお世話になっております。 空のフォルダtestを作成し、そのショートカットを作ります。 それをVB/VBAよりEXPLORERにて開こうとしています。 下記内容にて記述。 ShellExecute(0, "Open", "EXPLORER.EXE", "/n,/e,C:\test.lnk", " ", SW_SHOW) しかしながら「ファイルのダウンロード、セキュリティーの警告」と言うメッセージが出てしまいます。その後は正常です。 そこで、このメッセージを無くしたいと考えています。 パラメータなどがあるのではないかと思っていますが、ご存知の方宜しくお願い致します。 環境:VB6.0 VBA-Excel2000/2003
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- KenKen_SP
- ベストアンサー率62% (785/1258)
こんばんは。KenKen_SP です。 > 只今ショートカットからリンク先を取得して... その後どうなりましたか? API で取得関数があるかな...と思いましたが、どうも非常に難しいよう ですね。一応 LNK ファイルのフォーマットが非公式ながら公開されている ので、バイナリ解析によるパス取得関数は作れそうですよ。ただ、結構 面倒くさいので、やはり WSH を使うのが楽なんですよね。 > 条件としてWSHは使いたくなかったんです。 その理由も良かったら教えて下さい。
- KenKen_SP
- ベストアンサー率62% (785/1258)
こんにちは。 直接フォルダを Shell で開けば良いだけな気がしますが.... Shell "explorer.exe " & Chr(34) & "C:\sample" & Chr(34), vbNormalFocus ショートカットを開く形にしたいなら、 ' Run strCommand, [intWindowStyle], [blnWaitOnReturn] CreateObject("Wscript.Shell").Run "C:\test.lnk", 1 てな感じでどうですか?
お礼
ご回答有難う御座います。 すみません、言い忘れました。 条件としてWSHは使いたくなかったんです。 只今ショートカットからリンク先を取得して shellで開こうかと考えています。
お礼
度々のご回答有難う御座います。 WSHを使いたくなかったのはユーザーにwin98/2000と 古いPCがあるためインストールの手間を省きたいからです。 別件で時間が取れなくなったため、取り敢えずはWSHを使って 以下の記述にて対応しています。 Set fs = CreateObject("Wscript.Shell") ’リンク先文字の取得 Set fsObj = fs.CreateShortcut("c:\test.lnk") Result = fs.Run(fsObj.TargetPath, 1) XP/2000であればマイコンピュータもマイネットワークも開きました。 参考になる情報ありましたら今後とも宜しくお願い申し上げます。