ショートカットを作成するには
指定されたファイルやフォルダのショートカットを作成するにはWshShellクラスとWshShortcutクラスを利用します。
WshShortcutクラスのWshShortcutオブジェクトを作るために、WshShellクラスのCreateShortcutメソッドを利用します。
説明よりもコードを見た方が分かりやすいと思います。
参照設定
参照設定は、VBA画面→ツールメニュー→参照設定で「Windows Script Host Object Model」を選択します。
これでWshShellクラスとWshShortcutクラスを利用できるようになります。
以下はWshShellクラスのインスタンス変数の作成サンプルです。書き方は2通りあります。どちらでもいいです。1つ目のように1行で書いてもいいですし、2つ目のように変数定義とSetを別に書いてもいいです。
Newを1行で書くか2行で書くかは「VBAでクラス変数の宣言とNewを1行で書いてよいか」をご参照ください。
1 |
Dim obj As New IWshRuntimeLibrary.WshShell |
1 2 |
Dim obj As IWshRuntimeLibrary.WshShell Set obj = New IWshRuntimeLibrary.WshShell |
WshShortcutクラスのメソッドやプロパティ
Arguments | リンク先に渡す引数を指定します。アプリケーションの引数などはここで設定します。 | ||||||||
Description | ショートカットの説明文を設定します。 | ||||||||
FullName | 作成したショートカットの絶対パスがフルパスで渡されます。 | ||||||||
Hotkey | ショートカットキーを割り当てます。Alt、Ctrl、Shiftとa-z、0-9、F1-F12などを指定します。”Ctrl+Alt+m”などの文字列を指定します。 | ||||||||
IconLocation | アイコンを文字列で指定します。”filepath, n”の形式で指定します。filepathにはアイコンを含むファイルを指定し、nにはアイコンを含むファイルの中で0から始まるn番目のアイコンであることを指します。”notepad.exe, 0″のように書きます。 | ||||||||
Save | ショートカットを作成します。 | ||||||||
TargetPath | ショートカットの先にある実体を指定します。 | ||||||||
WindowStyle | 実行中プログラムのウィンドウのスタイルを指定します。
|
||||||||
WorkingDirectory | 作業フォルダを指定します。 |
サンプルコード
フォルダのショートカットとファイルのショートカットを作成するサンプルコードです。
WshShortcutオブジェクトはWshShellオブジェクトのCreateShortcutメソッドを
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Sub ShortcutTest() Dim wsh As New IWshRuntimeLibrary.WshShell Dim sc As IWshRuntimeLibrary.WshShortcut '// aフォルダのショートカットのb.lnkを作成 Set sc = wsh.CreateShortcut("C:\test\b.lnk") sc.TargetPath = "C:\test\a" sc.Save '// test.txtのショートカットのtest.txt.lnkを作成 Set sc = wsh.CreateShortcut("C:\test\a\test.txt.lnk") sc.TargetPath = "C:\test\test.txt" sc.Save End Sub |