簡體   English   中英

使用xlwings時出錯:RunFrozenPython +參數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM