From: yamataka@...08.itscom.net Date: 2015-07-03T16:58:29+09:00 Subject: [ruby-list:50199] Re: [質問] Win32OLE Excel ネットワーク上のファイルOpen失敗 山口です。 > 成田です。 > > > anet_file = getAbsolutePath('\\\\A.B.C.D\yama\tmp\net.xlsx') > ではなく > > > anet_file = getAbsolutePath('\\\\A.B.C.D\\yama\\tmp\\net.xlsx') > > だと思います。 > > [\]をあらわすためには[\\]としないと予期した動きになりません。 > [\\]をあらわすためには[\\\\]です。 > > 私の環境でやってみたらExcelのファイルが開けましたので。 そうですか.... > 以上、ご確認ください。 ご教示ありがとうございます。 ご教示の内容を、実は試してはいたのですが、症状変わらずです。 > 山縣です。 > > #もう、ruby の世界の話ではないとは思いますが... ですね。 > OS のバージョンが分からないのですが、 > UAC が有効になっているのあれば、 > UACを無効化して試してみてはいかがでしょうか? これも試してみたのですが、症状変わらずです。 環境及びご教示頂いた対応を下記に全てまとめました。 他にも何かあれば、ご教示頂ければ幸いです。 Windows 8 Enterprise CYGWIN_NT-6.2 JPC20156460 2.0.4(0.287/5/3) 2015-06-09 12:22 x86_64 Cygwin ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-cygwin] http://qiita.com/t_oginogin/items/ddbeaac0a7e407dfd3c4 を参考に、Desktopフォルダ作成 yama@JPC20156460:/cygdrive/c/Temp$ ls -lg /cygdrive/c/Windows/SysWOW64/ config/systemprofile 合計 0 drwxrwx---+ 1 SYSTEM 0 7月 2 18:02 ./ drwxrwx---+ 1 SYSTEM 0 7月 26 2012 ../ drwxrwx---+ 1 SYSTEM 0 6月 23 11:43 AppData/ drwxrwxrwx+ 1 Administrators 0 7月 2 18:02 Desktop/ drwxrwx---+ 1 SYSTEM 0 6月 23 11:44 Intel/ UAC無効化→Windows Reboot yama@JPC20156460:/cygdrive/c/Temp$ cygstart //43.2.68.190/yama/tmp/net. xlsx で excel ファイル開けれる yama@JPC20156460:/cygdrive/c/Temp$ cygstart \\\\43.2.68.190\\yama\\tmp\\ net.xlsx で excel ファイル開けれる Ruby スクリプトは下記。 yama@JPC20156460:/cygdrive/c/Temp$ cat tako.rb #! /bin/ruby # coding: cp932 require 'win32ole' def getAbsolutePath filename fso = WIN32OLE.new('Scripting.FileSystemObject') return fso.GetAbsolutePathName(filename) end net_file = '\\\\43.2.68.190\\yama\\tmp\\net.xlsx' anet_file = getAbsolutePath(net_file) excel = WIN32OLE.new('Excel.Application') excel.visible = true net_workbook = excel.workbooks.open(anet_file) 補足 net_file = 'C:\Temp\local.xlsx' とローカルのexcelファイルは、問題なく開けれる。