quesito veloce per impostazione path
Hai un problema con Excel? 
quesito veloce per impostazione path
di Daniela (utente non iscritto) data: 03/11/2017 16:07:50
Ciao ragazzi, in teoria con questo codice mi si dovrebbe salvare un file pdf nella stella cartella che contiene il file excel, tuttavia mi rimanda sempre alla path superiore, come posso fare?, il resto deve essere tutto uguale, anche il fatto che prende il nome dalla cartella in cui è contenuto il file excel.
Grazie anticipatamente
Sub SalvaInPDF()
Dim ws As Worksheet
Dim strIndirizzo As String
Dim myFile As Variant
Dim strFile As String
On Error GoTo errHandler
Set ws = ActiveSheet
'apre la finestra di dialogo per il salvataggio dei file
'la cartella di default è la stessa della cartella di excel
strFile = Replace(Replace(ws.Name, "_", "_"), ".", "_") _
& "" _
& ".pdf"
strFile = ThisWorkbook.Path & "" & strFile
myFile = Application.GetSaveAsFilename _
(InitialFileName:=strFile, _
FileFilter:="PDF Files (*.pdf), *.pdf", _
Title:="Seleziona la cartella e inserisci il nome del file da salvare")
If myFile <> False Then
ws.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=myFile, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End If
exitHandler:
Exit Sub
errHandler:
MsgBox "Non ho potuto salvare il file PDF"
Resume exitHandler
End Sub
|
di patel data: 03/11/2017 17:18:47
sostituisci la riga
strFile = ThisWorkbook.Path & "" & strFile
con
strFile = ThisWorkbook.Path & "" & strFile
di Daniela (utente non iscritto) data: 03/11/2017 17:31:10
Grazie, ma se imposto così non mi mette più il nome in automatico al file riprendendolo dalla path. Attualmente infatti la macro mi riporta il nome pdf composto da nome path + nomefoglio. E cosi mi servirebbe, se invece inserisco quel "" mi presenta solo il nome foglio.
di patel data: 03/11/2017 17:33:16
se vuoi salvare nella stessa cartella del file a cosa ti serve la finestra di dialogo per scegliere la cartella ?
di Daniela (utente non iscritto) data: 03/11/2017 17:35:19
dEVO PRODURRE DEI FILES (500 PER LA PRECISIONE) che poi devo inviare, quindi devono avere il nome dell'interessato (a cui intesto la cartella), altrimenti si rischia di fare confusione con 500 files con uguale nome, anche se sono inseriti nelle cartelle giuste....
di patel data: 03/11/2017 18:05:13
non mi sembra che tu abbia risposto alla mia domanda
di Oscar (utente non iscritto) data: 03/11/2017 18:20:52
Ciao Daniela
Prova a fare una sotto cartella (La cartella che stai usando adesso , la metti dentro un'altra cartella)
Ciao Oscar
di Albatros54 data: 03/11/2017 18:52:54
di Daniela (utente non iscritto) data: 04/11/2017 11:31:45
Ciao ragazzi, Patel come non ho risposto alla tua domanda?? avere 500 files che si chiamano tutti allo stesso modo (ovvero con il nome del foglio) non è il top, dovrebbero avere ognuno il nome della persona a cui sono riferiti (ovvero la cartella che li contiene)
Mettendo il "/" il file effettivamente entra nella cartella giusta, ma il nome non lo riprende, prende solo il nome del foglio, anche con il codice postato da Albatros: cartella giusta, ma solo nome del foglio
Per ora niente
di patel data: 04/11/2017 13:09:06
ripeto la domanda, però leggila con attenzione
se vuoi salvare nella stessa cartella del file a cosa ti serve la finestra di dialogo per scegliere la cartella ?
il nome della cartella è già in ThisWorkbook.Path
comunque forse ho capito cosa vuoi fare, prova questa
Sub SalvaInPDF()
Set ws = ActiveSheet
strFile = Replace(Replace(ws.Name, "_", "_"), ".", "_") _
& "" _
& ".pdf"
cartella = Right(ThisWorkbook.Path, Len(ThisWorkbook.Path) - 3)
strFile = ThisWorkbook.Path & "" & cartella & strFile
ws.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=strFile, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End Sub
|
di Daniela (utente non iscritto) data: 04/11/2017 13:26:01
Ah no a me non interessa che si apra la finestra di scelta per il salvataggio, purchè il nome del file (non della cartella - penso sia qui il malinteso) presenti NOME CARTELLA (in cui salva) + NOME FOGLIO
se salvo in cartella "GIOVANNI" il file pdf che si crea deve entrare nella cartella GIOVANNI (dove è l'xmls) e deve essere nominato GIOVANNI_Foglio1.pdf
Non so se è chiaro, perdonami prima penso parlassimo di 2 cose diverse
di Daniela (utente non iscritto) data: 04/11/2017 13:29:35
L'ultima macro mi da errore run time 5
di patel data: 04/11/2017 17:08:18
prova questa
Sub SalvaInPDF()
Set ws = ActiveSheet
strFile = Replace(Replace(ws.Name, "_", "_"), ".", "_") _
& "" _
& ".pdf"
cartella = Right(ThisWorkbook.Path, Len(ThisWorkbook.Path) - 3)
p = InStrRev(cartella, "")
cartella = Right(cartella, Len(cartella) - p)
strFile = ThisWorkbook.Path & "" & cartella & "_" & strFile
ws.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=strFile, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End Sub |
di DANIELA (utente non iscritto) data: 04/11/2017 17:16:54
PERFETTO... COME SEMPRE PREZIOSISSIMO!!
di patel data: 04/11/2017 17:38:28
bene, però in futuro, oltre a mostrare il codice, spiega subito bene cosa dovrebbe fare, altrimenti nascono malintesi e si perde tempo.
di Daniela (utente non iscritto) data: 04/11/2017 17:40:36
SCUSAMI, CERCHERò DI ESSERE PIù CHIARA, MA INIZIALMENTE (QUANDO NON REGISTRAVA NELLE GIUSTA PATH) IL PROBLEMA NON SI PONEVA... GRAZIEEEEE
Vuoi Approfondire?