我有以下的 ruby 代码可以正常工作
require 'WIN32OLE'
excel = WIN32OLE.new('Excel.Application')
excel.visible = true
path = Dir.pwd + '\Testargs.xlsm'
excel.workbooks.open(path)
excel.run('IdontTakeargs')
其中 IdontTakeargs 是 Testargs.xlsm 工作簿中的一个宏。
如果我尝试调用一个带参数的宏,即:
excel.run('Itakeargs(1)')
此代码也可以运行,但由于某种原因它会运行宏两次。上面的 snytax 有点像猜测,因为我找不到使用参数调用宏的示例。
任何关于正确语法的帮助,或者即使我试图完成的事情也是可能的(调用一个接受来自 ruby 的参数的宏。)
最佳答案
将参数传递给 VBA 宏的语法似乎是
excel.run('Itakeargs', '1')
尽管如此,观察到的(且可重现的)行为还是有些奇怪。
关于ruby - 使用 win32ole excel 对象的运行方法的意外行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8542023/