• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:CreateShortCut 環境変数のままで参照)

CreateShortCut 環境変数のままで参照

このQ&Aのポイント
  • VBScript の CreateShortCut を使用して、環境変数を含むショートカットを参照する方法はありますか?
  • CreateShortCut を使用して作成したショートカットの TargetPath を取得する際、環境変数が正しく解釈されずに置換されてしまう場合があります。環境変数を含んだままでショートカットのパスを取得する方法はありますか?
  • VBScript の CreateShortCut を使用して作成したショートカットのパスを環境変数のままで取得したいです。解決策があれば教えてください。

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

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

言おうとしてる事がちょっと理解できません。 疲れてるのかな。。。 CreateShortCut メソッドで作成された ShortCut オブジェクトの TargetPath に設定するリンク先ファイル名のパスの記述方法ですよね? 下記コードの最終行 (A) とその前の行 (B)、2種類の書き方で試しましたが、(A) の場合は 「%SystemRoot%\System32\notepad.exe」 となり、(B) の場合は 「C:\Windows\System32\notepad.exe」 となりましたが? Dim objShell Set objShell = CreateObject("WScript.Shell") Dim desktopPath desktopPath = objShell.SpecialFolders("Desktop") Dim lnkPath lnkPath = desktopPath + "\メモ帳.lnk" Dim objShortCut Set objShortCut = objShell.CreateShortcut(lnkPath) objShortCut.TargetPath = "%SystemRoot%\System32\notepad.exe" ' -- (A) objShortCut.TargetPath = "C:\Windows\System32\notepad.exe" ' --(B)

saisho_wa_goo
質問者

お礼

説明不足でした。 ショートカットを作成するのではなく、既に存在しているショートカットファイルの設定内容を読み出した時の質問です。 私も Create ShortCut という名称が「へんだな」とは思っていたのですが、質問に書いたコードで既存ファイルの内容を読み出せています。Saveしないで終了すればタイムスタンプも変わりません。 今確認してみたら、マイクロソフトのドキュメントには作成する説明しかありませんでしたが、@ITには(次のページの最後に)読み出しでも使えるとの記述がありました。 http://www.atmarkit.co.jp/fwin2k/tutor/cformwsh14/cformwsh14_02.html もしかしたらマイクロソフト(CreateShortCut作成者)としては、参照は想定外の使い方なのかも知れません。 既存のショートカットファイルの内容が環境変数で設定されていれば、その環境変数のままの設定値を知る方法は無いでしょうか? よろしくお願いします。

関連するQ&A