ほんとはVBAだけでショートカットのリンク先を一括変換したかったんだけど、調べた限りできそうもないのでVBSを呼び出して変換することにした。
その変換するための第一弾がこれです。
■VBA側
Sub Shellbat()
'**************************************************
'VB/VBAからShell関数を使い.vbsを実行する
'**************************************************
'上記注意①~⑥必須
Dim strPath As String
Dim RetVal As Variant
Dim para1, para2 As String
para1 = "ishikawa"
para2 = "takuboku"
strPath = "D:\Access\VBAからVBSコール\test.vbs"
RetVal = Shell("WScript.exe """ & strPath & """" & " " & para1 & " " & para2)
If RetVal <> 0 Then
MsgBox strPath & vbCr & "実行されました。", vbInformation, "[タスクID]" & RetVal
Else
MsgBox strPath & vbCr & "実行出来ません。", vbCritical, "[ERROR]"
End If
End Sub
■VBS側
WScript.Echo "test.vbs"
'変数 Prms に引数コレクションを取得
Set Prms = WScript.Arguments
'引数の数だけループ
For i = 0 To Prms.Count - 1
WScript.Echo "パラメータ(" & i & ")→" & Prms(i)
Next
WScript.EchoWScript.Arguments(0) ' 1番目のパラメータ
WScript.EchoWScript.Arguments(1) ' 2番目のパラメータ