tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
9
ZUGRIFFE
8084
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    VBFreak VBFreak ist offline Mitglied Silber
    Registriert seit
    Jun 2004
    Beiträge
    89
    Hallo erstmal!

    Ich habe eine Access 2000-Datenbank und möchte einen Datensatz in ein Word-Dokument (basierend auf einer .dot) exportieren. Im neuem Word-Dokument sind zu ersetzende Bereiche durch Spitze klammern abgegrenzt.

    zur Verdeutlichung:
    <Feld1> Fließtext <Feld2> ...
    Bei einem Klick auf einem Button in einem Formular in Access 2000 soll Word gestartet, die .dot geladen werden (als neues Dokument, nicht die .dot an sich) und die Felder im Word-Dokument durch die Felder des Formulars ersetzt werden. Weiß jemand, wie man das über ein Makro oder ein Modul realisieren kann?

    Vielen Dank
    VBFreak
    Geändert von VBFreak (21.09.04 um 15:40 Uhr)
     

  2. #2
    thekorn thekorn ist offline Mitglied Brokat
    Registriert seit
    Apr 2002
    Ort
    Hannover
    Beiträge
    250
    Ich habe versucht dein Problem anhand eines Beispiels zu lösen.
    Zunächst ein paar Bemerkungen:
    1.) Die Sache mit den Feldern "<Feld1>" etc. ist nicht sehr elegant, Word bietet die Möglichkeit mit Textmarken/Feldern zu arbeiten. Egal, in meinem Beispiel habe ich es so gemacht wie du es hast.
    2.) Ich arbeite mit einem Worddokument (*.doc) als Textquelle und speichere dies dann einfach unter einem neuen Namen (ausgabe.doc), habe deinen Text nicht gründlich gelesen

    Zu meinem Beispiel:
    Also das ganze basiert auf OLE und benutzt die "Ersetzen-Methode" von Word. Deshalb ist es wichtig, dass in Access im Visual-Basic-Editor unter "Extras->Verweise" die "microsoft word object Library" eingebunden ist.

    Wenn du dir den Code anschauen willst, bzw. du ihn verbessern willst einfach im entwurfsmodus des Formular Kontakt die Ereigniseigenschaft der Schältfläche "Ausgabe" anklicken.

    Hoffe, dass dir das hilft
    gruß
    thekorn
    Angehängte Dateien Angehängte Dateien
     

  3. #3
    VBFreak VBFreak ist offline Mitglied Silber
    Registriert seit
    Jun 2004
    Beiträge
    89
    Danke für deine schnelle Hilfe

    Sowas ähnliches habe ich gesucht.

    Nur wollte ich, dass eine Vorlage (.dot) als Word-Dokument (.doc) geöffnet wird und in dieser die Felder ersetzt werden, anschließend soll das Word-Fenster über dem Access-Fenster liegen. Es soll der Benutzer dann selber entscheiden unter welchem Dateinamen er das Ergebnis speichern will.
     

  4. #4
    Avatar von colblake
    colblake colblake ist offline Mitglied Gold
    Registriert seit
    Jan 2004
    Ort
    dresden
    Beiträge
    214
    hi,
    Word und damit ein neues Worddoc öffest du so :

    Code :
    1
    2
    3
    4
    
       Dim  o_NewWord As Object
       Set o_NewWord = CreateObject("Word.Application")
        o_NewWord.Visible = True
        o_NewWord.Documents.Add

    und der zugriff auf das Doc.:

    Code :
    1
    2
    3
    
    With o_NewWord.Selection
        .TypeText Text:="bla bla bla"
    End With

    Mfg col.blake
     
    Über so viele Sachen wächst Gras , man kann keiner Wiese mehr trauen.

  5. #5
    VBFreak VBFreak ist offline Mitglied Silber
    Registriert seit
    Jun 2004
    Beiträge
    89
    Und wie sage ich Word :"Öffne die xxx.dot als yyy.doc" ?
     

  6. #6
    Avatar von Filone
    Filone Filone ist offline Mitglied Gold
    Registriert seit
    Aug 2004
    Ort
    Saarbrücken
    Beiträge
    232
    Und wie sage ich Word :"Öffne die xxx.dot als yyy.doc" ?
    Gar nicht. Einfach Dokument öffnen, beim Speichern schlägt Word automatisch die Endung .doc vor.
     
    __________________
    Look busy. Jesus is coming.

  7. #7
    Avatar von colblake
    colblake colblake ist offline Mitglied Gold
    Registriert seit
    Jan 2004
    Ort
    dresden
    Beiträge
    214
    hi VBFreak,
    wenn du ein schon bestehendes .dot Document öffnen willst, dann ersetzte:
    Code :
    1
    
    o_NewWord.Documents.Add
    durch
    Code :
    1
    
    objWord.Documents.Open "C:\ ... \ xxx.dot"

    Mfg col.blake
     
    Über so viele Sachen wächst Gras , man kann keiner Wiese mehr trauen.

  8. #8
    Nicki24 Nicki24 ist offline Grünschnabel
    Registriert seit
    Oct 2004
    Beiträge
    4
    Hallo Leute!

    Ich hatte dasselbe Problem, wie VBFreak, und kam dank Eurer Hilfe wunderbar klar. Ich bräuchte aber Eure Hilfe bei einer "Erweiterung".
    Wenn ich zwei Formulare habe, auf dem ersten befindet sich Name, Vorname und Ort, auf dem zweiten Formular befindet sich Geburtsdatum, Geburtsort etc.
    Wenn ich beide unabhängig voneinerander im selben Word Dokument speichern möchte, "überschreibt" er mir immer das vorhergehende.
    Beispiel in Word steht in einer Datei:
    <Name>,<Vorname>, <Ort>, <Geburtsdatum>, <Geburtsort>
    übertrage ich Formular1in Word finde ich es folgendermaßen vor:
    Max, Mustermann, Musterstadt,<Geburtsdatum>,<Geburtsort>
    übertrage ich danach das 2.Formular, welche über FK zusammengehören sieht es so aus:
    <Name>,<Vorname>,<Ort>, 01.01.1900, Musterdorf

    Wie kann ich zusammenhängende Datensätze in Word übertragen von unterschiedlichen Formularen? Ich kann doch nicht eine Abfrage über alles erstellen.....
    Wäre schön, wenn Ihr mir bei diesem Problem helfen könntet.
    Übrigends, kann mir jemand sagen, wie ich das "professioneller" mit den Textmarken/Felder in Word gestalte?

    Danke Nicki
     

  9. #9
    VBFreak VBFreak ist offline Mitglied Silber
    Registriert seit
    Jun 2004
    Beiträge
    89
    Hallo Nicki,

    Ich verstehe nicht ganz dein Prob. Zum Professionelleren Umgang mit Felder :

    Erstelle die Felder und gib ihnen gute und kurze Namen (Eigenschaften).

    Ansprechen kannst du die Felder über folgenden Schnipsel
    (Verweis auf MS Word Object Library 9.0 oder höher nötig)

    Dim WordApp As Word.Application
    Set WordApp = CreateObject("Word.Application")
    WordApp.Documents.Add Template:=WordVorlagePfad
    With WordApp.ActiveDocument
    .FormFields("FeldName").Range.Text = "Neuer Text"
    End With

    -> 2 NACHTEILE: geschützte Felder können so nicht gefüllt werden und ungschützte werden durch den neuen Text ersetzt.

    Hoffe das hilft etwas weiter


    @colblake:

    Wie du Siehst Kann man mit "WordApp.Documents.Add Template:=WordVorlagePfad"
    eine Vorlage als .doc öffnen.
    Geändert von VBFreak (27.10.04 um 13:43 Uhr)
     

  10. #10
    Woahii Tutorials.de Gastzugang
    Hallo. Ich habe ebendfalls eine Frage die vielleicht mit der vorherigen Frage zusammenhängt. In diesem Artikel wird das Ersetzen der Textmarken angewendet um die Einträge in einer Datenbank mit den vorhandenen zu ersetzen. Muss man aber so viele zu ersetzende Textmarken im Worddokument haben passend mit der Menge an Daten in der Datenbank oder kann man das auch so machen das es einmal reicht eine Textmarke zu setzen und dann mehrere Daten aus der Datenbank in das Dokument einzulesen. Z.B. habe ich ein Datensatz mit "Bezeichnung 1" und der andere Datensatz hat einen Eintrag mit "Bezeichnung 2" usw. Alle sollen dann in das Dokument. Bei eurer Lösung kann man aber nur z.B. 2 Datensätze einlesen wenn man 2 Textmarken eingetragen hat.

    Mein Gedanke ist gefilterte Datensätze also diese bestimmten in ein Worddokument einzulesen mittels Button im Formular.

    Wäre für Hilfe dankbar.
     

Ähnliche Themen

  1. Access-Daten nach MySQL exportieren
    Von babelf1sh im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 20.08.08, 14:10
  2. Daten aus DB in Word exportieren?
    Von alex130 im Forum PHP
    Antworten: 7
    Letzter Beitrag: 09.03.07, 18:00
  3. Access Datensatz in Word-Dok exportieren
    Von deusfalsus im Forum Visual Basic 6.0
    Antworten: 4
    Letzter Beitrag: 12.01.07, 11:21
  4. Access Datensatz in Word-Dok exportieren
    Von deusfalsus im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 05.01.07, 10:20
  5. Antworten: 2
    Letzter Beitrag: 09.01.06, 07:36