我有這段代碼適用於Excel。通過win32ole在ruby中打開幻燈片演示文稿
require 'win32ole'
excel = WIN32OLE.new('Excel.Application')
excel.visible = true
workbook = excel.Workbooks.Open('c:\file.xls');
但是我在使用PowerPoint時遇到了同樣的問題;這段代碼:
require 'win32ole'
ppt = WIN32OLE.new('Powerpoint.Application')
ppt.visible = true
presentation = ppt.Presentations.Open('c:\file.pptx');
生成此錯誤:
filename.rb in `method_missing': (in OLE method `Open':) (WIN32OLERuntimeError)
OLE error code:80004005 in <Unknown>
<No Description>
HRESULT error code:0x80020009
Exception occurred.
Microsoft Support site說,唯一需要的參數是文件名。
您可以打開較舊版本的powerpoint嗎?請注意,您在第一個示例中打開了一個.xls文件,在第二個示例中打開了一個pptx(新格式)... – 2012-02-09 15:21:14
您確定C:\ file.pptx存在嗎?如果沒有,我會得到這個錯誤。 – Anodyne 2012-02-09 15:23:39
@Marc Talbot,我也將文件轉換爲ppt以防萬一。這兩個版本的文件打開沒有問題手動方式 – 2012-02-09 15:36:19