関数・メソッド

指定ファイルのショートカットを作成する【WshShell】【WshShortcut】【ExcelVBA】

設定やプロパティ

プロパティ説明
Argumentsリンク先に渡す引数を指定(アプリに引数指定がある場合等)
Descriptionショートカットの説明文
FullName作成したショートカットの絶対パス(フルパス)
Hotkeyショートカットキーを割当 Alt/Ctrl/Shift/a-z/0-9/F1-F12。例”Ctrl+Alt+x”
IconLocationアイコンを文字列で指定
Saveショートカット作成処理
TargetPathショートカットにするファイルやフォルダを指定
WindowStyleウィンドウの大きさを指定 1標準3最大化7最小化
WorkingDirectory作業フォルダを指定

指定ファイルのショートカットを作成するサンプルコード


Public Sub sample()
    '要参照設定 Windows Script Host Object Model
    Dim wsh As New IWshRuntimeLibrary.WshShell
    
    Dim ShortCutPath As String: ShortCutPath = "C:\vba\sample.lnk"    '■ショートカットを作る先を指定
    Dim sTargetPath As String: sTargetPath = ThisWorkbook.FullName    '■ショートカット元ファイルを指定(自分自身のファイルの場合)
   ' Dim sTargetPath As String: sTargetPath = "C:\Users\User\Desktop\Book1.xlsm"    '■ショートカット元ファイルを指定(指定の場合)
    
    With wsh.CreateShortcut(ShortCutPath)
        .TargetPath = sTargetPath
        '.WorkingDirectory = "C:\Users\User\Desktop\" '作業フォルダ
        '.Hotkey = "Ctrl+Alt+X"
        '.WindowStyle = 1                             '標準で開く
        '.Description = "コメント"
        '.IconLocation = "%SystemRoot%\system32\SHELL32.dll, 10"  '10番アイコン
        .Save                                        'ショートカットを保存
    End With
    
    Set wsh = Nothing
    
End Sub


注意点

  • 事前にVBE→ツール(T)→参照設定(R)より「Windows Script Host Object Model」設定必要です。
  • ファイルでなくフォルダを指定したい場合はこちら

関連記事

コメント

タイトルとURLをコピーしました