2016-05-12 104 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