[RISOLTO] libreoffice: errore in macro

C, C++, Java, ...

[RISOLTO] libreoffice: errore in macro

Messaggioda Gino62 » 17/02/2018, 17:05

Buongiorno, dal sito https://wiki.openoffice.org/wiki/Framew ... sage_Boxes
ho voluto provare una macro:
Codice: Seleziona tutto
REM  *****  BASIC  *****
 
Sub Main
    oMsgBoxFactory = createUnoService( "com.sun.star.awt.Toolkit" )
    oDesktop       = createUnoService( "com.sun.star.frame.Desktop" )
 
    REM ***** Empty rectangle means use default values *****
    Dim aRectangle as new com.sun.star.awt.Rectangle
 
    oButtons = com.sun.star.awt.MessageBoxButtons.BUTTONS_YES_NO_CANCEL+com.sun.star.awt.MessageBoxButtons.DEFAULT_BUTTON_YES
 
    REM ***** Don not use getCurrentFrame() in your relase code!! *****
    REM ***** This example uses it just to be small *****
    oParent  = oDesktop.getCurrentFrame().getContainerWindow()
 
    oMsgBox  = oMsgBoxFactory.createMessageBox( oParent, aRectangle, "messbox", oButtons, "Title", "This is the message box text" )
 
    oMsgBox.execute()
End Sub

Ma mi dà: Errore di runtime BASIC. Valore per la proprietà errato.
in questo punto:
Codice: Seleziona tutto
oMsgBox = oMsgBoxFactory.createMessageBox (oParent, aRectangle, "MessBox" , oButtons, "Title" , "Questo è il testo del messaggio nella finestra" ).

Non riesco a far funzionare la macro.
Buona serata
Ultima modifica di Gino62 il 02/03/2018, 23:46, modificato 1 volta in totale.
Gino62
Jr. Member
Jr. Member
 
Messaggi: 62
Iscritto il: 24/06/2013, 22:17

Re: Macro da errore

Messaggioda Aki » 17/02/2018, 17:29

Intervento di moderazione: discussione spostata nella sezione "Programmazione" del forum. Ho, inoltre, modificato il messaggio per aggiungere i tag code e rendere maggiormante leggibile il testo.
Aki
Global Moderator
Global Moderator
 
Messaggi: 8158
Iscritto il: 27/12/2007, 16:59

Re: Macro da errore

Messaggioda Gino62 » 25/02/2018, 16:12

Aki ha scritto:Intervento di moderazione: discussione spostata nella sezione "Programmazione" del forum. Ho, inoltre, modificato il messaggio per aggiungere i tag code e rendere maggiormante leggibile il testo.

...grazie...
Gino62
Jr. Member
Jr. Member
 
Messaggi: 62
Iscritto il: 24/06/2013, 22:17

Re: Macro da errore

Messaggioda mark » 25/02/2018, 20:29

ma usi openoffice o libreoffice? quale versione?
comunque se guardi alla parte "history" della pagina vedi che le ultime modifiche sono del febbraio 2008, ovvero 10 anni fa esatti, probabile che nel frattempo molte cose siano cambiate e il codice sia da rivedere e aggiornare
Avatar utente
mark
Hero Member
Hero Member
 
Messaggi: 657
Iscritto il: 10/01/2007, 16:53

Re: Macro da errore

Messaggioda Aki » 26/02/2018, 22:43

Gino62 ha scritto:Non riesco a far funzionare la macro.Buona serata

Questo è il codice funzionante:
Codice: Seleziona tutto
REM  *****  BASIC  *****

Sub Main

    oMsgBoxFactory = createUnoService( "com.sun.star.awt.Toolkit")
    oDesktop = createUnoService( "com.sun.star.frame.Desktop" )
   
    REM ***** Empty rectangle means use default values *****
    Dim aRectangle as new com.sun.star.awt.Rectangle
       
    oButtons = com.sun.star.awt.MessageBoxButtons.BUTTONS_YES_NO_CANCEL+com.sun.star.awt.MessageBoxButtons.DEFAULT_BUTTON_YES
   
    REM ***** Don not use getCurrentFrame() in your relase code!! *****
    REM ***** This example uses it just be small *****
    oParent = oDesktop.getCurrentFrame().getContainerWindow()

    oMsgBox  = oMsgBoxFactory.createMessageBox( oParent, "messbox", 1, "Title", "This is the message box text")

    oMsgBox.execute()

End Sub

L'errore era nel prototipo della funzione createMessageBox che è, evidentemente, cambiato da openoffice 2.3 (a cui faceva riferimento il tuo esempio) a libreoffice (vedi https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1awt_1_1XMessageBoxFactory.html). In particolare, il secondo argomento della funzione è diverso.

edit: edit: modificato titolo discussione da "Re: Macro da errore" a "libreoffice: errore in macro"
Aki
Global Moderator
Global Moderator
 
Messaggi: 8158
Iscritto il: 27/12/2007, 16:59

Re: [RISOLTO]Macro da errore

Messaggioda Gino62 » 02/03/2018, 23:45

Aki ha scritto:...L'errore era nel prototipo della funzione createMessageBox che è, evidentemente, cambiato da openoffice 2.3 (a cui faceva riferimento il tuo esempio) a libreoffice (vedi https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1awt_1_1XMessageBoxFactory.html). In particolare, il secondo argomento della funzione è diverso.

edit: edit: modificato titolo discussione da "Re: Macro da errore" a "libreoffice: errore in macro"


grazie
Gino62
Jr. Member
Jr. Member
 
Messaggi: 62
Iscritto il: 24/06/2013, 22:17


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti

cron