• ベストアンサー

フォルダのショートカット作成VBA

環境:Excel2002です エクセルブック【×××】で作業後 VBAで フォルダ<aaa>を作りフォルダ<aaa>の中に ブック【bbb】という名前をつけて保存します この時 フォルダ<aaa>のショートカットをマイドキュメントに作りたいのです マイドキュメントの場所が使用するPCによって異なるので マイドキュメントの場所を取得して フォルダ<aaa>のショートカットをマイドキュメントに作る この一連の作業をVBAでやりたいのです お手数をおかけしますがよろしくお願いします

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

  • ベストアンサー
  • kybo
  • ベストアンサー率53% (349/647)
回答No.2

フォルダのショートカットの場合は、以下の様な感じになります。 フォルダ<aaa>はVBAで作成しているのですよね。 そのパスに適宜変更して下さい。 Sub macro() Dim O As Object Dim S As Object Set O = CreateObject("WScript.Shell") Set S = O.CreateShortcut(O.SpecialFolders("MyDocuments") & "\aaa.lnk") S.Description = "aaa" S.TargetPath = "C:\aaa\" S.Save End Sub

sadacchi12
質問者

補足

パスの変更にチョットつまづきましたが どうにか動きました。ありがとうございました プロシージャーは下記にしました '◆マイドキュメントにフォルダのショートカットを作る Dim O As Object Dim S As Object Set O = CreateObject("WScript.Shell") Set S = O.CreateShortcut(O.SpecialFolders("MyDocuments") & "\" & DepoF & ".lnk") ’S.Description = DepoF S.TargetPath = SaveDir     S.Save 質問の例題の "C:\aaa\"がSaveDir、aaaがDepoFです S.Description = DepoFを殺しました S.Description = DepoFを生かすと マイドキュメントにショートカット(名前:DepoF)はできるのですが フォルダの色のショートカットにならず、案の定ショートカットでフォルダを開くことはできませんでした 試行錯誤ですがS.Description = DepoFを殺すと通常のフォルダの色のショートカットができあがり ショートカットでフォルダを開くことができました 質問の例題通り、Cドライブにフォルダ<aaa>、ブック【bbb】をセットして 回答いただいたプロシージャーを実行してもエラーは発生しませんでした S.Description = DepoFの意味と、エラーが発生する原因を教えていただけれと思います このままでは、なんか安心できないので……

その他の回答 (2)

  • kybo
  • ベストアンサー率53% (349/647)
回答No.3

>S.Description = DepoFの意味と、エラーが発生する原因を教えていただけれと思います ショートカットで右クリック→プロパティ→ショートカットのタブの「コメント」欄に記載のものです。 作成されたショートカット上にマウスをポイントしてみて下さい。 そうすれば、コメントが表示されますよね。それの設定ですので、特になくても問題ありません。 私のWindowsXP環境では問題なく作成されますが、OSの種類などで、エラーになるのかもしれませんので、消しても問題ないかと思います。

sadacchi12
質問者

お礼

ご丁寧にありがとうございました

  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

さっきの応用ですよ。 S.TargetPath = "C:\aaa\bbb.xls" の部分は、aaaのフォルダがどこに作成されているのか不明なので、パスは適宜変更して下さい。 Sub macro() Dim O As Object Dim S As Object Set O = CreateObject("WScript.Shell") Set S = O.CreateShortcut(O.SpecialFolders("MyDocuments") & "\bbb.lnk") S.Description = "bbb" S.TargetPath = "C:\aaa\bbb.xls" S.Save End Sub