Office: (Office 2010) Word-Dokument über Access erstellen und bearbeiten

Helfe beim Thema Word-Dokument über Access erstellen und bearbeiten in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, ich arbeite an einem Datenbanksystem für ein Labor und habe mich im Forum angemeldet, weil ich an einem Punkt nicht weiterkomme. Ich erstelle... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von TommyBär, 21. Februar 2018.

  1. Word-Dokument über Access erstellen und bearbeiten


    Hallo, ich arbeite an einem Datenbanksystem für ein Labor und habe mich im Forum angemeldet, weil ich an einem Punkt nicht weiterkomme. Ich erstelle Word-Dokumente über Access und befülle diese mit Daten aus dem Backend. Das klappt auch alles. Nicht einwandfrei funktioniert allerdings, Textfelder (z.B. für Briefkopf o.ä.) zu erzeugen und anzusprechen, wobei folgender Code genutzt wird:

    Public Sub DatenAusgeben()
    On Error Resume Next

    Dim objWord As Word.Application
    Dim objDocument As Word.Document
    Dim objShape As Word.Shape
    Dim strDocument As String

    Set objWord = New Word.Application

    'Dokument unter Nutzung einer Vorlage erstellen, AktuelleProbennummer ist eine globale Variable

    strDocument = CurrentProject.Path & "ZUA-Pruefbericht.dotx"
    Set objDocument = objWord.Documents.Add(strDocument)
    objDocument.SaveAs2 CurrentProject.Path & "B_" & AktuelleProbennummer & ".docx"
    objDocument.Close

    strDocument = CurrentProject.Path & "B_" & AktuelleProbennummer & ".docx"
    Set objDocument = objWord.Documents.Add(strDocument)
    objDocument.Activate

    'ein Textfeld anlegen (um Anschrift o.ä. reinzuschreiben)

    Set objShape = ActiveDocument.Shapes.AddTextbox( ..... )

    ...

    objShape.Name = "Textfeld"
    objShape.TextFrame.TextRange.Text = objShape.Name


    Set objShape = Nothing

    ...

    Word-Dateien werden unter Nutzung der dotx-Vorlage ordnungsgemäß erstellt, und beim ersten Aufruf der Routine erscheint auch das Textfeld wie gewünscht. Allerdings wirklich nur beim ersten Mal. Danach werden zwar die Files erstellt, mit Text aus dem Backend befüllt usw., die Application.ActiveDocument-Eigenschaft gibt aber nicht das aktuelle Dokument zurück (stattdessen Dokument1, Dokument2 ...), sodass die AddTextbox-Methode nicht funktioniert. Egal, ob man Word per VBA oder manuell schließt, auch der Einsatz von Nothing hat keine Auswirkungen. Erst nach dem erneuten Starten von Access funktioniert die Aktion genau einmal wieder. Wer kann mir helfen. Vielen Dank sagt Thomas aus Chemnitz

    :)
     
    TommyBär, 21. Februar 2018
    #1
  2. Warum verwendest du überhaupt ActiveDocument wenn du bereits eine Referenz auf das Dokument hast?

    Code:
    Ich würd's eher in die Richtung testen.
    Aber vor allem bist du im falschen Forum.
    Die Fragen gehören ins Word Forum, da du ja Word steuern willst.
     
    markusxy, 23. Februar 2018
    #2
  3. Wenn Du eine Vorlage verwendest: Warum müssen dann extra Textboxen erstellt werden?

    Ansonsten: Einfache Datenübergaben erfolgen entweder an vorhandene(!) Textmarken, oder aber man verwendet ein Seriendruckdokument und beschickt aus Access die Datenquelle dafür.
     
  4. Word-Dokument über Access erstellen und bearbeiten

    Ich hatte das Problem als übergeordnet betrachtet, da ich von Access aus agiere. Trotzdem vielen Dank. Leider besteht das Problem auch mit obigem Code weiter. Nur beim ersten Mal funktioniert es.
    Danach muss ich erst wieder die Access-Anwendung schließen (*.accdb des Frontends reicht schon, Access kann offen bleiben). Vielleicht finde ich eine andere Lösung, nur Text 'rüberschieben klappt ja.
    Aber schon Tabellen muss ich doch wieder direkt ansprechen ...
     
    TommyBär, 23. Februar 2018
    #4
  5. Was bedeutet das in einem vollständigen Satz?
     
  6. Hallo Thomas,

    Hallo,

    da gibt es einige Unsauberkeiten: Code:
     
    haklesoft, 23. Februar 2018
    #6
  7. Ich habe folgendes ausprobiert: Wenn ich mit z.B. mit ActiveDocument.Tables.Add eine Tabelle erzeuge, klappt das auch nur beim ersten Mal. Gleicher Effekt wie oben beim Shape: Erst nach dem Schließen der Datenbank funktioniert wieder genau ein Versuch. Irgendwie weiß meine Anwendung ab dem zweiten Öffnen von Word nicht, in welchem Dokument etwas stattfinden soll. Und wie gesagt, wenn ich das Objekt (Word-Datei) direkt benenne, wie von Markus empfohlen, passiert dasselbe. Thomas
     
    TommyBär, 23. Februar 2018
    #7
  8. Word-Dokument über Access erstellen und bearbeiten

    Mit dem obigen Code müsste Word doch unsichtbar geöffnet werden.
    Wie kannst Du es dann per Hand schließen?
    Hast Du in den TaskManager geschaut, dass kein Word-Instanzen vorhanden sind?
    Ggf.: Mach mal ein objWord.visible =true rein und schau ob da nicht ein Meldungsfenster erscheint.
     
    CatboyJones, 23. Februar 2018
    #8
  9. Schön, dass Ihr mir helfen wollt. Die von Haklesoft zu recht angemerkten Unsauberkeiten sind deshalb reingekommen, weil ich alles mögliche auf die Schnelle ausprobiert habe. Ich bin Quereinsteiger und kein Profi, da weiß man machmal nicht was richtig, falsch, redundant, entbehrlich, unsauber oder einfach nur schlechter Stil ist. objWord.visible= true ist auch gesetzt, Word wird sichtbar geöffnet. Spielt alles keine Rolle, immer der gleiche Ärger: Ab der zweiten Ausführung des Subs wird von Word weder ein Textfeld noch eine Tabelle erzeugt - auch nicht nach dem Säubern des Codes, leider. Und auch nicht, nachdem ich eine neue accdb mit dem Codeausschnitt kreiert habe - gleicher Effekt. An meinem aus einer Unzahl von Formularen bestehenden Frontend kann es also nicht liegen. Läuft da irgendetwas im Hintergrund im Zusammenspiel der Office-Programme, was ich nicht durchschaue ? An Eberhard: Die Vorlage ist rudimentär und ich bin noch voll beim experimentieren, wie die Labor-Prüfberichte überhaupt aussehen sollen. Konkrete Vorgaben gibt es keine. Ich habe einfach mal probiert, ein Textfeld per VBA zu erstellen. Und dann tauchte der berühmte Teufel im Detail auf. Das Datenmodell passt, bei einer Übergabe an Excel stehen die Daten auch in den richtigen Feldern. Es gibt nur zu viele Spezielfälle, sodass in den Berichten z.T. mit Word doch noch herumgeschrieben werden muss. Habe übrigens bis 1991 an der Bergakademie studiert und bin über viele Umwege nun (u.a.) bei Access gelandet. Aber der Quereinstieg ist holprig. Deshalb Schluss für heute !

    Ein schönes Wochendende wünscht Thomas aus Chemnitz
     
    TommyBär, 23. Februar 2018
    #9
  10. Das könnte man ändern. Ich denke zudem, die Erstellung per Hand ist deutlich einfacher, als das Ganze per VBA abzuwickeln, insbesondere wenn das das Aussehen des Endproduktes noch unklar ist.

    In folgendem Link wird demonstriert, wie man in Word eine Tabelle füllen bzw.auch vorher erst erstellen kann: Wordtabelle aus Access füllen

    Denkbar wäre als Teillösung auch, im Worddokument ein Formular anzulegen. Die dort vorhandenen Elemente würde man mit Textmarken versehen und darüber mit Daten versorgen können.

    Das Erzeugen von Worddokumenten mit diversen Gestaltungen ist dann Word-VBA und besser im Wordforum zu klären. Aus Access heraus hätte man dann nur die Aufgabe, über die richtige Wordinstanz das Dokument und dessen Elemente richtig zu referenzieren und dann ggf. einzutragenden Daten bereitzustellen.

    Und wie schon gesagt: ActiveDocument und solche Dinge sollte man sparsamst einsetzen, schon weil die Ansichten von Mensch und Maschine, was aktiv ist, zu bestimmten Zeitpunkten unterschiedlich sein können. Mit der erzeugten Objektvariable hat man doch die bessere Referenz.
     
  11. Nochmals vielen Dank für die Hilfe. Die obige Beispiellösung war genau das, was ich brauchte. Übertrag in meine Anwendung und sukzessive Anpassung brachten den Durchbruch. Kann mir meinen Fehler allerdings trotzdem nicht erklären (auch nach langen Code-Vergleichen). Habe ungeachtet dessen ActiveDocument u.ä. konsequent durch Objektvariable ersetzt. Auch der Einsatz von Textfeldern wurde verworfen, ich nutze jetzt nur noch Tabellen. War halt ein Versuch, der - warum auch immer - nicht aufging. Jetzt kann die Fleißarbeit weitergehen. Thomas
     
    TommyBär, 26. Februar 2018
    #11
