
wdoc = wd.Documents.open File.expand_path(doc)としてください。ここからわかること。MSもパスの区切りに'\'を使うのが必ずしも良いと思ってるわけじゃなさそうだということ。Wordは'/'でもちゃんと処理する。
Private Sub ScriptControl_Error()
MsgBox "ScriptError: " & Hex(Ruby.Error.Number) & ", " & _
Ruby.Error.Description & ", Line=" & _
Ruby.Error.Line
End Sub
#上のコードのRubyというのは、ScriptControlの変数名
shell = WIN32OLE.new("WScript.Shell")
sc = shell.CreateShortCut("d:\\work\\lsa.lnk")
sc.targetPath = "c:\\winnt\\system32\\posix.exe"
sc.Arguments = "/C c:\\progra~1\\bin\\ls.exe -l -a"
sc.save
locator = WIN32OLE.new("WbemScripting.SWbemLocator.1")
service = locator.ConnectServer
cols = "Caption, ProcessID"
set = service.ExecQuery(
"select #{cols} from Win32_Process where name = '#{ARGV[0]}'")
set.each {|proc|proc.Terminate 0}
cells.item(1, i).columnWidth = x[1]
regsvr32 /u LifeCanvas.dllと、"/u"オプションを付けて実行します。(パスの設定は登録時と同様です)
regsvr32 /hでヘルプが見られるよとの情報をいただいておりますので、ご参考まで。