2017-05-22 168 views
1

我使用mac OS X Sierra與Mac for Ecel 2016和python 3.6。我試圖從Excel中啓動python腳本,因爲:xlwings Excel for Mac 2016

  • 我已經有很多功能的excel,並且我想使用Python爲該產品添加一些功能。
  • 我的產品的用戶不會很樂意從python控制檯啓動python腳本,所以我想要有某種excel用戶界面。

我正在提供這樣的背景,因爲我對如何做不同的建議持開放態度。從我迄今爲止的研究中,似乎可以使用xlwings庫來完成。我一直在使用它下面的說明試過:

http://docs.xlwings.org/en/stable/vba.html#vba

我莫名其妙地停留在這個階段:

打開使用Alt-F11 VBA編輯器 然後轉到文件>導入文件.. 。並導入xlwings.bas文件。它可以在xlwings安裝目錄中找到。

由於ALT + F11不會打開宏編輯器,我已經明白了以下說明:

  • 上的「宏」按鈕,單擊Excel的
  • 創建「developper」標籤新宏/編輯現有
  • 去上左下角
  • 打開該文件提到
「添加引用」

問題是我無法打開xlwings.bas文件;我只能打開一些文件。我設法打開一個名爲xlwings.xlsm的文件;在Excel上創建一個名爲'xlwings'的新選項卡,其中有一個按鈕:'導入Python UDF'。當我按下這個按鈕,它拋出的錯誤:

運行時錯誤「53」:未找到 文件:xlwings64.dll

在我以前使用xlwings嘗試之一,我有一個不同的錯誤在這個階段。我不記得它,但從我的研究中,解決方案意味着在Excel 2016的信任中心上做些什麼,我無法使用Excel for Mac 2016.

或者,當我嘗試使用RunPython運行宏時,它引發以下錯誤:

編譯錯誤: 子或沒有定義

在RunPython指示功能...

如果有人知道我做錯了什麼和/或如何管理使用xlwings,那會很棒。

謝謝你的幫助,

+0

您是否嘗試過在此下載並運行其中一個示例:https://www.xlwings.org/examples?這些示例中的excel文件應該已經包含了所有必需的VBA代碼。它不會直接解決你的問題,但它可能會提供一些有用的線索。 – Xukrao

+0

感謝您的幫助;並不是所有的功能都起作用(事實上,使用Mac不支持的RunFrozenPython是不可能的),但至少有一些是......我認爲殘酷的方法對我來說是已經設置好的excel並將其改變了爲我的項目的目的... – Vincent

+0

從你所描述的我不認爲你是在正確的屏幕上加載'xlwings.bas'文件。嘗試在標籤爲「Visual Basic」的開發人員選項卡中查找按鈕,這應該打開正確的屏幕(即VBA編輯器屏幕)。 – Xukrao

回答

0

爲了您的信息,我發現(感謝Xukrao)最好的解決辦法是從xlwingsexamples下載爲例,進入宏編輯器,複製「xlwings」模塊在示例工作表中並將其粘貼到我的工作表的宏中。