我正在编写一个 ruby 脚本来遍历包含要在Microsoft Excel中打开的文件路径列表的文件。我读了这样的文件:
file_names = IO.readlines('D:\TEST_1\file_names.txt')
接下来,我从解析文件的每一行创建一个文件名数组(因此包含一个文件路径数组)。最后,我使用以下代码遍历该数组,以打开文档:
require 'win32ole'
xl = WIN32OLE.new('Excel.Application')
xl.Visible = 1
file_names.each do |file_name|
wb1=xl.Workbooks.Open(file_name)
ws1=wb1.worksheets(1)
end
第一次调用 parsefile_names.txt
产生了这个异常,我很难理解:
Test4.rb:6:in 'method_missing' OLE 错误代码:800A03EC 在 Microsoft Office Excel 'D:\Test_1\1.xlsx' 中找不到。检查文件名的拼写,并验证文件位置是否正确。
如果您尝试从最近使用的文件列表中打开文件,请确保该文件未被重命名、移动或删除 HR 错误代码:0x80020009 发生异常。来自 Test4.rb:6:in 'block in' from Test4.rb:5:in 'each' from Test4.rb:5:in ''
当我将单个文件名(而不是文件路径)作为参数传递时,不会出现此错误 - 那么为什么我会在这里得到它?任何帮助将非常感激。