Pannello di Controllo Moderatore ]

macro esporta pdf ods con messaggio d'avviso

Discussioni sull'applicazione per i fogli di calcolo

macro esporta pdf ods con messaggio d'avviso

Messaggioda macrok » lunedì 24 dicembre 2018, 18:40

ciao a tutti

buona vigilia a tutti :bravo: :bravo: :bravo: :D :D :D
per non fare venire il mal di testa a nessuno spiegando a che punto sono arrivato vado a chiedere da zero cio che mi occorrerebbe cortesemente

avrei bisogno di una macro da assegnare ad un pulsante che mi faccia:

prima
mi salvi con nome (.ods) l'intero foglio che creo, prendendo il nome da due celle, in una determinata cartella che compilero a mano nella macro,
quando salvero il file mi servirebbe che venisse fuori una finestra di conferma con scritto: "vuoi salvare il file" (se è nuovo)
oppure "vuoi sovrascrivere il file" se dovesse gia esserci.

e infine ne avrei bisogna un altra che faccia come sopra ma che salvi il file in pdf

vi ringrazio in anticipo, ho in pratica guardato guide per un paio di mesi impazzendo senza capire dove sbaglio
mi piacerebbe capire da una macro finita nell'intento

saluti e
BUONE FESTEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE ;) ;) ;) :) :) :D :D :D :lol: :lol: :lol: :lol: :super: :super: :super: :super: :alarm: :alarm: :alarm: :alarm:
Ultima modifica di macrok il mercoledì 26 dicembre 2018, 19:47, modificato 1 volta in totale.
libreoffice 5.0.3.2 su windows 10
macrok
 
*** Richiami: 1 ***
Messaggi: 10
Iscritto il: lunedì 24 dicembre 2018, 18:25

Re: macro o non macro 1

Messaggioda patel » martedì 25 dicembre 2018, 18:46

Buon Natale anche a te |||
mi sembra strano che cercando sul forum tu non abbia trovato qualche esempio da cui trarre spunto, allega un file di esempio con i tuoi tentativi e vediamo dove sbagli
-------------------
OpenOffice 4.1 e Libre Office 6 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: 2991
Iscritto il: venerdì 30 aprile 2010, 7:04
Località: Livorno

Re: macro o non macro 1

Messaggioda macrok » martedì 25 dicembre 2018, 21:52

ciao
ho trovato la macro che ti fa salvare in pdf e in ods e ok tutto a posto , pero non ho trovato come far venire fuori il popup che ti chiede se vuoi salvare o sovrascrivere
ringrazio ancora e ancora auguri
libreoffice 5.0.3.2 su windows 10
macrok
 
*** Richiami: 1 ***
Messaggi: 10
Iscritto il: lunedì 24 dicembre 2018, 18:25

Re: macro o non macro 1

Messaggioda patel » mercoledì 26 dicembre 2018, 8:40

non vedo ancora allegati, un esempio di pop up
Codice: Seleziona tutto   Espandi visualeStringi visuale
Sub ExampleMsgBox
Dim nReturnCode As Integer, nDialogType As Integer
Dim sMessage As String
sMessage = "Vuoi salvare ?"
nDialogType = 4 OR 256
nReturnCode = MsgBox(sMessage, nDialogType, "Salvataggio")
If nReturnCode = 6 Then
  Print "Hai scelto SI"
Else
  Print "Hai scelto NO"
End If
End Sub
-------------------
OpenOffice 4.1 e Libre Office 6 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: 2991
Iscritto il: venerdì 30 aprile 2010, 7:04
Località: Livorno

Re: macro o non macro 1

Messaggioda macrok » mercoledì 26 dicembre 2018, 19:01

ciao
grazie ancora della risposta,
allora le macro che ho fatto una per il pdf e l'altra per l'ods si trovano associate al pulsante 2 e il pulsante 4 (del file in allegato)
ma quel pup li che hai fatto come lo devo gestire??? lo devo associare ad un pulsante?
perche io vorrei che mi saltasse fuori quando salvo in pdf e quanso salvo in ods,
poi volevo chiedere ma non cè un modo che mi permetta di unire due macro in una ?? ad esempio
salvare insieme sia pdf sia ods in due cartelle separata come gia create e che ti chieda anche se vuoi salvare o sovrascrivere

grazie ancora in anticipo

buon s.stefanocompilazione
Ultima modifica di macrok il mercoledì 26 dicembre 2018, 21:06, modificato 1 volta in totale.
libreoffice 5.0.3.2 su windows 10
macrok
 
*** Richiami: 1 ***
Messaggi: 10
Iscritto il: lunedì 24 dicembre 2018, 18:25

Re: macro o non macro 1

Messaggioda charlie » mercoledì 26 dicembre 2018, 19:31

Ciao, intervengo solo per "rompere le scatole".
Il titolo non mi sembra molto azzeccato, non è significativo del problema e dovrebbe essere cambiato. Grazie.
charlie
macOS 10.12 Sierra: Open Office 4.1.5 - LibreOffice 6.0.7
Windows 7 pro (VirtualBox): Open Office 4.1.5 - LibreOffice 5.4.4.2
Ubuntu 17.04 LTE (VirtualBox): LibreOffice 5.1.6.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 5528
Iscritto il: mercoledì 19 dicembre 2012, 10:50

Re: macro o non macro 1

Messaggioda macrok » mercoledì 26 dicembre 2018, 19:46

hai ragione charlie era per fare dell'umorismo natalizio post vacanze di natale dal lavoro e problemi lavorativi :-)
libreoffice 5.0.3.2 su windows 10
macrok
 
*** Richiami: 1 ***
Messaggi: 10
Iscritto il: lunedì 24 dicembre 2018, 18:25

Re: macro esporta pdf ods con messaggio d'avviso

Messaggioda lucky63 » mercoledì 26 dicembre 2018, 20:53

Nel file le macro non ci sono.
Se vuoi supporto devi salvare le macro nel file.
Provvedi in tal senso e allega il nuovo file.
Allegando al quesito un file di esempio si semplifica il lavoro di chi risponde.
Avatar utente
lucky63
Volontario
Volontario
 
Messaggi: 1782
Iscritto il: martedì 18 maggio 2010, 16:01

Re: macro esporta pdf ods con messaggio d'avviso

Messaggioda macrok » mercoledì 26 dicembre 2018, 21:07

Codice: Seleziona tutto   Espandi visualeStringi visuale
sub tutti

Dim nReturnCode As Integer, nDialogType As Integer
Dim sMessage As String
sMessage = "Vuoi salvare ?"
nDialogType = 4 OR 256
nReturnCode = MsgBox(sMessage, nDialogType, "Salvataggio")
If nReturnCode = 6 Then
  Print "Hai scelto SI"
Else
  Print "Hai scelto NO"
End If

dim args2(1) as new com.sun.star.beans.PropertyValue
dim Arg(0) as new com.sun.star.beans.PropertyValue
Doc = ThisComponent
Controller = Doc.CurrentController
Sheet = Controller.ActiveSheet
CellRange = Sheet.getCellRangeByName("$A$1:$F$32")
cell = Sheet.getCellByPosition(4,6).string ' cella da dove prendere il nome
cell1 = Sheet.getCellByPosition(4,8).string ' cella da dove prendere il nome della cartella di destinazione
cell2 = Sheet.getCellByPosition(4,10).string ' cella secondo nome
Controller.select(CellRange)
Arg(0).Name = "Selection"
Arg(0).Value = CellRange

args2(0).Name = "FilterName"
args2(0).Value = "calc_pdf_Export"
args2(1).Name = "FilterData"
args2(1).Value = Arg()
Doc.storeToURL("file:///C:/Users/user1/Desktop/pdfile/2018/" & cell1 & "/" & cell & "_" & cell2 & ".pdf",args2())

    dim document   as object
    dim dispatcher as object
    document   = ThisComponent.CurrentController.Frame
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
    dim args1(1) as new com.sun.star.beans.PropertyValue
    FileLavoro = ThisComponent
    FoglioLavoro = FileLavoro.Sheets.getByName("Foglio1")
    rif = FoglioLavoro.getCellRangeByName("A1").string
    odate = FoglioLavoro.getCellRangeByName("A2").string
    odate = replace(odate,"/","-")
    fname="preventivo-" & rif & "-" & odate & ".ods"
    args1(0).Name = "URL"
    args1(0).Value = "file:///C:/Users/user1/Desktop/poddd/"& fname
    args1(1).Name = "FilterName"
    args1(1).Value = "calc8"
    dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args1())
   
end sub
Ultima modifica di charlie il giovedì 27 dicembre 2018, 8:48, modificato 1 volta in totale.
Motivazione: Codificato testo
libreoffice 5.0.3.2 su windows 10
macrok
 
*** Richiami: 1 ***
Messaggi: 10
Iscritto il: lunedì 24 dicembre 2018, 18:25

Re: macro esporta pdf ods con messaggio d'avviso

