Sviluppare funzionalita su Microsoft Office con VBA File Word salvato in una Directory diversa

Login Registrati
Stai vedendo 4 articoli - dal 1 a 4 (di 4 totali)
  • Autore
    Articoli
  • #26795 Score: 0 | Risposta

    GiuseppeMN
    Partecipante
      19 pts

      Buona sera a Tutti;
      mi stavo chiedendo se è possibile risolvere questo quesito:

      Ho due Directory (Cartelle):
      - C:\Prove\Word\Test\
      - C:\Prove\Word\Test\Schede\

      Ho Due File, che allego:
      - Test.xlsm
      - _Base.docx

      Nel File Word _Base.docx ho tre "Bookmarks" (Segnalibri):
      - Nominativo
      - Data_di_nascita
      - Codice_Fiscale

      Nel File Test.xlsm ho un Codice VBA che mi consente di salvare in Word una scheda per ogni nominativo con i tre Bookmarks compilati.

      Option Explicit
      
      Sub Copia_in_Word()
      On Error GoTo 10
      Application.ScreenUpdating = False
      Dim FileDoc As String
      Dim wrdApp, wrdDoc
      Const Path As String = "C:\Prove\Word\Test\"
      Const FileWord As String = "_Base.docx"
      
          If ActiveCell.Row < 3 Or ActiveCell.Row > Range("A" & Rows.Count).End(xlUp).Row Then End
                  FileDoc = Path & Cells(ActiveCell.Row, 2) & ".docx"
      Set wrdApp = CreateObject("Word.Application")
              wrdApp.Visible = True
      Set wrdDoc = wrdApp.Documents.Open(Path & FileWord)
              With wrdDoc
                  .Bookmarks("Nominativo").Range.Text = "Nominativo: " & Cells(ActiveCell.Row, 2)  '   Nominativo
                  .Bookmarks("Data_di_nascita").Range.Text = "Data di nascita: " & Cells(ActiveCell.Row, 3) '   Data di nascita
                  .Bookmarks("Codice_Fiscale").Range.Text = "Codice Fiscale: " & Cells(ActiveCell.Row, 6) '   Codice Fiscale
              End With
                  wrdApp.ActiveDocument.SaveAs Filename:=FileDoc
                      wrdApp.Quit
      10:
      Set wrdApp = Nothing
      Set wrdDoc = Nothing
      Application.ScreenUpdating = True
          Cells(ActiveCell.Row + 1, 2).Select
      End Sub

      Il Codice VBA mi sembra funzioni correttamente ma vorrei che il File Word di ogni Nominativo venga salvato non in C:\Prove\Word\Test\, come avviene attualmente, ma in C:\Prove\Word\Test\Schede\.

      In realtà ho risolto con due Codici VBA che:
      - Copia il File presente in C:\Prove\Word\Test\ in C:\Prove\Word\Test\Schede\
      - Cancella il File presente in C:\Prove\Word\Test\

      Quello che volevo evitare è proprio l'utilizzo di questi due Codici VBA aggiuntivi.

       

      Ringrazio in anticipo chi potrà propormi una soluzione adeguata.

       

      Buon fine settimana.

      Giuseppe

      Allegati:
      You must be logged in to view attached files.
      #26798 Score: 0 | Risposta

      GiuseppeMN
      Partecipante
        19 pts

        Buona giornata a Tutti.

        Chiedo scusa era proprio una banalità, ho risolto semplicemente con:

        Const Path_Sch As String = "C:\Prove\Word\Test\Schede\"
        FileDoc = Path_Sch & Cells(ActiveCell.Row, 2) & Ext
        wrdApp.ActiveDocument.SaveAs Filename:=FileDoc

        Giuseppe

        #26799 Score: 0 | Risposta

        Marius44
        Moderatore
          58 pts

          Buondì GiuseppeMN

          Anche se, come dici, era una banalità io confesso che non c'ero arrivato (e ti assicuro che ho provato).

           

          Ciao,

          Mario

          #26800 Score: 0 | Risposta

          GiuseppeMN
          Partecipante
            19 pts

            Buona giornata, Mario.

            A proposito di:

            ... ti assicuro che ho provato ...

            Grazie del tempo che mi hai dedicato.

             

            Giuseppe

          Login Registrati
          Stai vedendo 4 articoli - dal 1 a 4 (di 4 totali)
          Rispondi a: File Word salvato in una Directory diversa
          Gli allegati sono permessi solo ad utenti REGISTRATI
          Le tue informazioni: