标签: pyuno

使用pyUno for Windows进行OpenOffice.org开发 - 哪个是Python?

在家里,在Linux上,我已经尝试使用pyUNO来使用Python控制OpenOffice.org.我一直在使用Python 2.6.这一切似乎很好用.

现在我想我会在Windows上尝试我的一个脚本(为ODF doc运行图形差异).但是当我试图运行它时,我得到了:

ImportError: No module named uno
Run Code Online (Sandbox Code Playgroud)

根据udk:Python UNO BridgeOpenOffice.org在Windows上运行Python,我必须运行随OpenOffice.org安装的Python解释器.

Q1:OpenOffice.org可以使用Python 2.6吗?

但是,那个解释器是Python 2.3,它有点老了!我的脚本使用2.3(subprocess模块)不支持的功能.

Q2:Windows上的pyUNO编程是否可以使用标准Python发行版的pyUNO附加组件,而不是与OpenOffice.org捆绑在一起的Python?

在我的搜索到目前为止,我还没有找到任何迹象表明有一个pyUNO模块可以安装到标准的Python Windows发行版中...这是一个惊喜,因为在Ubuntu Linux上,UNO支持得很好Python只是通过:

 apt-get install python-uno
Run Code Online (Sandbox Code Playgroud)

另一个问题是:如果我想制作一个同时使用pyUNO和其他第三方库的程序,该怎么办?我无法在Windows上的Python安装中安装pyUNO,所以我不得不以某种方式将我的其他第三方库安装到OpenOffice.org的捆绑Python中?这使得创建更大,更全功能的程序变得困难.

我错过了什么,或者我们现在仍处于这种状况?

python windows openoffice.org uno pyuno

7
推荐指数
2
解决办法
4732
查看次数

使用外部Python程序在OpenOffice上加载文档

我正在尝试创建一个python程序(使用pyUNO)在OpenOffice计算表上进行一些更改.

我已经在"接受"模式下启动了以前的OpenOffice,以便能够从外部程序进行连接.显然,应该像以下一样简单:

import uno
# get the uno component context from the PyUNO runtime
localContext = uno.getComponentContext()

# create the UnoUrlResolver
resolver = localContext.ServiceManager.createInstanceWithContext(
                            "com.sun.star.bridge.UnoUrlResolver", localContext)

# connect to the running office
ctx = resolver.resolve("uno:socket,host=localhost,port=2002;"
                       "urp;StarOffice.ComponentContext")
smgr = ctx.ServiceManager

# get the central desktop object
DESKTOP =smgr.createInstanceWithContext("com.sun.star.frame.Desktop", ctx)

#The calling it's not exactly this way, just to simplify the code
DESKTOP.loadComponentFromURL('file.ods') 
Run Code Online (Sandbox Code Playgroud)

但是AttributeError当我尝试访问时,我得到了一个loadComponentFromURL.如果我做了dir(DESKTOP),我只看到以下属性/方法:

['ActiveFrame', 'DispatchRecorderSupplier', 'ImplementationId', 'ImplementationName',
'IsPlugged', 'PropertySetInfo', 'SupportedServiceNames', 'SuspendQuickstartVeto', 
'Title', 'Types', 'addEventListener', 'addPropertyChangeListener', …
Run Code Online (Sandbox Code Playgroud)

python pyuno

6
推荐指数
1
解决办法
3018
查看次数

OpenOffice pyuno"全选"

有谁知道如何使用OO uno bridge api在Calc表中"全选"?

或者,找到最大使用的行和列号将起作用.

我想要做的是将格式应用于电子表格中的所有单元格.

(原因是我将工作表保存为csv,因此除非格式提供足够的小数位,否则数字不会准确保存.)

python openoffice.org uno pyuno openoffice-calc

5
推荐指数
1
解决办法
1101
查看次数

带有pyuno的Python 2.7

我在Windows 7上安装了python 2.7。我已经安装了python 2.6附带的Libre Office 3.4。因此,即使在设置所有环境变量之后,我也无法导入uno和unohelper。

我需要python 2.7,因此无法还原回python 2.6,因为我之前在开放式办公室3中使用过python 2.6。我最近更改为LibreOffice 3.4和Python 2.7(ActivePython 2.7)。

有什么办法可以使python 2.7导入LibreOffice 3.4的uno和unohelper

提前致谢。

python python-2.x pyuno python-2.7

5
推荐指数
1
解决办法
4950
查看次数

Openoffice3.1 pyuno混淆错误

我正在尝试获取样本和其他示例代码,我发现pyuno运行openoffice 3.1.1和python 2.5没有运气.

不幸的是,pyuno没有提供任何关于出错的线索.


In [1]: import uno
In [2]: local = uno.getComponentContext()
In [3]: resolver = local.ServiceManager.createInstanceWithContext("com.sun.star.bridge.UnoUrlResolver", local)
---------------------------------------------------------------------------
com.sun.star.uno.RuntimeException         Traceback (most recent call last)

/opt/openoffice.org/basis3.1/program/ in ()

com.sun.star.uno.RuntimeException: : 'tuple' object has no attribute 'getTypes', traceback follows
no traceback available

下面是/opt/openoffice.org/basis3.1/program/officehelper.py的执行输出,它基本上启动无头办公室实例并返回一个相关的上下文对象.

den@ev:/opt/openoffice.org/basis3.1/program > python officehelper.py
Traceback (most recent call last):
  File "officehelper.py", line 42, in 
    from com.sun.star.connection import NoConnectException
  File "uno.py", line 273, in _uno_import
    RuntimeException = pyuno.getClass( "com.sun.star.uno.RuntimeException" )
RuntimeError: pyuno.getClass: expecting one string argument

pyuno只有一个参数,它有一个字符串,如 …

python openoffice.org uno pyuno

2
推荐指数
1
解决办法
1261
查看次数