quesito veloce per impostazione path



  • 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