[ruby-list:50199] Re: [質問] Win32OLE Excel ネットワーク上のファイルOpen失敗
From:
<yamataka@...08.itscom.net>
Date:
2015-07-03 07:58:29 UTC
List:
ruby-list #50199
山口です。
> 成田です。
>
> > 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ファイルは、問題なく開けれる。