Thema:

Word-Dokument über Access erstellen und bearbeiten

Die Seite wird geladen...
  1. Word-Dokument über Access erstellen und bearbeiten - Similar Threads - Word Dokument Access

  2. Word Dokument aus Access maximiert anzeigen

    in Microsoft Access Hilfe
    Word Dokument aus Access maximiert anzeigen: Hallo zusammen, ich öffne aus einem Modul eine Wordvorlage und habe jetzt das Problem das das Dokument nicht immer maximiert angezeigt wird. im Code habe ich folgendes Dim wrdDoc As Object Dim...
  3. Word Dokument aus Access füllen

    in Microsoft Access Hilfe
    Word Dokument aus Access füllen: Hallo, ich bin neu hier, und hab gleich eine Frage *Smilie Bis jetzt hab ich relativ viel Erfahrung mit Datenbanken Access, SQL und Mysql. Jetzt möchte ich Word Dokument aus Access füllen. Das...
  4. word dokument aus access füllen; Fehler 6028

    in Microsoft Access Hilfe
    word dokument aus access füllen; Fehler 6028: Halllo, ich mochte das Dokument test aus access füllen Code: Private Sub Befehl8_Click() Dim wordobj As Object, worddoc As Object Dim VORLAGE As String Set wordobj =...
  5. Mit Access mehrere Word-Dokumente nach bestimmten Zeichenfolgen durchsuchen

    in Microsoft Access Hilfe
    Mit Access mehrere Word-Dokumente nach bestimmten Zeichenfolgen durchsuchen: Hallo Leute, möchte folgende Idee umsetzen: In einer Tabelle von Access möchte ich mehrere Zeichenfolgen untereinander eingeben z.b.: 1.Zeile MT-2011-3789 2.Zeile MT-2010-467 usw. Nun habe ich...
  6. Exportieren von Access-Daten in ein Word-Dokument

    in Microsoft Access Tutorials
    Exportieren von Access-Daten in ein Word-Dokument: Exportieren von Access-Daten in ein Word-Dokument Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr......
  7. Access Tabelle in Word-Dokument

    in Microsoft Access Hilfe
    Access Tabelle in Word-Dokument: Hallo. Ich habe nun eine Lösung nach langem Suchen und Probieren gefunden. Es sollen Datensätze aus ein Access Tabelle in eine Word-Vorlage übergeben werden. Bei dem 1. Datensatz werden die...
  8. Word Dokument aus Formular erstellen mit Tabelleneinträgen

    in Microsoft Access Hilfe
    Word Dokument aus Formular erstellen mit Tabelleneinträgen: Hallo Community, ich habe eine Frage. Ich habe ein Formular erstellt um Namen, Vornamen und Adresse in meine Datenbank einzutragen. Jetzt möchte ich einen Button programmieren, um automatisch...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden