技術情報
WshShortcutオブジェクト
ショートカットを扱うためのオブジェクトです。
WshShellオブジェクトのCreateShortcutメソッドが返すオブジェクトです。

[オブジェクトの生成]
Set オブジェクト変数 = WshShellオブジェクト.CreateShortcut(...)

プロパティ
  • Argumentsプロパティ
  • ショートカットの引数を設定または取得します。

    書式 "WshShortcutオブジェクト".Arguments

    (例)
    'ショートカットを作成します
    Dim oShell, oLink, StrPath
    Set oShell = WScript.CreateObject("WScript.Shell")
    StrPath = oShell.SpecialFolders("Desktop")
    Set oLink = oShell.CreateShortcut(StrPath & "\Test.lnk")
    oLink.Arguments = "/Param:1000"
    oLink.Description = "テストアイコン"
    oLink.Hotkey = "ALT+G"
    oLink.IconLocation = "%WINDIR%\system32\shell32.dll, 0"
    oLink.TargetPath = "C:\Temp\myApp.exe"
    oLink.WindowStyle = 1
    oLink.WorkingDirectory = "C:\Temp"
    oLink.Save

  • Descriptionプロパティ
  • ショートカットの説明を設定または取得します。

    書式 "WshShortcutオブジェクト".Description

    (例)
    'ショートカットを作成します
    Dim oShell, oLink, StrPath
    Set oShell = WScript.CreateObject("WScript.Shell")
    StrPath = oShell.SpecialFolders("Desktop")
    Set oLink = oShell.CreateShortcut(StrPath & "\Test.lnk")
    oLink.Arguments = "/Param:1000"
    oLink.Description = "テストアイコン"
    oLink.Hotkey = "ALT+G"
    oLink.IconLocation = "%WINDIR%\system32\shell32.dll, 0"
    oLink.TargetPath = "C:\Temp\myApp.exe"
    oLink.WindowStyle = 1
    oLink.WorkingDirectory = "C:\Temp"
    oLink.Save

  • FullNameプロパティ
  • ショートカットのパスを取得します。

    書式 "WshShortcutオブジェクト".FullName

    (例)
    'ショートカットを作成します
    Dim oShell, oLink, StrPath
    Set oShell = WScript.CreateObject("WScript.Shell")
    StrPath = oShell.SpecialFolders("Desktop")
    Set oLink = oShell.CreateShortcut(StrPath & "\Test.lnk")
    oLink.Arguments = "/Param:1000"
    oLink.Description = "テストアイコン"
    oLink.Hotkey = "ALT+G"
    oLink.IconLocation = "%WINDIR%\system32\shell32.dll, 0"
    oLink.TargetPath = "C:\Temp\myApp.exe"
    oLink.WindowStyle = 1
    oLink.WorkingDirectory = "C:\Temp"
    oLink.Save

    '作成したショートカットのパスを表します
    WScript.Echo oLink.FullName

  • Hotkeyプロパティ
  • ショートカットへのキー割り当てを設定または取得します。

    書式 "WshShortcutオブジェクト".Hotkey

    (例)
    'ショートカットを作成します
    Dim oShell, oLink, StrPath
    Set oShell = WScript.CreateObject("WScript.Shell")
    StrPath = oShell.SpecialFolders("Desktop")
    Set oLink = oShell.CreateShortcut(StrPath & "\Test.lnk")
    oLink.Arguments = "/Param:1000"
    oLink.Description = "テストアイコン"
    oLink.Hotkey = "ALT+G"
    oLink.IconLocation = "%WINDIR%\system32\shell32.dll, 0"
    oLink.TargetPath = "C:\Temp\myApp.exe"
    oLink.WindowStyle = 1
    oLink.WorkingDirectory = "C:\Temp"
    oLink.Save

  • IconLocationプロパティ
  • ショートカットに割り当てるアイコンを設定または取得します。

    書式 "WshShortcutオブジェクト".IconLocation
    アイコンファイルのパスとそのファイル内で関連づけられているインデックスを「,」(カンマ区切り)を組み合わせた文字列(「アイコンファイルパス,インデックス」)を指定します。
    インデックスは 0 から始まります。
    例えば、IEXPLORE.EXEに関連づけられているアイコンの中から3つめのアイコンを使用するには、
    「"WshShortcutオブジェクト".IconLocation = "%ProgramFiles%\Internet Explorer\IEXPLORE.EXE, 2"」
    となります。

    (例)
    'ショートカットを作成します
    Dim oShell, oLink, StrPath
    Set oShell = WScript.CreateObject("WScript.Shell")
    StrPath = oShell.SpecialFolders("Desktop")
    Set oLink = oShell.CreateShortcut(StrPath & "\Test.lnk")
    oLink.Arguments = "/Param:1000"
    oLink.Description = "テストアイコン"
    oLink.Hotkey = "ALT+G"
    oLink.IconLocation = "%WINDIR%\system32\shell32.dll, 0"
    oLink.TargetPath = "C:\Temp\myApp.exe"
    oLink.WindowStyle = 1
    oLink.WorkingDirectory = "C:\Temp"
    oLink.Save

  • TargetPathプロパティ
  • ショートカットの作成対象となるファイルへのパスを設定または取得します。

    書式 "WshShortcutオブジェクト".TargetPath

    (例)
    'ショートカットを作成します
    Dim oShell, oLink, StrPath
    Set oShell = WScript.CreateObject("WScript.Shell")
    StrPath = oShell.SpecialFolders("Desktop")
    Set oLink = oShell.CreateShortcut(StrPath & "\Test.lnk")
    oLink.Arguments = "/Param:1000"
    oLink.Description = "テストアイコン"
    oLink.Hotkey = "ALT+G"
    oLink.IconLocation = "%WINDIR%\system32\shell32.dll, 0"
    oLink.TargetPath = "C:\Temp\myApp.exe"
    oLink.WindowStyle = 1
    oLink.WorkingDirectory = "C:\Temp"
    oLink.Save

  • WindowStyleプロパティ
  • ショートカットのリンク先のファイルを起動した際のウィンドウの状態を設定または取得します。

    書式 "WshShortcutオブジェクト".WindowStyle
    ウィンドウ状態は以下のいずれかの整数となります。
    説明
    1 ウィンドウをアクティブにして表示します。ウィンドウが最小化または最大化されている場合は、元のサイズと位置に戻ります。
    3 ウィンドウをアクティブにし、最大化ウィンドウとして表示します。
    7 ウィンドウを最小化し、次に上位となるウィンドウをアクティブにします。

    (例)
    'ショートカットを作成します
    Dim oShell, oLink, StrPath
    Set oShell = WScript.CreateObject("WScript.Shell")
    StrPath = oShell.SpecialFolders("Desktop")
    Set oLink = oShell.CreateShortcut(StrPath & "\Test.lnk")
    oLink.Arguments = "/Param:1000"
    oLink.Description = "テストアイコン"
    oLink.Hotkey = "ALT+G"
    oLink.IconLocation = "%WINDIR%\system32\shell32.dll, 0"
    oLink.TargetPath = "C:\Temp\myApp.exe"
    oLink.WindowStyle = 1
    oLink.WorkingDirectory = "C:\Temp"
    oLink.Save

  • WorkingDirectoryプロパティ
  • ショートカットのリンク先のファイルを起動した際の作業ディレクトリを設定または取得します。

    書式 "WshShortcutオブジェクト".WorkingDirectory

    (例)
    'ショートカットを作成します
    Dim oShell, oLink, StrPath
    Set oShell = WScript.CreateObject("WScript.Shell")
    StrPath = oShell.SpecialFolders("Desktop")
    Set oLink = oShell.CreateShortcut(StrPath & "\Test.lnk")
    oLink.Arguments = "/Param:1000"
    oLink.Description = "テストアイコン"
    oLink.Hotkey = "ALT+G"
    oLink.IconLocation = "%WINDIR%\system32\shell32.dll, 0"
    oLink.TargetPath = "C:\Temp\myApp.exe"
    oLink.WindowStyle = 1
    oLink.WorkingDirectory = "C:\Temp"
    oLink.Save


メソッド
  • Saveメソッド
  • CreateShortcutメソッドを使って作成したショートカットオブジェクトを保存します。
    ショートカットを作成したら必ずこのメソッドを実行して保存しなければなりません。

    書式 "WshShortcutオブジェクト".Save

    (例)
    'ショートカットを作成します
    Dim oShell, oLink, StrPath
    Set oShell = WScript.CreateObject("WScript.Shell")
    StrPath = oShell.SpecialFolders("Desktop")
    Set oLink = oShell.CreateShortcut(StrPath & "\Test.lnk")
    oLink.Arguments = "/Param:1000"
    oLink.Description = "テストアイコン"
    oLink.Hotkey = "ALT+G"
    oLink.IconLocation = "%WINDIR%\system32\shell32.dll, 0"
    oLink.TargetPath = "C:\Temp\myApp.exe"
    oLink.WindowStyle = 1
    oLink.WorkingDirectory = "C:\Temp"
    oLink.Save