命令提示它无法工作,因为我使用通用路径打开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
任何想法
答案 0 :(得分:1)
我相信在打开文件时你需要使用绝对路径而不是相对路径:
path = File.expand_path("../../../../MasterFile.xls", __FILE__)
请注意,使用expand_path时还需要额外的“..”,因为第一个“..”将从文件中返回。