【问题标题】:How to configure PyCharm to develop LibreOffice Python macros?如何配置 PyCharm 开发 LibreOffice Python 宏?
【发布时间】:2016-09-08 00:52:54
【问题描述】:

我已在 Win7(x64) 中为我的所有 Python 项目默认安装了 Python 3.5.1。

我使用 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" 有自己的嵌入 Python,版本 3.3.5。 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 设置来开发带有嵌入 python 版本的 LibreOffice 宏的 python 脚本。不知道是需要设置虚拟环境还是只设置Project Interpreter。

顺便问一下,有没有什么方法可以在文档中插入宏,与文档共享,作为 VBA 项目模块?

【问题讨论】:

    标签: python macros pycharm openoffice.org libreoffice


    【解决方案1】:

    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

    【讨论】:

      猜你喜欢
      • 2014-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多