• ベストアンサー

VBAでショートカットのプロパティを変更するには

いつもお世話になります。 下記のようなフォルダがあり、"CCC.xls"から"AAへのショートカットショートカット"をアクセスして、"AAA.jpg"を開いています。 D:\A\AA\AAA.jpg D:\A\BB\AAAへのショートカット.lnk D:\A\CC\CCC.xls しかし、フォルダAごと別のドライブ(例E)にコピーした場合、ショートカットのプロパティを確認するとDドライブのままになっているため、うまく動作しません。 そこで、ショートカットのプロパティをDドライブに変更したいのですが、方法を教えて頂けますでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

こちらが役に立つと思います。 lnkファイルのリンク先を取得する http://officetanaka.net/other/extra/tips12.htm

Tracky
質問者

お礼

ご回答ありがとうございました。 解決できました。

その他の回答 (1)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 話が良く分からないですね。 >D:\A\BB\AAAへのショートカット.lnk これは。フォルダ指定(変更)のショートカットでは? ショートカットなど使わずに、直接、VBAで処理すればよいと思うのです。あえて、ショートカットを書き換えようなんて、難しいことを考えなくてもよいと思うのです。 それに、ファイルをCopy したところで、VBAでは、ドライブが存在する限りは、フル・ファイル名を入れれば、カレントドライブは関係ないと思います。 それと、例えば、 Fname ="D:\A\AA\AAA.jpg" Set objWshShell = CreateObject("WScript.Shell") objWshShell.Run Fname で開けばよいのでは? ただし、ドライブ+フォルダ+ファイル名は、ショートネーム(8.3型)にしてください。(質問のままなら、8.3型で使えます。) jpg の拡張子のアプリケーションが登録されていることが条件ですから、そうでない場合は、Shell で、アプリケーションから開く必要があります。

Tracky
質問者

お礼

ご回答ありがとうございます。 敢えてショートカットにしているのは、フォルダ内に複数のjpgファイルがあり、これらのファイルはエクセルと同じフォルダに置いたショートカットからアクセスしたかったわけです。 説明が適切でなく申し訳りませんでした。 D:\A\AA\AA1.jpg, AA2.jpg・・・  D:\B\BB\AAAへのショートカット.lnk D:\B\CC\CCC.xls

関連するQ&A

専門家に質問してみよう