Macro con richiesta dati da parte dell'utente

Creare una macro - Scrivere uno script - Usare le API
Rispondi
rovell74
Messaggi: 1
Iscritto il: venerdì 13 dicembre 2013, 14:58

Macro con richiesta dati da parte dell'utente

Messaggio da rovell74 »

Ciao

stò cercando di creare una macro in python che apra una finesta in cui vengono richiesti dei dati all'utente che poi mi servono per eseguire la macro.
Quali librerie devo utilizzare? O in alternativa come posso procedere?

Grazie per l'aiuto
OpenOffice 2.4 su Ubuntu 9.04
Avatar utente
Mizio1961
Volontario
Volontario
Messaggi: 841
Iscritto il: mercoledì 5 ottobre 2011, 22:55
Località: Roma

Re: Macro con richiesta dati da parte dell'utente

Messaggio da Mizio1961 »

Ciao
Non ho esperienza diretta ma... visto il numero di risposte che hai ricevuto... meglio di niente dovrebbe essere ;-)
Penso sia come con java, cioè si lavora da un SDK proprio del linguaggio ma esterno a OO.
Quindi maschere, programmi, ecc sono lavorati dall'ambiente di sviluppo di Python e poi si interfacciano con i documenti di Oo, che siano Writer, Calc o altro.
In pratica occorre una buona dimestichezza nell'uso di ambienti di sviluppo diversi per arrivare alla loro integrazione.
Altro non sò... ;-)
Saluti e... 'buon divertimento'
OpenOffice Windows - Libre su Ubuntu Desktop e Notebook WiFi
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto. ;-)
patel
Volontario attivo
Volontario attivo
Messaggi: 4030
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Macro con richiesta dati da parte dell'utente

Messaggio da patel »

l'alternativa è il basic, il linguaggio più usato in questi casi e che tutti conosciamo.
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Avatar utente
xergio
Messaggi: 315
Iscritto il: lunedì 15 marzo 2010, 21:54
Località: Arzignano (Vicenza)
Contatta:

Re: Macro con richiesta dati da parte dell'utente

Messaggio da xergio »

Ciao,
ti giro un pezzo di codice che ti dovrebbe essere utile, tieni conto che adesso lavoro su altro campo ma mi ricordavo di avere guardato qualcosa a riguardo. Questa è una macro che importa da un foglio di calcolo. Cerca info con la parola XSCRIPTCONTEXT.

Codice: Seleziona tutto

# -*- encoding: utf-8 -*-
import uno
import unohelper

def importa(oEv):
	ctx = XSCRIPTCONTEXT.getComponentContext()
	oDesktop = XSCRIPTCONTEXT.getDesktop()
	oDoc = XSCRIPTCONTEXT.getDocument()
	oSheet = oDoc.getSheets().getByIndex(0)
	oCursor = oSheet.createCursor()
	oLastRowData = 2500
	oTargetSheet = oDoc.getSheets().getByIndex(1)
	colBprec = ""
	colAprec = ""
	colAvalprec = 0
	codicedacancellare = ""
	a=1
	uom_dict = {'circa':'c.a.','al ml':'ml','al ml.':'ml','cad':'pz','cad.':'pz','allora ':'ora','allora':'ora','al m2':'mq','al m2 ':'mq','al m3':'mc','al m3 ':'mc','al kg':'kg','al m2g':'mqg','1000 kg':'ton','al m':'ml','4.600 litri':'4600lt','9.000 litri':'9000lt'}
	#acquisisci i dati dal foglio di calcolo
	for i in range(0, oLastRowData):
		colA = oSheet.getCellByPosition(0,i).getString()
		colAval = int(oSheet.getCellByPosition(0,i).getValue())
		colB = oSheet.getCellByPosition(1,i).getString()
		colC = oSheet.getCellByPosition(12,i).getString()
		colD = oSheet.getCellByPosition(14,i).getValue()
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
Rispondi