Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione di dati
Questa risposta è stata tradotta automaticamente. Di conseguenza, potrebbe contenere errori grammaticali o espressioni strane.
Ciao stefano guadagni
Grazie per aver contattato il forum Microsoft Q&A e per aver condiviso la riga VBA che stai utilizzando.
Si prega di notare che questo è il forum it-it. Consigliamo gentilmente di pubblicare la tua domanda in italiano in modo che più membri della community possano aiutarti. In alternativa, puoi anche considerare di pubblicare sul forum en-us se preferisci utilizzare la lingua inglese. Apprezziamo sinceramente la tua comprensione.
Se ho capito correttamente il tuo problema, stai cercando di creare una macro VBA affidabile che esporti solo un singolo foglio attivo come PDF, lo nomini correttamente e lo salvi in un percorso specificato su macOS.
Ho testato questo sul mio Mac per cercare di riprodurre il tuo scenario, e sono riuscito a farlo funzionare con successo, anche con percorsi di cartelle profondi (7 livelli di nidificazione). Nel mio test, ho creato una struttura di cartelle come /Users/abc/Desktop/VBA-test/1/2/3/4/5/6/7/, ho eseguito la macro su una cartella di lavoro di esempio con più fogli, e il PDF esportato includeva correttamente solo il foglio attivo, salvato nella cartella esatta prevista. I percorsi di cartelle profondi (anche 7 livelli) hanno funzionato bene nel mio test, ma è buona pratica mantenere i percorsi gestibili per evitare eventuali stranezze specifiche dell'app.
Puoi considerare di seguire questa macro VBA modificata che ha funzionato nel mio test:
Sub ExportSheetAsPDF_Mac()
Dim pdfPath As String
Dim sheetName As String
sheetName = ActiveSheet.Name
pdfPath = "/Users/abc/Desktop/VBA-test/1/2/3/4/5/6/7/" & "Test01" & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
FileName:=pdfPath, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End Sub
Per assicurarti che il tuo FileName sia accurato, copia il percorso completo di una cartella o file:
Apri Finder e vai al file o alla cartella in Finder > Fai clic destro (o Control-clic) sul file/cartella > poi tieni premuto il tasto Opzione per rivelare l'opzione del percorso completo > Seleziona Copia "[Nome File/Cartella]" come Nome percorso e incollalo direttamente nel tuo codice VBA come valore FileName (ad esempio, nella variabile pdfPath qui sotto).
Se ho frainteso la tua situazione, non esitare a chiarire, e adatterò le mie raccomandazioni di conseguenza. Non vedo l'ora di vedere la tua risposta presto.
Se la risposta è utile, fai clic su "Accetta risposta" e gentilmente votala positivamente. Se hai ulteriori domande su questa risposta, fai clic su "Commenta".
Nota: Segui i passaggi nella nostra documentazione per abilitare le notifiche e-mail se desideri ricevere la notifica e-mail relativa a questo thread.