Pagina 1 di 1
Visualizzare una ToolBar tramite Macro
Inviato: lunedì 6 febbraio 2012, 18:41
da paolo.zecchini
Salve a tutti.
Avrei la necessita di creare una macro che possa visualizzare tramite pulsante o menu una barra degli strumenti internamente ad open draw.
Nessuno può darmi una mano?
Mille grazie Paolo.
Re: Visualizzare una ToolBar tramite Macro
Inviato: giovedì 23 febbraio 2012, 11:06
da c.spaziani
Mostra barra:
Codice: Seleziona tutto
ThisComponent.CurrentController.Frame.LayoutManager.showElement("private:resource/toolbar/standardbar")
Nascondi barra:
Codice: Seleziona tutto
ThisComponent.CurrentController.Frame.LayoutManager.hideElement("private:resource/toolbar/standardbar")
Re: Visualizzare una ToolBar tramite Macro
Inviato: venerdì 25 maggio 2012, 7:26
da Mizio1961
Esiste qualche altro riferimento per toolbar, menù a popup ecc relativi a come automatizzare da macro creaione, aggiornamento, cancellazione di questa parte dell'interfaccia grafica?
Saluti
Re: Visualizzare una ToolBar tramite Macro
Inviato: sabato 27 ottobre 2012, 15:26
da sanraff
Buonasera, la mia versione di OpenOffice è la 3.3 installata su SO Windows 7.
Ho trovato molto interessante questa guida per visualizzare una toolbar tramite Macro, infatti ho provato questi comandi descritti e funzionano.
Invece, quello che non riesco a fare e che se utilizzo la stessa istruzione per nascondere e poi mostrare la "barra di Formattazione", "la barra di Formattazione del testo" oppure qualsiasi dicitura riportata nel sottomenù "Visualizza - Barra degli strumenti", la macro non funziona.
Infatti se questa istruzione
ThisComponent.CurrentController.Frame.LayoutManager.hideElement("private:resource/toolbar/standardbar")
la sostituisco con questa
ThisComponent.CurrentController.Frame.LayoutManager.hideElement("private:resource/toolbar/formattingbar")
e lancio la macro, non succede niente, come non succede niente se provo a gestire tutti i passaggi con il "Registratore di macro".
Sicuramente questo accade perchè non conosco la corretta istruzione e perchè non so se la parola "formattingbar" è giusta.
Ringraziandovi per un eventuale aiuto, saluti.
Re: Visualizzare una ToolBar tramite Macro
Inviato: martedì 30 ottobre 2012, 11:09
da Mizio1961
Ciao
In questo topic trovi un pò di tutto sulle toolbar personalizzate
http://forum.openoffice.org/it/forum/vi ... 993#p13993
Inoltre guarda le due macro che seguono:
Codice: Seleziona tutto
public sub HideLM
dim oForm as object
dim oFormLM as object
dim i as integer
msgbox "Hide"
oForm = Thiscomponent
oFormLM = oForm.CurrentController.Frame.LayoutManager
for i = lbound(oFormLM.elements) to ubound(oFormLM.elements)
' oFormLM.hideElement(oFormLM.elements(i).resourceurl)
next i
oForm.refresh
end sub
public sub ShowLM
dim oForm as object
dim oFormLM as object
dim i as integer
oForm = Thiscomponent
oFormLM = oForm.CurrentController.Frame.LayoutManager
for i = lbound(oFormLM.elements) to ubound(oFormLM.elements)
oFormLM.showElement(oFormLM.elements(i).resourceurl)
next i
oForm.refresh
oForm.currentController.frame.close(true)
end sub
In pratica, oltre al loro funzionamento specifico per i formulari, indicano il fatto che puoi fare un ciclo di ispezione sugli elementi del layoutmanager e conoscerne varie caratteristiche. La
resourceurl corrisponde al nome della toolbar da inserire nella riga di comando ThisComponent.CurrentController.Frame.LayoutManager.hideElement("private:resource/toolbar/standardbar") che parametricamente diventa ThisComponent.CurrentController.Frame.LayoutManager.hideElement(
resourceurl)
Spero che possa esserti di aiuto per le tue necessità
Saluti by Mizio
Re: Visualizzare una ToolBar tramite Macro
Inviato: martedì 30 ottobre 2012, 21:19
da sanraff
Buonasera, ho provato la prima parte di istruzioni da lei suggerita, però quando eseguo la macro mi segnala un errore, per l'esattezza senza scrivere tutto il programma il cursore si blocca alle due parole evidenziate.
Le ho messe in sospensione e la macro gira, però questa volta nasconde tutto, mentre a me interessava che la barrà dei menù fosse presente.
Ho dato un'occhiata al link da lei suggerito, però lo devo studiare bene.
Diciamo che per ora non ho ancora risolto il mio problema; ma esiste una guida in italiano dove si può apprendere la corretta sintassi per scrivere validi programmi in StartBasic?, ringraziandola per il tempo che mi ha dedicato, cordialmente la saluto.
public sub HideLM
oForm.refresh
end sub
public sub ShowLM
oForm.refresh
oForm.currentController.frame.close(true)
end sub
Re: Visualizzare una ToolBar tramite Macro
Inviato: mercoledì 31 ottobre 2012, 9:01
da Mizio1961
Ciao
Le istruzioni che hai evidenziato danno problemi perchè sono specifiche dei formulari, propri (quasi) di Base.
Ogni formulario ha il suo LayoutManager e le sue funzioni, diverse da quelle dell'interfaccia generale di una delle applicazioni di OpenOffice (Calc, Writer o altro)
E' normale quindi che ti dessero problemi.
Purtroppo le guide sono tutte su internet, nei vari siti tipo wiki ecc in quanto vengono aggiornate costantemente dall'operosità dei mille e mille volontari che ci sono dietro.
QUelle cartacee sono sempre specifiche di uno o più argomenti o generali e che quindi entrano poco nel particolare della singola prprietà di un oggetto
Comunque nella sezione Tutorial trovi molti riferimenti validi, tra cui ti segnalo:
http://wiki.openoffice.org/wiki/IT/Docu ... ASIC_Guide
Vedi un pò se partendo da qui ti si apre il mondo della programmazione in Oo
Saluti e... buon divertimento
Re: Visualizzare una ToolBar tramite Macro
Inviato: domenica 11 novembre 2012, 14:40
da sanraff
Buonasera sig. Mizio1961, ho dato un' occhiata al link da lei suggerito, viewtopic.php?f=28&p=13993#p13993, però facendo delle prove, non ho capito se le istruzioni riportate vanno provate a blocchi oppure vanno copiate in un'unica macro ed eseguita.
Le dico questo, perchè in entrambi i casi danno errori.
Inoltre volevo capire se utilizzando solo questa istruzione "ThisComponent.CurrentController.Frame.LayoutManager.hideElement("private:resource/toolbar/standardbar")", sostituendo la stringa "standardbar", c'era la possibilità di nascondere anche la barra di formattazione e la barra di formattazione del testo.
Per concludere vorrei capire perchè in alcuni suoi programmi a volte inizia con "Sub", a volte con "public sub" ed altre volte con "Function", grazie.
Re: Visualizzare una ToolBar tramite Macro
Inviato: lunedì 12 novembre 2012, 10:07
da Mizio1961
Ciao
Quello che trovi nei miei topic è un lavoro che cerca di aprire finestre su un mondo che è tutto da scoprire, sia per le risorse che possono essere reperite in rete sia per le potenzialità della piattaforma OO.
Ciò significa che è indirizzato a chi ha già capacità di muoversi nell'ambiente macro ed eventualmente sa dove mettere le mani se qualcosa è incompleto o funziona male, come può accadare in questi casi dove il mio ambiente di sviluppo è legato a una sola postazione, quindi senza possibilità di riscontrare quanto serva del mio ambiente di sviluppo di base per far si che tutto funzioni correttamente anche su altri PC.
Premesso questo ti rispondo (scusa se ti dò del tu ma lo trovo per me più semplice) ai quesiti:
Nel primo caso la risposta è si. La mia macro ti consente di conoscere i nomi delle toolbar che hai nel tuo ambiente di lavoro, nomi da sostituire a "
standardbar" nella riga di comando che la visualizza (metodo
show) o la nasconde (metodo
hide)
Per il nome delle macro, quella è un'impostazione che deriva dalle mie esperienze precedenti e dalle caratteristiche proprie del linguaggio, che trovi nei vari manuali:
Se la macro inizia con
Sub o con
Public Sub, questa è pubblica, cioè è visibile all'interno di tutto l'ambiente macro
Se la macro inizia con
Private il suo lavoro è confinato al modulo in cui è stata scritta.
Lo stesso vale (Nulla davanti, Public o Private) per
Function
La
Sub viene usata in genere per eseguire un'insieme di istruzioni comuni a più programmi, in modo da scrivere il codice una volta sola, riducendo i tempi di manutenzione generale dei programmi.
La
Function ha la stessa finalità; in più mi consente di restituire un valore al programma chiamante, così da essere usata per indirizzare il flusso del programma in diversi rami a seconda del valore restituito.
Non se te l'ho comunicato ma su questo link
http://wiki.openoffice.org/wiki/IT/Docu ... ASIC_Guide trovi molte info che ti possono essere utili per il lavoro con le macro.
Per ora ti saluto e... buon divertimento
Re: Visualizzare una ToolBar tramite Macro
Inviato: martedì 10 settembre 2013, 14:10
da pinosauro
Scusate tutti,
Codice: Seleziona tutto Espandi visualeSub main
ThisComponent.CurrentController.Frame.LayoutManager.hideElement("private:resource/toolbar/standardbar")
End Sub
...facendo riferimento al codice che avete indicato, e tirando le somme del discorso, quali sono gli altri nomi da utilizzare per far apparire/scomparire le altre barre al posto di STANDARDBAR?
Grazie mille e così chiudiamo il topic come RISOLTO
Re: Visualizzare una ToolBar tramite Macro
Inviato: sabato 28 settembre 2013, 12:57
da Mizio1961
Ariciao a tutti
Le toolbar possono essere più d'una e diverse da installazione a installazione
Come detto in precedenza devi usare un ciclo che le trova e le nasconde o le visualizza a seconda di ciò che ti serve
Per nascondere
Codice: Seleziona tutto
oFormLM = oForm.CurrentController.Frame.LayoutManager
for i = lbound(oFormLM.elements) to ubound(oFormLM.elements)
oFormLM.hideElement(oFormLM.elements(i).resourceurl)
next i
Per visualizzare
Codice: Seleziona tutto
oFormLM = oForm.CurrentController.Frame.LayoutManager
for i = lbound(oFormLM.elements) to ubound(oFormLM.elements)
oFormLM.showElement(oFormLM.elements(i).resourceurl)
next i
Saluti