[ruby-list:50180] [質問] Win32OLE Excel ネットワーク上のファイルOpen失敗
From:
<yamataka@...08.itscom.net>
Date:
2015-06-25 01:07:51 UTC
List:
ruby-list #50180
山口と申します。
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]
の環境で、
yama@tnt:/cygdrive/c/Temp$ ls /cygdrive/c/Temp/local.xlsx
/cygdrive/c/Temp/local.xlsx*
yama@tnt:/cygdrive/c/Temp$ ls '\\roswell\share_data\ net.xlsx'
\\roswell\share_data\ net.xlsx
の2つの Excel ファイルを、Win32OLE を用いて、ExcelファイルをOpenしようと
しているのですが、
ネットワーク上のファイルOpenに失敗します。
#! /bin/ruby
# coding: cp932
require 'win32ole'
excel = WIN32OLE.new('Excel.Application')
local_file='C:\Temp\local.xlsx'
net_file ='\\roswell\share_data\net.xlsx'
excel.visible = true
local_workbook = excel.workbooks.open(local_file)
net_workbook = excel.workbooks.open(net_file)
のスクリプトを実行すると、
local_workbookは、ExcelのWorkbookが表示されるのですが、
net_workbook は、ExcelのWorkbookが、表示されずに、
OLE error code:FFFFFFFF800A03EC in Microsoft Excel
'\roswell\share_data\net.xlsx' が見つかりません。ファイル名およびファイ
ルの保存場所が正しいかどうかを確認してください。
最近使用したファイルの一覧からファイルを開こうとしている場合は、そのファ
イルの名前が変更されていないこと、移動または削除されていないことを確認し
てください。
HRESULT error code:0x80020009
Exception occurred.
from ./tako.rb:14:in `<main>'
が、表示されます。
エラーメッセージのネットワーク上の \\roswell ではなく \roswell となって
いるので、
net_file ='\\\roswell\share_data\net.xlsx'
と変更し、実行したところ、
エラーメッセージは、表示されなくなりましたが、
'\\roswell\share_data\net.xlsx" を開く事が出来ませんでした。
とのExcelのダイアログが表示されます。
解決方法をご存じであれば、ご教示いただけますでしょうか?
よろしくお願いします。