2010-07-21 9 views
6

के साथ स्क्रिप्टिंग ओपनऑफिस फॉर्म विजेट्स के साथ कुछ सरल चीजें करने के लिए मैं अपने ओपनऑफिस दस्तावेज़ (मेरे मामले में राइटर) को स्क्रिप्ट करने की कोशिश कर रहा हूं। अर्थात् मैं विजेट से विजेट में पाठ कॉपी करना चाहता हूं। इसके लिए मैं एक घटक प्राप्त करना चाहता हूं और इससे टेक्स्ट प्राप्त करना चाहता हूं।वीबी या पायथन

मैं इस तरह sth करने का प्रयास कर रहा है:

document = ThisComponent.CurrentController.Frame 

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

न तो संस्करण # 1 और न ही # 2 काम करते हैं। वीबी कंपाइलर बताता है कि "टेक्स्ट बॉक्स 1" पहुंच योग्य नहीं है, हालांकि मेरे पास उस रूप में वह घटक है। मेरा अनुमान है कि मैं इस घटक को गलत जगह से प्राप्त करने की कोशिश कर रहा हूं, उदाहरण के लिए। यह फ्रेम नहीं है। मैं सिर्फ यह नहीं समझ सकता कि दस्तावेज़ की संरचना क्या है।

यह एक बहुत ही आसान काम की तरह लगता है, हालांकि मैं ओबी यूएनओ ऑब्जेक्ट्स को वीबी, या पायथन से एक्सेस करने के लिए कोई ओपनऑफिस विनिर्देश नहीं ढूंढ पा रहा हूं।

+0

ओपनऑफिस या लिबर ऑफिस का कौन सा संस्करण उपयोग करता है? –

उत्तर

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 पर इस बड़े पीडीएफ में आराम मिल सकता है, उस में फ्रेंच है, लेकिन कोड सार्वभौमिक है हाँ? उम्मीद है कि यह मदद करता है ..

2

शुभ दिन।

आप एक वीबी का उपयोग चुनते हैं, तो आप इस पता होना चाहिए:

VBA: OpenOffice.org बेसिक और VBA के बीच संगतता को OpenOffice.org बेसिक भाषा के साथ-साथ क्रम पुस्तकालय से संबंधित है। ओपनऑफिस.org एपीआई और संवाद संपादक वीबीए के साथ संगत नहीं हैं (इन इंटरफेस को मानकीकृत करने से ओपनऑफिस.org में उपलब्ध कई अवधारणाएं असंभव हो गईं)।

अगर यह python हो जाएगा: अजगर स्क्रिप्टिंग भाषा के साथ

OpenOffice.org 3.1 जहाजों, संस्करण 2.6.1। पुराना OpenOffice.org पाइथन संस्करण 2.3.4 के साथ जहाजों। यह पायथन वितरण यूनो मॉड्यूल के साथ आता है, जो यूएनओ एपीआई को पायथन स्क्रिप्टिंग भाषा से जोड़ता है। लिनक्स पर पायथन के इस संस्करण को चलाने के लिए, आप सीधे OpenOffice.org पाथ पर जा सकते हैं। और एक पाइथन के किसी भी वितरण के साथ अपेक्षा करेगा, ओओ-पायथन को कमांड लाइन से भी चलाया जा सकता है। यदि आपके पास पहले से ही एक अलग पायथन 2.6 स्थापना है, तो आप इन निर्देशों का उपयोग करके इसे यूनो मॉड्यूल (पायथन-यूएनओ पुल) आयात कर सकते हैं। यदि आपके पास पहले से ही विंडोज़ पर स्थापित पायथन के विभिन्न संस्करण हैं, तो आप पाइथन पुल के बजाय COM पुल का उपयोग करके यूएनओ एपीआई तक भी पहुंच सकते हैं। ऐड-ऑन pywin32 मॉड्यूल की आवश्यकता है ताकि पायथन COM से बात कर सके। नोट कि यूएनओ एपीआई एक समान है, जबकि दो पुलों द्वारा कार्यान्वयन थोड़ा अलग है, इसलिए प्रत्येक द्वारा आवश्यक वाक्यविन्यास भी कभी-कभी अलग होता है।

Python UNO bridge

upd: ooobloger अजगर और संयुक्त राष्ट्र संघ के एकीकरण के समझ के साथ मदद कर सकता है।