Messaggioda macrok » mercoledì 26 dicembre 2018, 21:12

ciao ho provato la macro di patel
incolllandola alle mie due come sopra, il risultato è proprio quello che volevo, con queste note
(SOTTOLINE CHE LA MACRO È UNA FI.......TA PAZZESCA :-)
cmq
se dico di si, le altre due macro funzionano normalmente,
se dico di no al secondo messaggio mi appare "hai scelto no" e se scelgo ok le altre macro vanno avanti ugualmente, se scelgo
annulla viene fuori un errore di compilazione aprendomi il cimpilatore macro
non si potrebbe cortesemente e pazzientemente :) far si che se sclego ok, vanno e se scelgo no non fa nulla ?
e si potrebbe aggiungere una riga dove se legge l'esistenza della stesso file , ti chieda se voglio sovrascriverla ??
ringrazio nuovamente signori :-)
buona serata
libreoffice 5.0.3.2 su windows 10
macrok
 
*** Richiami: 1 ***
Messaggi: 10
Iscritto il: lunedì 24 dicembre 2018, 18:25

Re: macro esporta pdf ods con messaggio d'avviso

Messaggioda patel » giovedì 27 dicembre 2018, 8:46

il risultato era scontato, dovevi ragionarci un poco sulla macro di esempio e non copiare e basta
Codice: Seleziona tutto   Espandi visualeStringi visuale
sub Scegli
Dim nReturnCode As Integer, nDialogType As Integer
Dim sMessage As String
sMessage = "Vuoi salvare ?"
nDialogType = 4 OR 256
nReturnCode = MsgBox(sMessage, nDialogType, "Salvataggio")
If nReturnCode = 6 Then ' hai scelto di salvare
  Call SalvaPDF
  Call Salva
Else
  Print "Hai scelto NO"
End If
End Sub

Sub SalvaPDF
dim args2(1) as new com.sun.star.beans.PropertyValue
dim Arg(0) as new com.sun.star.beans.PropertyValue
Doc = ThisComponent
Controller = Doc.CurrentController
Sheet = Controller.ActiveSheet
CellRange = Sheet.getCellRangeByName("$A$1:$F$32")
cell = Sheet.getCellByPosition(4,6).string ' cella da dove prendere il nome
cell1 = Sheet.getCellByPosition(4,8).string ' cella da dove prendere il nome della cartella di destinazione
cell2 = Sheet.getCellByPosition(4,10).string ' cella secondo nome
Controller.select(CellRange)
Arg(0).Name = "Selection"
Arg(0).Value = CellRange

args2(0).Name = "FilterName"
args2(0).Value = "calc_pdf_Export"
args2(1).Name = "FilterData"
args2(1).Value = Arg()
Doc.storeToURL("file:///C:/Users/user1/Desktop/pdfile/2018/" & cell1 & "/" & cell & "_" & cell2 & ".pdf",args2())
End Sub

Sub Salva
    dim document   as object
    dim dispatcher as object
    document   = ThisComponent.CurrentController.Frame
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
    dim args1(1) as new com.sun.star.beans.PropertyValue
    FileLavoro = ThisComponent
    FoglioLavoro = FileLavoro.Sheets.getByName("Foglio1")
    rif = FoglioLavoro.getCellRangeByName("A1").string
    odate = FoglioLavoro.getCellRangeByName("A2").string
    odate = replace(odate,"/","-")
    fname="preventivo-" & rif & "-" & odate & ".ods"
    args1(0).Name = "URL"
    args1(0).Value = "file:///C:/Users/user1/Desktop/poddd/"& fname
    args1(1).Name = "FilterName"
    args1(1).Value = "calc8"
    dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args1())
 
end sub
-------------------
OpenOffice 4.1 e Libre Office 6 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: 2991
Iscritto il: venerdì 30 aprile 2010, 7:04
Località: Livorno

Re: macro esporta pdf ods con messaggio d'avviso

Messaggioda macrok » giovedì 3 gennaio 2019, 22:44

ciao
grazie del supporto
ma se uno non sa cosa e come scrivere puo ragionarci su ventanni e non risolvere cmq niente
è per questo che ho chiesto qua
e cmq la tua macro non funziona
saluti
libreoffice 5.0.3.2 su windows 10
macrok
 
*** Richiami: 1 ***
Messaggi: 10
Iscritto il: lunedì 24 dicembre 2018, 18:25

Re: macro esporta pdf ods con messaggio d'avviso

Messaggioda patel » venerdì 4 gennaio 2019, 9:41

dire che non funziona non è sufficiente per capire cosa c'è che non va, ti è stato chiesto di allegare un file di esempio e non l'hai fatto, a questo punto mi sembra che tu abbia poca voglia di risolvere.
-------------------
OpenOffice 4.1 e Libre Office 6 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: 2991
Iscritto il: venerdì 30 aprile 2010, 7:04
Località: Livorno

Re: macro esporta pdf ods con messaggio d'avviso

Messaggioda macrok » venerdì 4 gennaio 2019, 21:49

sinceramente mi ha fatto venire poca voglia di risolvere il tuo modo "poco umile di interfacciarti al prossimo" credendo che tutti sappiano tutto... ma
cmq anno nuovo vita nuova :-)

allora qui sotto ti incollo il mio elaborato conclusivo con la tua macro sopra
solo che se schiaccio ok funziona tutto come deve, ma se schiaccio no e poi confermo che ho scelto no, lui fa i salvataggi in pdf e ods ugualmente, invece se schiaccio, no e poi annulla, viene fuori un messaggio di errore.
Ali_Moni_Pa
ringrazio nuovamente

Codice: Seleziona tutto   Espandi visualeStringi visuale
sub Tutti

Dim nReturnCode As Integer, nDialogType As Integer
Dim sMessage As String
sMessage = "Vuoi salvare ?"
nDialogType = 4 OR 256
nReturnCode = MsgBox(sMessage, nDialogType, "Salvataggio")
If nReturnCode = 6 Then ' hai scelto di salvare
  Call Tutti
  Call Salva
Else
  Print "Hai scelto NO"
End If

dim args2(1) as new com.sun.star.beans.PropertyValue
dim Arg(0) as new com.sun.star.beans.PropertyValue
Doc = ThisComponent
Controller = Doc.CurrentController
Sheet = Controller.ActiveSheet
CellRange = Sheet.getCellRangeByName("$A$1:$F$32")
cell = Sheet.getCellByPosition(4,6).string ' cella da dove prendere il nome
cell1 = Sheet.getCellByPosition(4,8).string ' cella da dove prendere il nome della cartella di destinazione
cell2 = Sheet.getCellByPosition(4,10).string ' cella secondo nome
Controller.select(CellRange)
Arg(0).Name = "Selection"
Arg(0).Value = CellRange

args2(0).Name = "FilterName"
args2(0).Value = "calc_pdf_Export"
args2(1).Name = "FilterData"
args2(1).Value = Arg()
Doc.storeToURL("file:///C:/Users/user1/Desktop/pdfile/2018/" & cell1 & "/" & cell & "_" & cell2 & ".pdf",args2())

    dim document   as object
    dim dispatcher as object
    document   = ThisComponent.CurrentController.Frame
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
    dim args1(1) as new com.sun.star.beans.PropertyValue
    FileLavoro = ThisComponent
    FoglioLavoro = FileLavoro.Sheets.getByName("Foglio1")
    rif = FoglioLavoro.getCellRangeByName("A1").string
    odate = FoglioLavoro.getCellRangeByName("A2").string
    odate = replace(odate,"/","-")
    fname="preventivo-" & rif & "-" & odate & ".ods"
    args1(0).Name = "URL"
    args1(0).Value = "file:///C:/Users/user1/Desktop/poddd/"& fname
    args1(1).Name = "FilterName"
    args1(1).Value = "calc8"
    dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args1())
   
end sub
libreoffice 5.0.3.2 su windows 10
macrok
 
*** Richiami: 1 ***
Messaggi: 10
Iscritto il: lunedì 24 dicembre 2018, 18:25

Re: macro esporta pdf ods con messaggio d'avviso

Messaggioda patel » sabato 5 gennaio 2019, 7:35

sinceramente mi ha fatto venire poca voglia di continuare ad aiutarti, non posso verificare il problema senza disporre del file già chiesto più volte.
-------------------
OpenOffice 4.1 e Libre Office 6 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: 2991
Iscritto il: venerdì 30 aprile 2010, 7:04
Località: Livorno

Re: macro esporta pdf ods con messaggio d'avviso

Messaggioda charlie » sabato 5 gennaio 2019, 8:22

