Condividi tramite

aggiornamento campi in modello word da vba access

Anonimo
2016-11-17T13:07:57+00:00

buon giorno ho il seguente problema da vba access vorrei aggiornare un modello word nel quale ho un campo TextBox22 che deve esere aggiornato con il seguente listato

Dim myApp As Word.Application, myDoc As Word.Document

Set myApp = CreateObject("Word.Application")

Set myDoc = myApp.Documents.Add("c:\vestanet\modello1.dotx")

Dim myData As DAO.Database, myRec As DAO.Recordset

Set myData = CurrentDb

Set myRec = myData.OpenRecordset("stampa")

myDoc.FormFields(TextBox22).Result = myRec![Domanda]

myApp.Visible = True

myRec.Close

Set myData = Nothing

Set myRec = Nothing

Set myDoc = Nothing

Set myApp = Nothing

 ottenendo come risultato il messaggio di errore :

errore di run-time 5941

il membro richiesto dell'insieme non esiste

non so proprio cosa fare .grazie

Microsoft 365 e Office | Accesso | 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

  1. Anonimo
    2016-11-18T08:41:07+00:00

    ciao ugk111,

    credo che il fatto che le domande siano n possano suggerire il non inserimento di n bookmarsk visto che appunto il numero può variare di volta in volta.

    Il bookmark è proprio nel momento in cui il numero dei campi è fisso.

    ti suggerisco questo ottimo esempio :

    http://web.mclink.it/MC5884/

    6.137 Esempio di automazione per l'invio e la formattazione di dati da Access a Word usando i bookmarks

    nel tuo scenario credo tu debba riferirti al lato molti, quindi come hai intuito appoggiandoti al recordsetClone della subForm ed organizzando un loop puoi scrivere nel file di word le N righe che ti servono.

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento

6 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2016-11-22T06:22:47+00:00

    ciao sandro. ottimo suggerimento e con poche modifiche ho ottenuto un ottimo risultato. l'unico neo è il colore grigio dei campi Modulo che non riesco a rendere bianco o al massimo trasparete.

    per il resto ancora grazie

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2016-11-18T08:27:40+00:00

    cia sandro. ho aggiunto

     appword.Options.ReplaceSelection = ReplSel

    ' Inizio nuovo ********************************************************

    Set db = CurrentDb

    Set rs = db.OpenRecordset("stampa", dbOpenDynaset)

    Open "stampa" For Output As #1

    For x = 1 To 5

    rs.Edit

    'rs.AddNew

    Me.Domanda = rs.Fields("Domanda")

        doc.Bookmarks("DOMANDA").Select     ' DOMANDA è il segnalibro in word della domanda

        appword.Selection.TypeText Me.Domanda

        appword.Options.ReplaceSelection = ReplSel

    rs.MoveNext

    Next x

    Close #1:

    'fine nuovo ***********************************************************

    Set doc = Nothing

    Set appword = Nothing

    il problema è che raggruppa tutte le domande in un unica "domanda" mentre vorrei ottenere il seguente schema

    domanda

    rigo vuoto

    domanda

    grazie ancora

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2016-11-18T07:38:12+00:00

    ti ringrazio per la celere risposta ed aver evidenziato le "mancanze" . il codice è perfettamete funzionante . nel caso specifico però avrei la necessità di riportare sul modello word i dati presenti in un campo DOMANDA che appare nella maschera N volte (il numero delle domande varia a seconda di parametri). quindi ti chiedo se devo inserire nel modello word tanti segnalibri quante sono le domande o se è possibile creare un ciclo. grazie

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2016-11-17T13:57:44+00:00

    ciao ugk111,

    per popolare un documento di word da access generalmente si instanzia word accertandosi che non ce ne sia già una aperta, si sfruttano i bookmarks a cui si assegnano i valori necessari.

    Nella community se effettui una ricerca trovi diversi esempi per esempio :

    https://answers.microsoft.com/it-it/msoffice/forum/msoffice\_access-mso\_windows8/automazione-word-da-access/1c85bb41-20bf-4881-9cfa-1b2ed3887dbf

    Come avrai modo di vedere la soluzione che proponi presenta diverse..."mancanze".

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento