Condividi tramite

Esportazione su word, creare una cartella e salvare il documento

Anonimo
2012-11-12T14:44:56+00:00

Salve a tutti,

sul mio database attraverso una maschera è possibile esportare alcuni dati su un documento di word.

Questo automatismo, attraverso il codice VBA mi permette anche:

di nominare il documento di word,  numerarlo e salvarlo nella cartella in cui risiede il modello di word che viene utilizzato.

E' possibile salvare questo documento in una cartella creata automaticamente?

Questa è una parte del codice che utilizzo

        Private Sub ESPORTA_Click()        Dim Wrd As Word.Application, Doc As Word.Document        Dim Rst As DAO.Recordset        Dim Modello As String, NomeFile As String, i As Integer        Dim Record As String, SQL As String        Dim Tbl As String * 1        Dim TotRiga As Currency, Totale As Currency        Dim ReplSel As Boolean

'Trova il nome, completo di percorso, del modello word         '("Lettera.dot" nella stessa cartella del database)

Modello = "*\\MyBookLive\Public\MODELLIACCESS\Preventivo.dotx*"

Questa la parte relativa al salvataggio

         'per SALVARE il documento come Lettera_<IDcliente>_<progressivo>.doc:

          NomeFile = Left(Modello, Len(Modello) - 4) & "" & Format(Me.Ragione_Sociale, "000") & "_"

         'cerca il primo progressivo disponibile per l'IDcliente selezionato

          i = 1

          While Len(Dir(NomeFile & Format(i, "000") & ".docx")) > 0

           i = i + 1

           Wend

           Doc.SaveAs NomeFile & Format(i, "000") & ".docx"

Sapreste aiutarmi a?

Creare un sistema che controlla se già esiste una cartella col nome: Ragione_Sociale e salva al suo interno il documento per come è gia nominato

e se la cartella non esiste, ne crea una nuova col nome: Ragione_Sociale e salva il documento al suo interno.

Grazie anticipatamente e cordiali saluti.

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2012-11-13T22:28:05+00:00

Ciao Giuseppe,

se non ho capito male, dovrebbe essere così:


            If Len(Dir("\\MyBookLive\Public\MODELLIACCESS\" & Me.Ragione_Sociale, vbDirectory)) = 0 Then

                MkDir ("\\MyBookLive\Public\MODELLIACCESS\" & Me.Ragione_Sociale)

            End If

      'per SALVARE il documento come Lettera_<IDcliente>_<progressivo>.doc:

                NomeFile = \\MyBookLive\Public\MODELLIACCESS\" & Me.Ragione_Sociale & "\Preventivo" & Format(Me.Ragione_Sociale, "000") & "_"

            'cerca il primo progressivo disponibile per l'IDcliente selezionato

                i = 1

               While Len(Dir(NomeFile & Format(i, "000") & ".docx")) > 0

                i = i + 1

               Wend

               Doc.SaveAs NomeFile & Format(i, "000") & ".docx"


Ciao

Giorgio Rancati

La risposta è stata utile?

0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2012-11-14T18:01:32+00:00

    Ok, Grazie Giorgio!!

    Risolto!!

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2012-11-13T10:49:20+00:00

    Private Sub ESPORTA_Click()

    Dim Wrd As Word.Application, Doc As Word.Document

    Dim Rst As DAO.Recordset

    Dim Modello As String, NomeFile As String, i As Integer

    Dim Record As String, SQL As String

    Dim Tbl As String * 1

    Dim TotRiga As Currency, Totale As Currency

    Dim ReplSel As Boolean

    'Trova il nome, completo di percorso, del modello word

    '("Lettera.dot" nella stessa cartella del database)

    Modello = "\MyBookLive\Public\MODELLIACCESS\Preventivo.dotx"

    'per SALVARE il documento come Lettera_<IDcliente>_<progressivo>.doc:

    NomeFile = Left(Modello, Len(Modello) - 4) & "" & Format(Me.Ragione_Sociale, "000") & "_"

    'cerca il primo progressivo disponibile per l'IDcliente selezionato

                 i = 1

    While Len(Dir(NomeFile & Format(i, "000") & ".docx")) > 0

    i = i + 1

    Wend

    Doc.SaveAs NomeFile & Format(i, "000") & ".docx"

    Gentilissimo Giorgio,

    allora questo è il codice che mi salva perfettamente il file in questa unica grande cartella.

    Mi salva il file in questo formato ad esempio: Preventivo.Comune di Randazzo_001 ecc.. ecc...

    Adesso riesco a creare una cartella chiamata: Comune di Randazzo (inserendo queste 2 righe di codice sotto fra lo spazio del codice sopra)

                   If Len(Dir("\MyBookLive\Public\MODELLIACCESS" & Me.Ragione_Sociale, vbDirectory)) = 0 Then

    MkDir ("\MyBookLive\Public\MODELLIACCESS" & Me.Ragione_Sociale)

    End If

     Ma non riesco a salvare il documento in quel modo rinominato dentro questa cartella...

    Spero puoi riuscire ancora ad aiutarmi..

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2012-11-12T23:28:49+00:00

    Ciao Giuseppe,

    dopo aver creato la cartella (io toglierei lo spazio dopo MODELLIACCESS):

      If Len(Dir("\\MyBookLive\Public\MODELLIACCESS\" & Me.Ragione_Sociale, vbDirectory)) = 0 Then

         MkDir ("\\MyBookLive\Public\MODELLIACCESS\" & Me.Ragione_Sociale)

      End If

    puoi salvare il file così:

     Doc.SaveAs ("\\MyBookLive\Public\MODELLIACCESS\" & Me.Ragione_Sociale & "" & NomeFile & Format(i, "000") & ".docx"

    ricordati di tenerci aggiornati sulla soluzione del tuo post con oggetto: Errore run-time 5151

    Ciao

    Giorgio Rancati

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2012-11-12T19:32:37+00:00

    Scusate..

    leggendo il forum sono riuscito, se non mi sbaglio, a inserire il codice che mi crea la cartella

             If Len(Dir("\\MyBookLive\Public\MODELLIACCESS\ " & Me.Ragione_Sociale, vbDirectory)) = 0 Then

             MkDir ("\\MyBookLive\Public\MODELLIACCESS\ " & Me.Ragione_Sociale)

    ma non sono ancora riuscito a salvare il documento, dentro questa...

    spero possiate aiutarmi..

    La risposta è stata utile?

    0 commenti Nessun commento