@macrok
per una mia svista non hai ricevuto il messaggio che riservo di solito ai nuovi arrivati, me ne scuso e provvedo ora a darti il benvenuto sul forum a nome della comunità degli utenti.
Come di consueto faccio, ti invito a consultare il Manuale di sopravvivenza (http://forum.openoffice.org/it/forum/viewtopic.php?f=1&t=2) per avere una panoramica delle regole del forum e nello spirito delle quali ti invito ad avere un approccio un pochino più amichevole nei confronti di chi prova ad aiutarti e aderendo alle richieste che ti vengono fatte.
Sono sicuro che ne trarrai solo vantaggi. Buon proseguimento.
charlie
macOS 10.12 Sierra: Open Office 4.1.5 - LibreOffice 6.0.7
Windows 7 pro (VirtualBox): Open Office 4.1.5 - LibreOffice 5.4.4.2
Ubuntu 17.04 LTE (VirtualBox): LibreOffice 5.1.6.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 5528
Iscritto il: mercoledì 19 dicembre 2012, 10:50

Re: macro esporta pdf ods con messaggio d'avviso

Messaggioda macrok » domenica 13 gennaio 2019, 18:54

scusate ma, nessuno vede che non riesco a fare quello che mi chiedete ????, ho provato ad allegare il file con sta macro senza riuscirci, quindi....
NON E' UGUALE SE INCOLLO SOLO LA MACRO ?????
o altrimenti qualcuno che è ingrado non potrebbe cortesemente compilarmi quanto mi serve??
ri ringrazio
saluti

sapete se esistono altri forum di libre office sempre in italiano ??
libreoffice 5.0.3.2 su windows 10
macrok
 
*** Richiami: 1 ***
Messaggi: 10
Iscritto il: lunedì 24 dicembre 2018, 18:25

Re: macro esporta pdf ods con messaggio d'avviso

Messaggioda macrok » domenica 13 gennaio 2019, 19:02

sub Tutti

Dim nReturnCode As Integer, nDialogType As Integer
Dim sMessage As String
sMessage = "Vuoi salvare ?"
nDialogType = 4 OR 256
nReturnCode = MsgBox(sMessage, nDialogType, "Salvataggio")
If nReturnCode = 6 Then ' hai scelto di salvare
Call Tutti
Call Salva
Else
Print "Hai scelto NO"
End If

dim args2(1) as new com.sun.star.beans.PropertyValue
dim Arg(0) as new com.sun.star.beans.PropertyValue
Doc = ThisComponent
Controller = Doc.CurrentController
Sheet = Controller.ActiveSheet
CellRange = Sheet.getCellRangeByName("$A$1:$F$32")
cell = Sheet.getCellByPosition(4,6).string ' cella da dove prendere il nome
cell1 = Sheet.getCellByPosition(4,8).string ' cella da dove prendere il nome della cartella di destinazione
cell2 = Sheet.getCellByPosition(4,10).string ' cella secondo nome
Controller.select(CellRange)
Arg(0).Name = "Selection"
Arg(0).Value = CellRange

args2(0).Name = "FilterName"
args2(0).Value = "calc_pdf_Export"
args2(1).Name = "FilterData"
args2(1).Value = Arg()
Doc.storeToURL("file:///C:/Users/user1/Desktop/pdfile/2018/" & cell1 & "/" & cell & "_" & cell2 & ".pdf",args2())

dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(1) as new com.sun.star.beans.PropertyValue
FileLavoro = ThisComponent
FoglioLavoro = FileLavoro.Sheets.getByName("Foglio1")
rif = FoglioLavoro.getCellRangeByName("A1").string
odate = FoglioLavoro.getCellRangeByName("A2").string
odate = replace(odate,"/","-")
fname="preventivo-" & rif & "-" & odate & ".ods"
args1(0).Name = "URL"
args1(0).Value = "file:///C:/Users/user1/Desktop/poddd/"& fname
args1(1).Name = "FilterName"
args1(1).Value = "calc8"
dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args1())

end sub
libreoffice 5.0.3.2 su windows 10
macrok
 
*** Richiami: 1 ***
Messaggi: 10
Iscritto il: lunedì 24 dicembre 2018, 18:25

Re: macro esporta pdf ods con messaggio d'avviso

Messaggioda charlie » domenica 13 gennaio 2019, 19:11

macrok ha scritto:sapete se esistono altri forum di libre office sempre in italiano ??

Non ti sembra di essere un po' impertinente? Chiudo la discussione.
charlie
macOS 10.12 Sierra: Open Office 4.1.5 - LibreOffice 6.0.7
Windows 7 pro (VirtualBox): Open Office 4.1.5 - LibreOffice 5.4.4.2
Ubuntu 17.04 LTE (VirtualBox): LibreOffice 5.1.6.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 5528
Iscritto il: mercoledì 19 dicembre 2012, 10:50


Torna a Calc

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite