ruby - 使用 win32ole excel 对象的运行方法的意外行为

标签 ruby excel win32ole vba

我有以下的 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/

相关文章:

ruby - 有没有办法通过散列来初始化对象?

ruby-on-rails - Rails : An unhandled lowlevel error occurred. 应用程序日志可能有详细信息

excel - 选择特定的锁定单元格,保留其他单元格 'unselectable'

c++ - 我如何知道在 HTML 中嵌入 ActiveX 控件时是否会收到 HWND?

Ruby - WIN32OLE 函数创建

ruby - 在 Ruby 中规范化 XML

ruby-on-rails - 为什么 irb 插件没有加载到 Rails 控制台 session 中?

Excel:在与另一列匹配的列中查找最小/最大值

html - 使用 HTMLbody 保留原始段落间距