Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

macro e basic

3 views
Skip to first unread message

nobody

unread,
Jul 8, 2004, 2:39:55 PM7/8/04
to
Saluto il NG.

Parliamo di Calc.

Mi date per favore una piccola indicazione di come
realizzare una macro o una sub in basic che per esempio
legge da una cella fa una somma e scrive in un'altra.

Non capisco dove e come devo creare la macro o la sub,
dove metterla e come richiamarla.

Eventuali link sono molto graditi.

Grazie anticipate

Kal

unread,
Jul 10, 2004, 5:48:53 AM7/10/04
to
nobody ha scritto:

Un saluto a tutti, sono nuovo del N.G. e mi scuso se il post è un pò
lungo (un pò tanto mi sa)

Per il link di consiglio di iniziare scaricando il manuale di starbasic
http://api.openoffice.org/TipsAndTricks/external.html
StarOffice 7 Software Basic Programmer's Guide sotto il link *ITALIAN*


Le macro possono essere scritte nell'ide oppure registrate

possono essere salvate sia nel documento (e puoi richiamarle solo se il
documento è aperto) sia direttamente in OOo (e puoi richiamarle da
qualsiasi documento)

le macro sono contenuti in dialoghi, che a loro volta sono contenuti in
librerie

vai su strumenti --> macro --> macro

ti appare una finestra di dialogo

sulla sinistra hai:
macro da

quelle che vedi (Depot, Euro, FormWizard..) sono librerie
si trovano sotto *soffice* quindi sono disponibili per tutti i documenti

più in basso avrai *senza nome1* che è il file aperto (o il nome del
file aperto se non si tratta di un nuovo file)

sotto c'è la libreria standard, se facendoci doppio click non ti appare
*Module1* vai sul pulsante gestisci, nella sezione moduli clicchi su
standard (quello sotto il nome del file) e poi su nuovo dialogo.
Se invece hai già Module1 nella casella a destra ti apparirà la macro Main.
Clicca su main e poi su modifica

ti apparirà l'ide di OOo per scrivere le macro

all'interno troverai:

REM ***** BASIC *****

Sub Main

End Sub

le macro vanno scritte qui

Nel tuo caso vuoi leggere il contenuto di una cella:

Dim Doc As Object
Dim Sheet As Object
Dim Cell As Object
Dim Contenuto

Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets(0)
Cell = Sheet.getCellByPosition(0, 0)

Contenuto = Cell.Value

in questo modo leggi il valore della cella A1 nella prima tabella
in Doc.Sheets(numero) specifichi il numero della tabella partendo da 0
quindi tabella1 sarà 0 oppure il nome
Sheet.getCellByPosition(Colonna, Riga) stessa storia ma per Colonna e
riga sempre partendo da 0: A=0 B=1 ecc... uguale per le righe 1=0 2=1 ecc...
ho messo il valore della cella nella variabile contenuto tu vuoi farci
una operazione, quindi la riga successiva sarà

Contenuto = Contenuto + 1

Ho aggiunto 1 al valore letto dalla cella
Poi vuoi scriverlo in un'altra cella quindi le seguenti righe saranno:

Cell = Sheet.getCellByPosition(0, 1)

Cell.Value = Contenuto

con cui riscrivi il valore.

Spero di essere stato abbastanza chiaro.

Leggo molto sporadicamente il N.G. quindi se hai bisogno di qualche
aiuto in tempi più rapidi, puoi trovarmi nel canale IRC di openoffice in
Freenode canale #openoffice.org-it. Puoi trovare maggiori istruzioni
nella pagina http://openoffice.nathanvi.it/ per raggiungere il canale.

Un saluto

Kal

nobody

unread,
Jul 10, 2004, 5:58:00 AM7/10/04
to
Il Sat, 10 Jul 2004 09:48:53 +0000, Kal ha scritto:

Grazie mille per le preziose ed esaurienti informazioni.

0 new messages