+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Esportazione dati access word

  1. #1
    becks2107 non è in linea Novello
    Post
    16

    Esportazione dati access word

    Buongiorno, ho una tabella in access 2007 con diversi dati, ora con questi dati dovrei compilare diversi modelli di word. qualcuno può consigliarmi su come scrivere il codice vba perché non vorrei usare stampa unione.
    grazie
    Ultima modifica di AntonioG; 08-02-2020 15:30  Motivo: Non è un Articolo ... Attenzione

  2. #2
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    16,220
    Cerca negli articoli trovi un mio demo già fatto.
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

  3. #3
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,467
    Blogs
    5
    Potrai usare il modello ad oggetti di Word, creando una istanza di Word e operando di conseguenza

    codice:
    Dim objWord  As Object
    Set objWord = CreateObject(“Word.Application”)
    Set objDoc = objWord.Documents.Open("TuoDocumento.docx")
    
    ...
    
    objWord.Quit
    Set objWord=nothing
    P.S. Ecco ... segui la demo di Alex ...
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting è vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  4. #4
    Jocman non è in linea Scolaretto
    Post
    321
    Tempo fa il supporto del forum (ivi compreso la ottima demo di @Alex) mi permise di riuscire ad integrare word con i miei DB.
    Un amico giusto qualche giorno fa mi ha chiesto se gli spiegavo come fare, e gli ho fornito una mia piccola...guida che avevo scritto per mia memoria.

    Ci sono una scaletta per i vari passaggi e un file con i vari riferimenti word da utilizzare (sono una minima parte, ma per ora sono quelli che servono a me)


    In word utilizzo i segnalibri per spostarmi all'interno del documento.

    codice:
    Linee guida generali
    1	Definire le variabili generali minime	
    
    Dim Sourcefile As String             ‘File template da utilizzare
    Dim Destinationfile As String      ‘File docm da salvare (USARE ESTENSIONE DOCM – attivazione macro – sennò non funziona)
    Dim appWord As Word.Application 'Se dovesse dare errore su questa riga, è perchè bisogna aggiungere Strumenti/Riferimenti e flaggare Microsoft Word Object (e excel o/o quant'altro)
    Dim doc As Word.Document
    
    Es.
    Sourcefile = CurrentProject.Path & "\Modelli\Dichiarazione arrivo singolo.dotx"
    Destinationfile = CurrentProject.Path & “\” &  Me.txtCartellaOrdine & "\Dichiarazione arrivo.docm"
    
    
    2	Gestire l’inizio dell’interazione con Word	
    'Se Word non è in funzione evita il messaggio di errore
    On Error Resume Next
    Err.Clear
    
    'Definisce l'apertura di Word per compilare il modello
    Set appWord = GetObject(, "Word.Application")
    
    'Se word non è aperto in background lo avvia
    If Err.Number <> 0 Then
    Set appWord = New Word.Application
    End If
    
    'Apre il file word template
    Set doc = appWord.Documents.Open(Sourcefile, , False)
    
    
    
    3	Scrivere nel file word	
    With doc              ‘Inizio della procedura di scrittura 
    
              INSERIRE QUI TUTTO CIO’ CHE VA SCRITTO NEL FILE WORD
    
    End With             ‘Fine della procedura di scrittura
    
    
    4	Chiudere l’interazione con word e generare il file word finale	
    'Salva il documento word generato
    appWord.ActiveDocument.SaveAs FileName:=Destinationfile, FileFormat:=wdFormatXMLDocumentMacroEnabled, AddToRecentFiles:=False
                 
    doc.Close saveChanges:=False
    
    Set doc = Nothing
    appWord.Quit True
    Set appWord = Nothing

    Nel punto 3 utilizzare le varie stringhe di comando del tipo:

    codice:
    doc.Bookmarks("fldElenco").Select	Si posiziona sul segnalibro indicato
    appWord.Selection.TypeText !Codice	Scrive il contenuto di un campo recuperato da una query
    appWord.Selection.MoveRight Unit:=1	Si muove a destra di 1 unità (ad es in una tabella si sposta in cella a DX)
    appWord.Selection.TypeText Format$(!CostoUnita, "€ #.#0")	Scrive applicando una formattazione specifica
    appWord.Selection.TypeText "Nr. " & Voce & vbCrLf	Scrive un testo + una variabile e va a capo
    appWord.Selection.InsertRowsBelow 1	Inserisce 1 riga sotto a quelal corrente
    appWord.Selection.MoveUp Unit = 1	Si muove in alto di 1 unità (ad es torna alla riga precedente)
    appWord.Selection.Rows.Delete	Elimina la riga (di una tabella) in cui si trova
    appWord.Selection.MoveDown Unit:=wdLine, Count:=1	Altra sintassi per effettuare un movimento
    appWord.Selection.Paragraphs.Alignment = X	Allineamento paragrafo: 1=centrato  2 =sinistra    3=giustificato
    Selection.Paragraphs.Alignment = position	Altra sintassi per allineamento paragrafo. Valori possibili:
    wdAlignParagraphLeft
    wdAlignParagraphRight
    wdAlignParagraphJustify
    wdAlignParagraphCenter

    Spero siano di aiuto

    Andrea

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi