From: yamataka@...08.itscom.net Date: 2015-07-02T13:48:17+09:00 Subject: [ruby-list:50191] Re: [質問] Win32OLE Excel ネットワーク上のファイルOpen失敗 山口です。 > たしか、下記のcygwin用の絶対pathの取得を入れるとうまくいくかもしれない です。 > http://magazine.rubyist.net/?0004-Win32OLE > この辺りのコードです。 > fso = WIN32OLE.new('Scripting.FileSystemObject') > net_file = fso.GetAbsolutePathName('\\roswell\share_data\net.xlsx') ご教示ありがとうございます。 #! /bin/ruby # coding: cp932 require 'win32ole' def getAbsolutePath filename fso = WIN32OLE.new('Scripting.FileSystemObject') return fso.GetAbsolutePathName(filename) end alocal_file= getAbsolutePath('C:\Temp\local.xlsx') anet_file = getAbsolutePath('\\A.B.C.D\yama\tmp\net.xlsx') excel = WIN32OLE.new('Excel.Application') excel.visible = true local_workbook = excel.workbooks.open(alocal_file) net_workbook = excel.workbooks.open(anet_file) で、試してみましたが、 anet_file = getAbsolutePath('\\A.B.C.D\yama\tmp\net.xlsx') では、 'C:\A.B.C.D\yama\tmp\net.xlsx' が見つかりません と表示され、network上のファイルが、ローカルファイルとして取り扱われてい るエラーメッセージが表示されます。 anet_file = getAbsolutePath('//A.B.C.D/yama/tmp/net.xlsx') では、# \\A.B.C.D\yama\tmp\net.xlsx' にアクセスできません と表示され、GetAbsolutePathName を用いても、残念ながら解決に至りませんで した。