2016-05-12 105 views
3

我已經在Win7(x64)中爲Python中的所有項目安裝了Python 3.5.1。如何配置PyCharm開發LibreOffice Python宏?

我用PyCharm 5.0.5社區版的開發Python腳本和它的默認設置已經「默認項目翻譯」爲"3.5.1 (C:\Python35\python.exe)"

在我的工作中,我們從MS Office 2007/2010遷移到LibreOffice的-5。我在VBA中編寫了一些宏,儘管我不是VB的熱心人。 Basic缺乏良好的數據結構,如列表(我喜歡列表解析),字典,集合和元組。所以,我想在LibreOffice-5 Python腳本宏中重寫VBA宏。

LibreOffice-5安裝在"C:\Program Files (x86)\LibreOffice 5\program"版本3.3.5中有其自己的嵌入式Python。 LibreOffice-5中的Python腳本位於:

  • Libre Office宏; "C:\Program Files (x86)\LibreOffice 5\share\Scripts\python"
  • 我的宏; "C:\Users\trimax\AppData\Roaming\LibreOffice\4\user\Scripts\python"

的問題很簡單:
我需要配置PyCharm設置與embebed Python版本開發的LibreOffice宏的Python腳本。我不知道是否需要設置虛擬環境,或者是否可以設置項目解釋器。

順便問一下,是否有任何方法在文檔中插入宏,與VBA項目模塊共享文檔?

回答

4

PyCharm documentation,聽起來你可以在兩個不同的項目中使用虛擬環境來定位LibreOffice(可能是Python 3)和OpenOffice(可能是Python 2)。否則,它看起來像一個當地的口譯員就足夠了。

爲了測試PyCharm,我做了以下內容:

  1. 下載PyCharm並創建一個新的項目。
  2. 它詢問使用哪個解釋器。點擊齒輪圖標並指定Add Local。瀏覽到C:\Program Files (x86)\LibreOffice 5\program\python.exe
  3. 創建一個新的python文件。

然後添加以下代碼:

import uno 
from com.sun.star.awt import Point 

p = Point(2,3) 
print(p.X) 
points = uno.Any("[]com.sun.star.awt.Point", (p,)) 
print(repr(points)) 

它強調com import語句,雖然它實際上並不是一個錯誤。 PyCharm確實承認了其他陳述,如uno.Any。要運行,請轉到Run -> Run。它成功運行並按預期打印結果。

而不是IDE,我通常只使用文本編輯器。從我所看到的情況來看,很多IDE工具(語法突出顯示,自動完成,調試)都不適用於UNO。 Java更好,但這是一個不同的話題。

順便說一句,有什麼方法可以在文檔中插入宏,與文檔共享嗎?

要將Python代碼嵌入到文檔中,請解壓縮.odt文件並按照說明here