Macro Calc convertire tutti i file in cartella .XLS in .PDF
-
- Messaggi: 5
- Iscritto il: mercoledì 5 settembre 2018, 21:05
Macro Calc convertire tutti i file in cartella .XLS in .PDF
Buonasera a tutti,
chiederei cortesemente aiuto, se fattibile, a qualche Guru di Basic, in quanto avrei bisogno di una Macro per Calc di Openoffice, che converta in PDF tutti i documenti .xls presenti in una data cartella.
Il percorso della suddetta cartella può anche essere lo stesso del file .xls che conterrà la macro....
Provengo da una piccola esperienza con VBA di Excel, ed è proprio un altro mondo il Basic...sono parecchio spaesato.
Premetto di aver già cercato con la funzione "Cerca" del Forum, come da suggerimenti dislocati in varie zone dello stesso Forum, ma non ho trovato nulla che possa fare al caso mio...
Ringrazio anticipatamente chi potrà in qualche modo aiutarmi
chiederei cortesemente aiuto, se fattibile, a qualche Guru di Basic, in quanto avrei bisogno di una Macro per Calc di Openoffice, che converta in PDF tutti i documenti .xls presenti in una data cartella.
Il percorso della suddetta cartella può anche essere lo stesso del file .xls che conterrà la macro....
Provengo da una piccola esperienza con VBA di Excel, ed è proprio un altro mondo il Basic...sono parecchio spaesato.
Premetto di aver già cercato con la funzione "Cerca" del Forum, come da suggerimenti dislocati in varie zone dello stesso Forum, ma non ho trovato nulla che possa fare al caso mio...
Ringrazio anticipatamente chi potrà in qualche modo aiutarmi
Windows 7 - Openoffice 4.1.5
Re: Macro Calc convertire tutti i file in cartella .XLS in .
Argomento spostato.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Re: Macro Calc convertire tutti i file in cartella .XLS in .
prova questa modificando i percorsi
Codice: Seleziona tutto
Sub PDFconvert_InFolder
Dim DocName as object, DocUlr as string, dummy()
Dim mStoreOpts(1) As New com.sun.star.beans.PropertyValue
sPath ="F:\Download\" ' cartella con i file xls
destPath ="F:\Download\A\" ' cartella destinazione pdf
sFileName = Dir(sPath & "*.xls", 0)
Do While (sFileName <> "")
DocUrl = ConvertToURL(sPath & sFileName)
DocName = StarDesktop.loadComponentFromURL (DocUrl, "_blank",0, Dummy() )
mStoreOpts(0).Name = "Overwrite"
mStoreOpts(0).Value = True
mStoreOpts(1).Name = "FilterName"
mStoreOpts(1).Value = "calc_pdf_Export"
sUrl = destPath & sFileName & ".PDF"
DocUrl = ConvertToURL(sUrl)
DocName.storeToURL(DocUrl, mStoreOpts())
DocName.Close(true)
sFileName = Dir
Loop
End Sub
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
-
- Messaggi: 5
- Iscritto il: mercoledì 5 settembre 2018, 21:05
Re: Macro Calc convertire tutti i file in cartella .XLS in .
Innanzitutto, chiedo scusa per il ritardo con il quale rispondo, ma per fortuna ho dovuto assolvere il duro compito delle ferie...
chiedo nuovamente scusa per l'eventuale errore...
Giusto per la cronaca, grazie alle informazioni presenti in un altro tuo post presente sul forum, ho aggiunto una piccola modifica che permette di scegliere la cartella nella quale sono presenti i file da convertire.
Grazie ancora e ci si legge in giro per il forum, penso che bazzicherò spesso da queste parti... Ciao
charlie ha scritto:Argomento spostato.
chiedo nuovamente scusa per l'eventuale errore...
Grazie Patel, sei un Genio... non so davvero come ringraziarti, funziona alla grande e mi hai aperto la mentepatel ha scritto:prova questa modificando i percorsi
Codice: Seleziona tutto
Sub PDFconvert_InFolder Dim DocName as object, DocUlr as string, dummy() Dim mStoreOpts(1) As New com.sun.star.beans.PropertyValue sPath ="F:\Download\" ' cartella con i file xls destPath ="F:\Download\A\" ' cartella destinazione pdf sFileName = Dir(sPath & "*.xls", 0) Do While (sFileName <> "") DocUrl = ConvertToURL(sPath & sFileName) DocName = StarDesktop.loadComponentFromURL (DocUrl, "_blank",0, Dummy() ) mStoreOpts(0).Name = "Overwrite" mStoreOpts(0).Value = True mStoreOpts(1).Name = "FilterName" mStoreOpts(1).Value = "calc_pdf_Export" sUrl = destPath & sFileName & ".PDF" DocUrl = ConvertToURL(sUrl) DocName.storeToURL(DocUrl, mStoreOpts()) DocName.Close(true) sFileName = Dir Loop End Sub
Giusto per la cronaca, grazie alle informazioni presenti in un altro tuo post presente sul forum, ho aggiunto una piccola modifica che permette di scegliere la cartella nella quale sono presenti i file da convertire.
Grazie ancora e ci si legge in giro per il forum, penso che bazzicherò spesso da queste parti... Ciao
Windows 7 - Openoffice 4.1.5
Re: Macro Calc convertire tutti i file in cartella .XLS in .
grazie del riscontro, ti dispiace condividere il codice da te modificato ? potrebbe essere utile ad altri.
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
-
- Messaggi: 5
- Iscritto il: mercoledì 5 settembre 2018, 21:05
Re: Macro Calc convertire tutti i file in cartella .XLS in .
Certamente, mi sembra il minimopatel ha scritto:grazie del riscontro, ti dispiace condividere il codice da te modificato ? potrebbe essere utile ad altri.
Ho anche fatto una piccola modifica per evitare che i file venissero salvati con la doppia estensione ".xls.pdf", anche se non pregiudicava il corretto funzionamento e messo un messaggio con il numero dei documenti convertiti
Codice: Seleziona tutto
Sub XLStoPDFconvert_InFolder
Dim DocName as object, DocUlr as string, dummy()
Dim mStoreOpts(1) As New com.sun.star.beans.PropertyValue
sPath =ChooseADirectory() & "/"
destPath =sPath & "/File_Pdf/" ' cartella destinazione pdf
sFileName = Dir(sPath & "/*.xls", 0)
Cont=0
Flag=0
Do While (sFileName <> "")
DocUrl = ConvertToURL(sPath & sFileName)
DocName = StarDesktop.loadComponentFromURL (DocUrl, "_blank",0, Dummy() )
mStoreOpts(0).Name = "Overwrite"
mStoreOpts(0).Value = True
mStoreOpts(1).Name = "FilterName"
mStoreOpts(1).Value = "calc_pdf_Export"
lungh=Len(sFileName)
sUrl = destPath & Left(sFileName,lungh-4) & ".PDF"
DocUrl = ConvertToURL(sUrl)
DocName.storeToURL(DocUrl, mStoreOpts())
DocName.Close(true)
sFileName = Dir
Cont=cont+1
flag=1
Loop
if flag=1 then
msgbox "Sono stati convertiti " & Cont & " file in PDF", "File convertiti correttamente"
end if
End Sub
Function ChooseADirectory(Optional sInPath$) As String
Dim oDialog As Object
Dim oSFA As Object
Dim s As String
Dim oPathSettings
oDialog = CreateUnoService("com.sun.star.ui.dialogs.FolderPicker")
oSFA = createUnoService("com.sun.star.ucb.SimpleFileAccess")
If oDialog.Execute() = 1 Then
ChooseADirectory() = oDialog.getDirectory()
End If
End Function
Windows 7 - Openoffice 4.1.5
Re: Macro Calc convertire tutti i file in cartella .XLS in .
Ottimo lavoro
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
-
- Messaggi: 5
- Iscritto il: mercoledì 5 settembre 2018, 21:05
Re: Macro Calc convertire tutti i file in cartella .XLS in .
Grazie Mille.... ma mi sa che è merito tuopatel ha scritto:Ottimo lavoro
Windows 7 - Openoffice 4.1.5