Pagina 1 di 1
macro esporta pdf ods con messaggio d'avviso
Inviato: lunedì 24 dicembre 2018, 18:40
da macrok
Re: macro o non macro 1
Inviato: martedì 25 dicembre 2018, 18:46
da patel
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
Re: macro o non macro 1
Inviato: martedì 25 dicembre 2018, 21:52
da macrok
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
Re: macro o non macro 1
Inviato: mercoledì 26 dicembre 2018, 8:40
da patel
non vedo ancora allegati, un esempio di pop up
Codice: Seleziona tutto
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
Re: macro o non macro 1
Inviato: mercoledì 26 dicembre 2018, 19:01
da macrok
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
Re: macro o non macro 1
Inviato: mercoledì 26 dicembre 2018, 19:31
da charlie
Ciao, intervengo solo per "rompere le scatole".
Il titolo non mi sembra molto azzeccato, non è significativo del problema e dovrebbe essere cambiato. Grazie.
Re: macro o non macro 1
Inviato: mercoledì 26 dicembre 2018, 19:46
da macrok
hai ragione charlie era per fare dell'umorismo natalizio post vacanze di natale dal lavoro e problemi lavorativi
Re: macro esporta pdf ods con messaggio d'avviso
Inviato: mercoledì 26 dicembre 2018, 20:53
da lucky63
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.
Re: macro esporta pdf ods con messaggio d'avviso
Inviato: mercoledì 26 dicembre 2018, 21:07
da macrok
Codice: Seleziona tutto
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
Re: macro esporta pdf ods con messaggio d'avviso
Inviato: mercoledì 26 dicembre 2018, 21:12
da macrok
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
Re: macro esporta pdf ods con messaggio d'avviso
Inviato: giovedì 27 dicembre 2018, 8:46
da patel
il risultato era scontato, dovevi ragionarci un poco sulla macro di esempio e non copiare e basta
Codice: Seleziona tutto
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
Re: macro esporta pdf ods con messaggio d'avviso
Inviato: giovedì 3 gennaio 2019, 22:44
da macrok
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
Re: macro esporta pdf ods con messaggio d'avviso
Inviato: venerdì 4 gennaio 2019, 9:41
da patel
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.
Re: macro esporta pdf ods con messaggio d'avviso
Inviato: venerdì 4 gennaio 2019, 21:49
da macrok
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
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
Re: macro esporta pdf ods con messaggio d'avviso
Inviato: sabato 5 gennaio 2019, 7:35
da patel
sinceramente mi ha fatto venire poca voglia di continuare ad aiutarti, non posso verificare il problema senza disporre del file già chiesto più volte.
Re: macro esporta pdf ods con messaggio d'avviso
Inviato: sabato 5 gennaio 2019, 8:22
da charlie
@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/vi ... hp?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.
Re: macro esporta pdf ods con messaggio d'avviso
Inviato: domenica 13 gennaio 2019, 18:54
da macrok
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 ??
Re: macro esporta pdf ods con messaggio d'avviso
Inviato: domenica 13 gennaio 2019, 19:02
da macrok
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
Re: macro esporta pdf ods con messaggio d'avviso
Inviato: domenica 13 gennaio 2019, 19:11
da charlie
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.