2010-07-21 5 views
6

위젯으로 간단한 작업을하기 위해 필자의 오픈 오피스 문서 (필자의 경우)를 스크립팅하려고합니다. 즉 위젯에서 위젯으로 텍스트를 복사하고 싶습니다. 이를 위해 하나의 구성 요소를 가져 와서 텍스트를 얻고 싶습니다.VB 나 파이썬으로 OpenOffice Forms 스크립팅하기

나는이 같은 STH을하려고했습니다 :

document = ThisComponent.CurrentController.Frame 

oDocument  = ThisComponent 
oTextBoxFrom = document.getByName("Text Box 1") # 1 
oTextBoxFrom = oDocument.getByName("Text Box 1") # 2 

어느 버전 # 1이나 2 일. VB 컴파일러는 "텍스트 상자 1"에 액세스 할 수 없지만 내 구성 요소에는 해당 구성 요소가 있습니다. 내 생각 엔이 컴포넌트를 잘못된 위치에서 가져 오려고하는 것입니다. 그것이 프레임이 아닙니다. 나는 문서의 구조가 무엇인지 알 수 없다.

이것은 매우 쉬운 작업처럼 보입니다. 그러나 VB 나 Python에서 OO UNO 개체에 액세스 할 때 OpenOffice 사양을 찾을 수 없습니다.

+0

OpenOffice 또는 LibreOffice의 어떤 버전을 사용합니까? –

답변

1

오픈 오피스 스크립팅에 대한 경험이 없지만 문서 예제에서는 getByName을 사용하지 않고 항상 일부만 사용합니다.

docCalc = ThisComponent 
maFeuille = docCalc.Sheets.getByName("leCSV") 
.... 
for f = 0 to lesFamilles.Count -1' chaque famille 
nomFam = lesFamilles.ElementNames(f) 
uneFamille = lesFamilles.getByName(nomFam) 
... 
monDocument.TextTables.hasByName("Finances") 
... 
lesSections = monDocument.TextSections 
sectA = lesSections.getByName("Aline") 
당신이 http://oqei.free.fr/echange/VBA/Programmation_OpenOffice_org_3_ed1_v1.pdf에이 큰 PDF의 나머지 부분을 찾을 수 있습니다

, 그것은 프랑스어에있어하지만 코드가 어 보편적? 희망 하시겠습니까?

2

안녕하세요. 당신은 VB를 사용 선택하면

, 당신이 알고 있어야합니다 :

VBA : OpenOffice.org Basic 및 VBA 사이의 호환성 에 OpenOffice.org 기본 언어 및 런타임 라이브러리 관한 것이다. OpenOffice.org API 및 대화 상자 편집기는 VBA 과 호환되지 않습니다. 이러한 인터페이스를 표준화하면 OpenOffice.org에서 제공되는 많은 개념 인 이 불가능 해졌습니다.

python 될 경우 : 파이썬 스크립팅 언어와

OpenOffice.org 3.1 배, 버전 2.6.1. 이전 OpenOffice.org는 Python 버전 2.3.4와 함께 제공됩니다. 이 Python 배포판은 UNO API를 파이썬 스크립팅 언어에 연결하는 Uno 모듈과 함께 제공됩니다. 리눅스에서이 Python 버전을 실행하려면 OpenOffice.org PATH로 직접 이동할 수 있습니다. 그리고 하나의 은 Python 배포판에서 기대할 수 있으므로 OOo-Python은 명령 행에서도 으로 실행할 수 있습니다. 별도의 Python 2.6 설치가 이미있는 경우이 지침에 따라 uno 모듈 (Python-UNO 브리지)을 가져올 수 있습니다. 이미 Windows에 다른 버전의 Python이 설치되어있는 경우 Python 브리지 대신 COM 브리지를 사용하여 UNO API 에 액세스 할 수도 있습니다. 파이썬이 COM과 통신 할 수 있도록 추가 기능 pywin32 모듈이 필요합니다. 참고 UNO API가 균일하지만 두 개의 브리지에 의한 구현이 약간 다르므로 각 브리지에서 필요한 구문은 인 경우가 있습니다.

Python UNO bridge

UPD

: ooobloger 파이썬과 우노 통합의 이해를 도움이 될 수 있습니다.