macro per esportare file col nome corrente
macro per esportare file col nome corrente
salve, premetto che non ho nessuna conoscenza di linguaggio di programmazione... quindi magari la mia domanda sarà banale... ma io proprio non ci riesco...
allora ho creato (tramite registrazione) una macro che prima mi modifica un file e successivamente lo esporta in pdf.... il problema è che qualsiasi file io applico questa macro.. esso viene esportato in pdf sempre col nome del file su cui ho eseguito la registrazione... mentre io vorrei che il nome del file esportato sia collegato al nome del file aperto...
in altre parole attualmente... qualsiasi file a cui applico questa macro... viene esportato in pdf sempre col nome bn.pdf (che è il nome usato quando ho registrato la macro) , mentre io vorrei che se applico la macro ad esempio ad un file che si chiama ciao.pdf essa venga esportato con un nome tipo ciao1.pdf oppure ciaomodificato.pdf... (andrebbe bene pure se viene usato lo stesso nome.. quindi ciao.pdf... però ho paura che essendo aperto un file con lo stesso nome... ci siano problemi di scrittura)
è possibile ?
allora ho creato (tramite registrazione) una macro che prima mi modifica un file e successivamente lo esporta in pdf.... il problema è che qualsiasi file io applico questa macro.. esso viene esportato in pdf sempre col nome del file su cui ho eseguito la registrazione... mentre io vorrei che il nome del file esportato sia collegato al nome del file aperto...
in altre parole attualmente... qualsiasi file a cui applico questa macro... viene esportato in pdf sempre col nome bn.pdf (che è il nome usato quando ho registrato la macro) , mentre io vorrei che se applico la macro ad esempio ad un file che si chiama ciao.pdf essa venga esportato con un nome tipo ciao1.pdf oppure ciaomodificato.pdf... (andrebbe bene pure se viene usato lo stesso nome.. quindi ciao.pdf... però ho paura che essendo aperto un file con lo stesso nome... ci siano problemi di scrittura)
è possibile ?
openoffice 3.1 su windows vista
Re: macro per esportare file col nome corrente
che ne dici di farci vedere la macro ?
comunque puoi ricavare il nome del file con
comunque puoi ricavare il nome del file con
Codice: Seleziona tutto
Sub DocumentName
If (Not GlobalScope.BasicLibraries.isLibraryLoaded("Tools")) Then GlobalScope.BasicLibraries.LoadLibrary("Tools")
sDocURL = ThisComponent.getURL()
fname = FileNameoutofPath(sDocURL, "/")
fname = left(fname,len(fname) - 4
Print "Document File Name = " & Fname
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
Re: macro per esportare file col nome corrente
si.. scusami...patel ha scritto:che ne dici di farci vedere la macro ?
questa è la parte della macro che esporta il file:
Codice: Seleziona tutto
dim args2(2) as new com.sun.star.beans.PropertyValue
args2(0).Name = "URL"
args2(0).Value = "file:///C:/Users/Win8/Desktop/prove/bn.pdf"
args2(1).Name = "FilterName"
args2(1).Value = "writer_pdf_Export"
args2(2).Name = "FilterData"
args2(2).Value = Array()
dispatcher.executeDispatch(document, ".uno:ExportToPDF", "", 0, args2())
openoffice 3.1 su windows vista
Re: macro per esportare file col nome corrente
Codice: Seleziona tutto
If (Not GlobalScope.BasicLibraries.isLibraryLoaded("Tools")) Then GlobalScope.BasicLibraries.LoadLibrary("Tools")
sDocURL = ThisComponent.getURL()
fname = FileNameoutofPath(sDocURL, "/")
fname = left(fname,len(fname) - 4
dim args2(2) as new com.sun.star.beans.PropertyValue
args2(0).Name = "URL"
args2(0).Value = "file:///C:/Users/Win8/Desktop/prove/" & fname & ".pdf"
args2(1).Name = "FilterName"
args2(1).Value = "writer_pdf_Export"
args2(2).Name = "FilterData"
args2(2).Value = Array()
dispatcher.executeDispatch(document, ".uno:ExportToPDF", "", 0, args2())
Ultima modifica di patel il domenica 27 marzo 2016, 9:06, modificato 1 volta in totale.
-------------------
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
Re: macro per esportare file col nome corrente
la prima volta che ho eseguito la macro mi ha dato errore su questa riga:
args2(0).Value = "file:///C:/Users/Win8/Desktop/prove/" & fname" & ".pdf"
penso che l'errore sia dipeso che hai dimenticato le " prima di fname... quindi l'ho corretto nel seguente modo:
args2(0).Value = "file:///C:/Users/Win8/Desktop/prove/" & "fname" & ".pdf"
quindi ho eseguito la macro.. e in riferimento all'ultima riga del codice mi ha dato il seguente errore:
variabile dell'oggetto non impostata
ps. ho eseguito la macro su libreoffice e non su openoffice.. ma penso che sia la stessa cosa....
args2(0).Value = "file:///C:/Users/Win8/Desktop/prove/" & fname" & ".pdf"
penso che l'errore sia dipeso che hai dimenticato le " prima di fname... quindi l'ho corretto nel seguente modo:
args2(0).Value = "file:///C:/Users/Win8/Desktop/prove/" & "fname" & ".pdf"
quindi ho eseguito la macro.. e in riferimento all'ultima riga del codice mi ha dato il seguente errore:
variabile dell'oggetto non impostata
ps. ho eseguito la macro su libreoffice e non su openoffice.. ma penso che sia la stessa cosa....
openoffice 3.1 su windows vista
Re: macro per esportare file col nome corrente
Codice: Seleziona tutto
args2(0).Value = "file:///C:/Users/Win8/Desktop/prove/" & fname & ".pdf"
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: macro per esportare file col nome corrente
giusto, ho corretto, c'era una " in più
-------------------
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