[英]Error using xlwings: RunFrozenPython + Arguments
多虧了模塊xlwings,我才能夠連接Excel和Python,例如,我使用以下代碼使用一個參數(在本例中為數據文件的路徑)從print.py調用了一個函數:
RunPython ("import print; print.print_vars(r'" & fullpath & "')")
現在,我使用Python代碼構建了一個凍結的模塊,我想使用該參數調用凍結的版本(保存在同一文件夾\\ dist \\ print \\ print.exe中)。
我試過了:
RunFrozenPython (ThisWorkbook.Path & "\dist\spss_print\spss_print.exe", "r'" & fullpath & "'")
這會直接在VBA模塊中提示錯誤(可能是:=)
以及:
RunFrozenPython (ThisWorkbook.Path & "\dist\print\print.exe r'" & fullpath & "'")
運行宏時這會導致錯誤消息(輸入的行太長)。
我已經查看了來自github( https://github.com/xlwings/xlwings/tree/v0.3.5/examples/database )的數據庫示例,但這沒有將參數與凍結模塊一起使用。 來自https://docs.xlwings.org/zh-CN/stable/deployment.html#runfrozenpython的指令提出了另一種無效的代碼。
有人可以告訴我如何在VBA模塊中重新編寫呼叫嗎? 謝謝您的幫助。
這是一個工作示例:
import xlwings as xw
import sys
def hello_xlwings(arg1, arg2):
wb = xw.Book.caller()
wb.sheets[0].range("A1").value = arg1 + arg2
if __name__ == '__main__':
hello_xlwings(sys.argv[1], sys.argv[2])
然后凍結后,從VBA這樣調用它:
RunFrozenPython "C:\path\to.exe", "arg1 arg2"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.