我试图在Ruby中实现以下内容
打开Excel
require 'win32ole'
excel = WIN32OLE.new('Excel.Application')
worksheet = application.Workbooks.Open("C:/testing.xlsx").Worksheets("Sheet1")
excel.visible = true
手动对打开的excel进行必要的更改,我希望ruby程序等到我做这些更改。
完成必要的更改后,我使用关闭(X)按钮手动关闭该Excel。
ruby程序应该继续并继续执行下一步。
答案 0 :(得分:1)
首先,你在哪里
worksheet = application.Workbooks.Open("C:/testing.xlsx").Worksheets("Sheet1")
我认为你的意思是
worksheet = excel.Workbooks.Open("C:/testing.xlsx").Worksheets("Sheet1")
无论如何,您可以检测Excel实例中打开的工作簿数量,以便您可以
while excel.Workbooks.count > 0 do
sleep(5)
end
并且您的脚本将坐在那里,无休止地轮询,直到工作簿关闭,然后继续。
请注意,在用户关闭Excel后,Excel的实例仍将无形地运行;你可能想打个电话
excel.Quit
excel.ole_free
清除它。