Pagina 1 di 1

Macro con richiesta dati da parte dell'utente

Inviato: venerdì 13 dicembre 2013, 15:05
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

Re: Macro con richiesta dati da parte dell'utente

Inviato: giovedì 2 gennaio 2014, 15:02
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'

Re: Macro con richiesta dati da parte dell'utente

Inviato: giovedì 2 gennaio 2014, 20:26
da patel
l'alternativa è il basic, il linguaggio più usato in questi casi e che tutti conosciamo.

Re: Macro con richiesta dati da parte dell'utente

Inviato: sabato 4 gennaio 2014, 22:42
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()