Pannello di Controllo Moderatore ]

[Risolto] Dichiarazione di struct

Creare una macro - Scrivere uno script - Usare le API

[Risolto] Dichiarazione di struct

Messaggioda gino62 » martedì 31 agosto 2021, 20:35

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
gino62
 
Messaggi: 70
Iscritto il: giovedì 26 dicembre 2013, 19:39

Re: Dichiarazione di struct

Messaggioda patel » mercoledì 1 settembre 2021, 6:02

semplicemente così:
Codice: Seleziona tutto   Espandi visualeStringi visuale
Dim oText
oText = ThisComponent.getText()
-------------------
OpenOffice 4.1 e Libre Office 6.4.1.2 su Windows 10
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
patel
Volontario attivo
Volontario attivo
 
Messaggi: 3666
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Dichiarazione di struct

Messaggioda gino62 » mercoledì 1 settembre 2021, 21:33

patel ha scritto:semplicemente così:
Codice: Seleziona tutto   Espandi visualeStringi visuale
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 20 volte
LibreOffice 3.5.4.2
Debian /.3 wheezy
gino62
 
Messaggi: 70
Iscritto il: giovedì 26 dicembre 2013, 19:39

Re: Dichiarazione di struct

Messaggioda patel » giovedì 2 settembre 2021, 8:52

Non è una macro alla ia portata :crazy:
-------------------
OpenOffice 4.1 e Libre Office 6.4.1.2 su Windows 10
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
patel
Volontario attivo
Volontario attivo
 
Messaggi: 3666
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Dichiarazione di struct

Messaggioda gino62 » giovedì 2 settembre 2021, 20:12

patel ha scritto:Non è una macro alla ia portata :crazy:

Grazie per l'interessamento. Buona serata.
LibreOffice 3.5.4.2
Debian /.3 wheezy
gino62
 
Messaggi: 70
Iscritto il: giovedì 26 dicembre 2013, 19:39

Re: Dichiarazione di struct

Messaggioda nickGiard » mercoledì 8 settembre 2021, 17:36

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 6.4 (x64) su Windows 10
nickGiard
 
Messaggi: 41
Iscritto il: lunedì 14 maggio 2012, 22:04

Re: Dichiarazione di struct

Messaggioda geovign » venerdì 10 settembre 2021, 16:04

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 6 su MX Linux
geovign
 
Messaggi: 157
Iscritto il: domenica 13 gennaio 2019, 12:19
Località: Modena

Re: Dichiarazione di struct

Messaggioda gino62 » domenica 3 ottobre 2021, 8:21

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: 70
Iscritto il: giovedì 26 dicembre 2013, 19:39

Re: Dichiarazione di struct

Messaggioda gino62 » domenica 3 ottobre 2021, 8:25

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
gino62
 
Messaggi: 70
Iscritto il: giovedì 26 dicembre 2013, 19:39

Re: Dichiarazione di struct

Messaggioda charlie » domenica 3 ottobre 2021, 9:18

Sistema corretto per aggiungere [Risolto] viewtopic.php?f=2&t=5661
charlie
macOS 10.12 Sierra: Open Office 4.1.9 - LibreOffice 6.4.6.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 7655
Iscritto il: mercoledì 19 dicembre 2012, 11:50


Torna a Macro e UNO API

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti