[ruby-list:50193] Re: [質問] Win32OLE Excel ネットワーク上のファイルOpen失敗
From:
<yamataka@...08.itscom.net>
Date:
2015-07-02 05:05:31 UTC
List:
ruby-list #50193
山口です。
> 成田と申します。
>
> \は\\と書かなければならないので\\というのは\\\\となるという
> 事はないでしょうか?
>
> あてずっぽうで申し訳ありませんがご確認いただけないでしょうか。
成田さん、ご教示ありがとうございます。
念の為、環境は、
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]
です。
#! /bin/ruby
# coding: cp932
require 'win32ole'
def getAbsolutePath filename
fso = WIN32OLE.new('Scripting.FileSystemObject')
return fso.GetAbsolutePathName(filename)
end
anet_file = getAbsolutePath('\\\\A.B.C.D\yama\tmp\net.xlsx')
excel = WIN32OLE.new('Excel.Application')
excel.visible = true
net_workbook = excel.workbooks.open(anet_file)
で、\\\\A.B.C.D のように、指定しましたが、
yama@JPC20156460:/cygdrive/c/Temp$ ./tako.rb
./tako.rb:16:in `method_missing': (in OLE method `open': ) (
WIN32OLERuntimeError)
OLE error code:FFFFFFFF800A03EC in Microsoft Excel
ファイル '\\A.B.C.D\yama\tmp\net.xlsx' にアクセスできません。次の
いずれかの理由が考えられます。
• ファイル名またはパスが存在しません。
• ファイルが他のプログラムによって使用されています。
• 保存しようとしているブックと同じ名前のブックが現在開かれています。
HRESULT error code:0x80020009
Exception occurred.
from ./tako.rb:16:in `<main>'
の様に、エラーになってしまいます。