Documento stampa unione



  • Documento stampa unione
    di giorgioword (utente non iscritto) data: 27/05/2014 19:04:49

    Ho un documento stampa unione di Word, che deve ricavare i dati da alcuni files di excel che stanno in una cartella chiamata ELENCHI a sua volta nella cartella UFFICIO, che sta a sua volta nella cartella DOCUMENTI. Si tratta di 10 file diversi, numerati da 1 a 10. Vorrei che quando apro il file word mi lasci scegliere il file excel da utilizzare come soprgente di dati; adesso, invece, devo dare tutta la ricarca partendo da risorse del computer, documenti, ufficio, elenchi. E' possibile creare una scorciatoia?. Grazie.



  • di giorgioword (utente non iscritto) data: 02/06/2014 15:53:30

    Forse non ho bene spiegato il mio problema. In una cartella chiamata "elenchi" ho 10 file excel, ognuno dei quali ha un elenco di circa 50 nominativi. Ciascuno dei 10 file è collegato, con apposito collegamento ipertestuale, ad un medesimo file WORD chiamato "Sintesi", da utilizzare in Stampa unione. Io vorrei che aprendo il collegamento ipertestuale il documento WORD stampa unione "leggesse" come origine dati il file excel da cui lo sto aprendo mediante il collegamento ipertestuale; al momento, invece, parte una ricerca del file origine dati, che spesso mi fa perdere molto tempo. E' possibile fare quello che ho esposto?. E come?. Grazie.



  • di lepat (utente non iscritto) data: 02/06/2014 16:28:59

    prova a fare le operazioni che hai descritto dopo aver attivato il registratore di macro, quindi allega il file



  • di giorgioword (utente non iscritto) data: 03/06/2014 19:05:39

    Ho allegato 2 file. Il primo file è un file excel, che contiene un elenco di nomi. Il secondo file è un file word, che deve ricevere i dati dal file di excel. Penso di avere fatto un gran pasticcio!!! Io vorrei che cliccando su un collegamento ipertestuale inserito nel file di excel si aprisse automaticamente il file word "leggendo" come file di origine dati il file di excel. Il tutto è complicato dal fatto che i file excel che possono essere origine dei dati cono in realtà 10, tutti collagati allo stesso file di word. Io vorrei che cliccando sul collegamento ipertestuale di uno qualsiasi dei file excel mi aprisse il file word, e che il file word automaticamente prendesse i dati dal file excel dal quale è stato aperto. Non so se sia fattibile...ma vi ringrazio tantissimo per l'aiuto e per i consigli che vorrete darmi.



  • di Grograman (utente non iscritto) data: 03/06/2014 20:48:11

    Per come la uso io la stampa unione la lancio direttamente dal file word, il codice risiede nel documento word che va a leggere il db dall'excel.

    Anche perché se l''Excel è aperto il word mi pare non riesca ad aggiornare la stampa unione

    Domani se ho tempo posto esempio!



  • di Grograman data: 04/06/2014 10:19:26

    Ciao!

    Ho allegato il file "CERTIFICATOIDONEO.docm" nel quale è presente il seguente codice che si scatena in apertura.

    Attenzione eliminare la riga ".InitialFileName = "R:HOSTTOPC"" perchè mi è rimasta da un altro codice.
    Riporto il vba qui sotto, da mettere nel modulo "Thisdocument"
     
    Option Explicit
    
    
    Private Sub Document_Open()
      If MsgBox("Eseguire Stampa Unione?", vbYesNo, "STAMPA UNIONE") = vbYes Then
        Call Me.Stampa_Unione_Variabile
      End If
    End Sub
    
    Sub Stampa_Unione_Variabile()
      Dim dc1 As Document
      Dim strPath As String
      Dim fdSaldat As FileDialog
      Dim objFl As Variant
      
      Set dc1 = ThisDocument
      Set fdSaldat = Application.FileDialog(msoFileDialogFilePicker)
      
      With fdSaldat
        '.InitialFileName = "R:HOSTTOPC"
        .Title = "Selezionare SALDAT per importazione."
        .ButtonName = "Importa"
        .AllowMultiSelect = False
        .InitialView = msoFileDialogViewDetails
        .Show
        For Each objFl In .SelectedItems
          strPath = objFl
        Next objFl
      End With
      
      Set fdSaldat = Nothing
      dc1.MailMerge.OpenDataSource Name:=strPath, ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
        AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
        Format:=wdOpenFormatAuto, Connection:= _
        "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=strPath;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=35;Jet OLEDB:Database Locking Mode=0;Jet OLE" _
        , SQLStatement:="SELECT * FROM `Visite$`", SQLStatement1:="", SubType:= _
        wdMergeSubTypeAccess
      With dc1.MailMerge
        .Destination = wdSendToNewDocument
        .SuppressBlankLines = True
        With .DataSource
          .FirstRecord = wdDefaultFirstRecord
          .LastRecord = wdDefaultLastRecord
        End With
        .Execute Pause:=False
      End With
      dc1.Activate
      Set dc1 = Nothing
    End Sub
    



  • di lepat (utente non iscritto) data: 04/06/2014 11:11:53

    sbaglio o chiede un file di access invece che un file excel come richieto da Giorgio ?



  • di Grograman (utente non iscritto) data: 04/06/2014 11:17:10

    Nono l'ho creato registrando la stampa unione sull'excel che ha allegato



  • di lepat (utente non iscritto) data: 04/06/2014 12:40:23

    strano, la prima volta non ha funzionato, ora invece sì



  • di giorgioword (utente non iscritto) data: 04/06/2014 12:51:15

    Ti ringrazio, ma non funziona, almeno nel modo in cui intendevo io. Infatti, aprendo il file che mi hai inviato parte la richiesta del file dati di origine di excel, per la quale cosa non è necessaria una macro, essendo già previsto in stampa unione la ricerca del file origine dati.
    La mia idea era diversa. Poichè ho 10 file di origine dati, volevo che partendo da uno qualsiasi di esso, ad ese. dal file n.4, si aprisse sempre il file word di stampa unione, "leggendo" il file di excel come file di origine dati. Questo per evitare di dovere cercare il file di origine dati di excel. Se ciò non è possibile si potrebbe partire dal file word di stampa unione, selezionare la Ricerca origine dati, accelerando tale ricerca?