0

命令提示符不起作用,因为我使用通用路径打开 Excel 文件。这是错误消息:

T:\PointOfSale\Projects\Automated Testing\TASWeb\TP\TP_Branch>ruby -rubygems Tes tTP_UK.rb TestTP_UK.rb:19:in 'method_missing': (in OLE method `Open': )(WIN32OLERuntimeEr ror) OLE error code :800A03EC 在 Microsoft Excel './../../../MasterFile.xls' 中找不到。检查文件名的拼写,并验证文件位置是否正确。

如果您尝试从最近使用的文件列表中打开该文件,请确保该文件未被重命名、移动或删除。HRESULT 错误代码:0x80020009 发生异常。来自 TestTP_UK.rb:19:in `'在此处输入代码'

通用路径代码

excel = WIN32OLE::new("excel.Application")
path = "#{File.dirname(__FILE__)}/../../../MasterFile.xls"
workbook = excel.Workbooks.Open(path)
worksheet = workbook.WorkSheets(1) # Get first workbook
site = worksheet.Range('A2').Value # Get the value at cell in worksheet.
workbook.Close
excel.Quit

有任何想法吗

4

1 回答 1

1

我相信您在打开文件时需要使用绝对路径而不是相对路径:

path = File.expand_path("../../../../MasterFile.xls", __FILE__)

请注意,在使用 expand_path 时,您还需要一个额外的 '..',因为第一个 '..' 将从文件中返回。

于 2013-05-23T13:02:19.277 回答