2015-06-29 23 views
0

到電子表格內調用Python,我做RunPython(),但是這是否返回成功或失敗的代碼?我如何知道VBA中的調用是否成功?我想我有一個選擇是讓python函數寫入電子表格中的一個單元格,然後讓VBA檢查它的值,但我想知道是否有更好的,更原生的/預期的方式來做到這一點。知道通過xlwings Python的呼叫成功與否在VBA

+0

RunPython()是如何定義的?它是一個Sub還是一個Function,如果它是Function,它的返回類型是什麼? –

+0

這是xlwing的內置宏,我相信。我沒有看到任何東西從它返回 – RAY

+0

我將如何能夠看到它或在VBA中使用它? (我需要設置一個引用還是它是一個AddIn) –

回答

0

在當前的實現中,xlwings被設計爲一旦調用RunPython即完全將控制交給Python,即沒有返回值,但它會顯示一個帶有錯誤的彈出窗口,如果有的話。這是跨平臺兼容性的原因,另請參閱this關於如何處理在撥打RunPython後會出現的VBA代碼的討論。

+0

你是否建議讓python程序在Excel中設置一個隱藏的單元格,然後讓VBA檢查那個單元格的值呢? – RAY

+0

繼上一個問題後,我應該能夠將錯誤輸出指向單元格並抑制錯誤窗口? – RAY

+0

你可以在GitHub上添加一個功能請求,我們可以繼續討論那裏... –