可能的错误? xlwings 不能 运行 一个 Excel 宏?
Possible bug? xlwings cannot run an Excel macro?
我在从 Python 获取 xlwings 到 运行 宏时遇到问题。尽管遵循 xlwings 文档中的代码,但我无法让 xlwings 执行 Excel 宏。例如,在名为 "Book.xlsm":
的 Excel 工作簿中
' in Excel workbook Book.xlsm
Sub Test()
Set ws = Worksheets("ABC")
ws.Range("A1").Value = 10
End Sub
此宏 运行 在 Excel 内正常。但是当我尝试从 Python 调用这个模块时,它失败了:
# in Python
import xlwings
wb = xlwings.Book('C:\Book.xlsm')
wb.macro('Test')
print('done.')
没有错误信息。 Python 代码只是 运行 结束,打印消息 "done." 但是当我检查工作表 ABC 时,什么也没有写。请注意,我可以连接到此工作簿并使用 xlwings 更改单元格值。我只是无法将其添加到 运行 测试宏。
另请注意,我之前使用过更旧的 xlwings(我认为是 0.7.0 之前的版本),它 运行 是我的宏,没有任何问题。我现在用的是0.10.0版本
尝试以下操作:
在VBA中:
Sub Test(number)
Set ws = Worksheets("Hoja1")
ws.Range("A1").Value = number
End Sub
在python中:
import xlwings as xw
wb1 = xw.Book('Libro1.xlsm')
macro=wb1.macro('Test')
macro(10)
print('done.')
我在从 Python 获取 xlwings 到 运行 宏时遇到问题。尽管遵循 xlwings 文档中的代码,但我无法让 xlwings 执行 Excel 宏。例如,在名为 "Book.xlsm":
的 Excel 工作簿中' in Excel workbook Book.xlsm
Sub Test()
Set ws = Worksheets("ABC")
ws.Range("A1").Value = 10
End Sub
此宏 运行 在 Excel 内正常。但是当我尝试从 Python 调用这个模块时,它失败了:
# in Python
import xlwings
wb = xlwings.Book('C:\Book.xlsm')
wb.macro('Test')
print('done.')
没有错误信息。 Python 代码只是 运行 结束,打印消息 "done." 但是当我检查工作表 ABC 时,什么也没有写。请注意,我可以连接到此工作簿并使用 xlwings 更改单元格值。我只是无法将其添加到 运行 测试宏。
另请注意,我之前使用过更旧的 xlwings(我认为是 0.7.0 之前的版本),它 运行 是我的宏,没有任何问题。我现在用的是0.10.0版本
尝试以下操作:
在VBA中:
Sub Test(number)
Set ws = Worksheets("Hoja1")
ws.Range("A1").Value = number
End Sub
在python中:
import xlwings as xw
wb1 = xw.Book('Libro1.xlsm')
macro=wb1.macro('Test')
macro(10)
print('done.')