Libro macro Openoffice

Creare una macro - Scrivere uno script - Usare le API
Rispondi
takoda
Messaggi: 2
Iscritto il: mercoledì 21 aprile 2010, 12:18

Libro macro Openoffice

Messaggio da takoda »

Volevo decisamente imparare a scrivere macro per Ooo ho letto un po il manuale di StarBasic dal sito sun ma non ti guida esattamente passo passo secondo voi dove devo cercare, Sarebbe utile un libro sulle macro Microso... Office oppure avete qualche idea ho link (possibilmente in italiano io uso soprattutto Base e devo gestire Report dinamici e Formulari !
Un altra domanda è possibile aprire un formulario Base tenendo nascosto open office all'utente!
OpenOffice 3.1 su Windows XP
Akrobaticone
Messaggi: 93
Iscritto il: mercoledì 31 marzo 2010, 9:09

Re: Libro macro Openoffice

Messaggio da Akrobaticone »

takoda ha scritto:Vo
Un altra domanda è possibile aprire un formulario Base tenendo nascosto open office all'utente!
Interessa anche a mè
LibreOffice 3.3.2
Ubuntu 10.10
Avatar utente
paolopoz
Messaggi: 249
Iscritto il: venerdì 22 maggio 2009, 13:20

Re: Libro macro Openoffice

Messaggio da paolopoz »

C'è una guida per BASIC sul wiki: http://wiki.services.openoffice.org/wik ... ASIC_Guide.
Vedi se può esserti utile.
Avatar utente
xergio
Messaggi: 315
Iscritto il: lunedì 15 marzo 2010, 21:54
Località: Arzignano (Vicenza)
Contatta:

Re: Libro macro Openoffice

Messaggio da xergio »

Per aprire un form senza far vedere nient'altro di OOo all'utente basta creare un "lanciatore" (un file .bat su Win*) che avvia questa macro (che inoltre cancella tutte le barre degli strumenti):

Codice: Seleziona tutto

Function OpenForm(sFormName, sDbName)
oContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
	If oContext.hasByName(sDbName) Then
		oDataSource = oContext.getByName(sDbName)
		Dim a(1) As New com.sun.star.beans.PropertyValue
		a(0).Name = "Hidden"
		a(0).Value = True
		a(1).Name = "ReadOnly"
		a(1).Value = True
		sUrl = oDataSource.DatabaseDocument.Location
		StarDesktop.loadComponentFromURL(sUrl,"_blank",0,a())
		oConnection = oDataSource.getConnection("","")
		oFormContainer = oDataSource.DatabaseDocument.getFormDocuments
		Dim aProp(1) As New com.sun.star.beans.PropertyValue
		aProp(0).Name = "ActiveConnection"
		aProp(0).Value = oConnection
		aProp(1).Name = "OpenMode"
		aProp(1).Value = "open"
		oDoc = oFormContainer.loadComponentFromURL(sFormName,"_blank",0,aProp()) 
		oLMgr = oDoc.CurrentController.Frame.LayoutManager
		oLMgr.setVisible(False)
		oLMgr.hideElement("private:resource/menubar/menubar")
	Endif

End Function
Per creare il lanciatore, puoi vedere l'articolo al seguente link: http://www.icstools.it/2010/02/26/il-mi ... tionale-3/ (c'è anche per Ubuntu su http://www.icstools.it/2010/03/05/il-mi ... in-ubuntu/ )

N.B.: La macro potrebbe essere diversa, se ad esempio avessi un form salvato all'esterno del database.

EDITATO 02/05/2010: usa diversi topic specifici per diverse richieste, altrimenti nessuno ci capirà nulla :shock:
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto.
---
Sergio Corato
LibO 6.x su Ubuntu 18.04 / OOo 4.x su Windows XP/10 (VirtualBox)
https://efatto.it
codicem
Messaggi: 57
Iscritto il: venerdì 30 aprile 2010, 14:30

Re: Libro macro Openoffice

Messaggio da codicem »

Potresti farci vedere l'esempio anche nel caso di formulario esterno e aprire un report?
OpenOffice 3.3 su Winxp / Libreoffice 3.3.2 su Mandriva 2010.2
Rispondi