[Risolto] Dichiarazione di struct

Creare una macro - Scrivere uno script - Usare le API
Rispondi
gino62
Messaggi: 81
Iscritto il: giovedì 26 dicembre 2013, 18:39

[Risolto] Dichiarazione di struct

Messaggio da gino62 »

Buona serata a tutti.
Non riesco a dichiarare "txt=thiscomponent.gettext".
Per eseguire l'istruzione devo fare una dichiarazione implicita
Vorrei fare una dichiarazione esplicita mettendo "Option Explicit" ma non sono riuscito a trovare il modo.
Grazie
Ultima modifica di charlie il giovedì 7 ottobre 2021, 17:00, modificato 2 volte in totale.
Motivazione: Aggiunto [Risolto] e ✔ verde.
LibreOffice 3.5.4.2
Debian /.3 wheezy
patel
Volontario attivo
Volontario attivo
Messaggi: 4019
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Dichiarazione di struct

Messaggio da patel »

semplicemente così:

Codice: Seleziona tutto

Dim oText 
oText = ThisComponent.getText()
-------------------
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
gino62
Messaggi: 81
Iscritto il: giovedì 26 dicembre 2013, 18:39

Re: Dichiarazione di struct

Messaggio da gino62 »

patel ha scritto:semplicemente così:

Codice: Seleziona tutto

Dim oText 
oText = ThisComponent.getText()
grazie patel per la risposta. Ho provato ed è proprio così.
Ma allego un file in cui c'è qualcosa che non capisco, sulla libreria standard, modulo1 - selezionando le prime righe - eseguire Sub SelezioneFormattaColoraeTabella si verifica un errore sconosciuto (errore interno $(ARG!).
Mettendo l'apice per commentare Option explicit tutto funziona a dovere.
E' il ciclo for j=0 to oTrova.count -1 che cambia. Con option explicit passa subito a next, togliendolo tutto funziona.
Gentilmente qualcuno potrebbe dare una occhiata alla macro? Per spiegarmi l'errore?
Si potrebbe definire oText come Dim As com.sun.star.struct.....ecc...?
Perchè oTrova.count è uguale a oTrova.getCount()?
Vorrei dichiarare OPtion explicit senza l'errore ... grazie
Allegati
prova.odt
(20.58 KiB) Scaricato 108 volte
LibreOffice 3.5.4.2
Debian /.3 wheezy
patel
Volontario attivo
Volontario attivo
Messaggi: 4019
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Dichiarazione di struct

Messaggio da patel »

Non è una macro alla ia portata :crazy:
-------------------
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
gino62
Messaggi: 81
Iscritto il: giovedì 26 dicembre 2013, 18:39

Re: Dichiarazione di struct

Messaggio da gino62 »

patel ha scritto:Non è una macro alla ia portata :crazy:
Grazie per l'interessamento. Buona serata.
LibreOffice 3.5.4.2
Debian /.3 wheezy
nickGiard
Messaggi: 65
Iscritto il: lunedì 14 maggio 2012, 22:04

Re: Dichiarazione di struct

Messaggio da nickGiard »

Mahh, il file che hai allegato prova.odt a cosa serve??
Ad un primo esame contiene un testo che parla di programmazione BASIC scritto in forma piana, e delle macro che cercano di formattare tale testo secondo una serie di criteri quali colore, .... da assegnare a determinate parole riconosciute quali istruzioni etc. Forse tu pensavi di selezionare le righe del BASIC e quindi formattarle nell' editor (IDE) ??, cosa che a me non risulta possibile.
Nicola con LibreOffice 7.1 (x64) su Windows 11
geovign
Messaggi: 215
Iscritto il: domenica 13 gennaio 2019, 11:19
Località: Modena

Re: Dichiarazione di struct

Messaggio da geovign »

Non entro nel merito del codice che hai scritto, ma l'ho solo provato riscontrando, ovviamente, errori.
L'istruzione "Option explicit" specifica che ogni variabile nel codice del programma deve essere dichiarata in modo esplicito con l'istruzione Dim (o altra espressione idonea). Quindi, se si scrive un codice oppure se si copia tutto o in parte un codice, controllare che tutte le variabili siano correttamente dichiarate.
1) Nella sub "PoniParoleColoreGrassetto" la variabile "j" non è dichiarata e quindi non assume alcun valore, di conseguenza il ciclo for/next produce l'errore. Dichiarare la variabile: Dim j As Integer .
2) Nella sub "SelezioneFormattaColoraeTabella":
a) errore di scrittura: sostituire longColorGRBGiallo con longColorRGBGiallo
b) variabile non dichiarata: clipString . Dichiarare la variabile: Dim clipString As String
c) al termine della sub è presente l'istruzione "call MdlCopiaIncolla.stringInTheClipboard()" che provoca errore.
L'istruzione oTrova.Count restituisce il valore della proprietà "Count" dell'oggetto oTrova; l'istruzione oTrova.getCount() utilizza il metodo get per ricercare il valore della prorpietà "Count" dell'oggetto oTrova. Entrambe le istruzioni restituiscono ovviamente lo stesso valore.
Saluti.
Geo
LibO 7 su LinuxMint 21
gino62
Messaggi: 81
Iscritto il: giovedì 26 dicembre 2013, 18:39

Re: Dichiarazione di struct

Messaggio da gino62 »

grazie mille ... devo imparare ancora molte cose ... ora ne ho capite un pò. Buona domenica a tutti
LibreOffice 3.5.4.2
Debian /.3 wheezy
gino62
Messaggi: 81
Iscritto il: giovedì 26 dicembre 2013, 18:39

Re: Dichiarazione di struct

Messaggio da gino62 »

nickGiard ha scritto:Mahh, il file che hai allegato prova.odt a cosa serve??
Ad un primo esame contiene un testo che parla di programmazione BASIC scritto in forma piana, e delle macro che cercano di formattare tale testo secondo una serie di criteri quali colore, .... da assegnare a determinate parole riconosciute quali istruzioni etc. Forse tu pensavi di selezionare le righe del BASIC e quindi formattarle nell' editor (IDE) ??, cosa che a me non risulta possibile.
... cercavo di formattare istruzioni BASIC in documento writer ...
volevo renderle più leggibili.
Buona domenica
LibreOffice 3.5.4.2
Debian /.3 wheezy
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Dichiarazione di struct

Messaggio da charlie »

Sistema corretto per aggiungere [Risolto] viewtopic.php?f=2&t=5661
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Rispondi