命令提示错误,因为我使用通用路径打开Excel文件

时间:2013-05-23 11:37:37

标签: ruby win32ole

命令提示它无法工作,因为我使用通用路径打开excel文件。以下是错误消息:

  

T:\ PointOfSale \ Projects \ Automated Testing \ TASWeb \ TP \ TP_Branch> ruby​​ -rubygems Tes   tTP_UK.rb   TestTP_UK.rb:19:在'method_missing'中:(在OLE方法中`打开':)(WIN32OLERuntimeEr   ROR)       OLE错误代码:Microsoft Excel中的800A03EC         找不到'./../../../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

任何想法

1 个答案:

答案 0 :(得分:1)

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

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

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