Ergebnis 1 bis 4 von 4
  1. #1
    Registriert seit
    19.08.2007
    Beiträge
    126

    Frage SQL Abfrage in Wordmakro durchführen

    Guten Tag zusammen
    Habe mal wieder ein Problem und hoffe, dass jemand die Lösung kennt:

    Ich erstelle in Excel eine Datenbank für Etiketten. Diese Etiketten möchte ich mit Word ausdrucken. Zu diesem Zwecke habe ich ein Etikettendatei vorbereitet. Diese möchte ich aus Word aufrufen, aktualisieren und ausdrucken.

    Das Erstellen der Datei im Excel funktioniert, die Etiketten erstellen in Word funktioniert. Nur die Verbindung dazwischen habe ich nicht im Griff. Wenn ich die Worddatei über Excel aufrufe, wird die SQL Abfrage nicht gemacht und somit die Etiketten nicht aktualisiert. Wenn ich das Worddokument im Explorer direkt aufrufe, funktioniert alles richtig.
    Ich mache folgende Umwege:

    Ich rufe in Excel das Word auf

    Dim WordApp As Object
    Set WordApp = CreateObject("Word.Application")
    WordApp.Documents.Add
    WordApp.Visible = True

    Das funktioniert soweit gut.

    In Word:
    Private Sub CommandButton1_Click()
    ChangeFileOpenDirectory "G:\PUBLIC\Rechnungen\"
    Documents.Open FileName:= _
    "G:\PUBLIC\Rechnungen\EtikettenVorlage.docx", _
    ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
    PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
    WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
    wdOpenFormatAuto, XMLTransform:=""
    End Sub

    Wenn ich das Dokument EtikettenVorlage.docx direkt aus dem Explorer aufrufe, alles in Ordnung, es kommt die Frage nach dem SQL Server und wenn ich ja sage, werden alle Daten richtig angezeigt. Wenn ich es über den Befehl oben mache, wird das Dokument geöffnet, aber nicht aktualisiert. Was muss machen, damit die Etikettendaten stimmen?

    Herzlichen Dank schon fürs Lesen und Studieren
    cesar

  2. #2
    Registriert seit
    04.06.2013
    Beiträge
    92
    Hallo cesar

    Ich verstehe die Abhandlung leider nicht ganz.

    1) du öffnest die Excel-Datenbankdatei
    2) aus dieser Excel heraus erzeugst du eine neue Wordinstanz (automakro?)
    3) aus der nun geöffneten, leeren Worddatei heraus öffnest du die Etikettenvorlage.docx

    Warum musst du die Exceldatei vorab öffnen?

    Kannst du gegebenenfalls bitte die involvierten XLSX und DOXC mit Musterdaten bereitstellen?
    Über ein kurzes Feedback, ob dir mein Beitrag weitergeholfen hat würde ich mich freuen...

    FreeRider

  3. #3
    Registriert seit
    19.08.2007
    Beiträge
    126
    Hallo FreeRider

    Danke für deine Nachfrage. Komme leider erst jetzt wieder dazu, das Projekt weiterzuverfolgen. Leider kann ich keinen Upload machen, da die Dateien interen Daten enthalten. Aber zur Klärung (hoffentlich):

    Ich mache aus dem SAP einen Download den ich mit einem Excelmakro bearbeite so dass Word daraus Etiketten erzeugen kann.

    Ich konnte das Problem zwischenzeitlich lösen, in dem ich das Excelmakro ein Worddokument öffenen lasse. In diesem Dokument habe ich einen Link auf ein weiteres Standartdokument in dem ich vorgängig die Etiketten definiert habe. Nun greift Word über die SQL Datenbank immer auf die vom Excel erzeugten Etikettendaten zu und erzeugt die Etiketten korrekt.

    Mit diesem Vorgehen habe ich in in vier Klicks die Etiketten erzeugt. (1 Klick), Excel erzeugt aus dem Downlaod die Datenbank und öffnet das Worddokument, im Wordokument die Verknüpfung anklicken (2. Klick). Dann den SQL Befehl bestätigen (3 Klick) und am Schluss noch den Druck auslösen (4. Klick)

    Mag nicht der elegantete Weg sein, funktioniert aber soweit absolut einwandfrei und rasch. Wäre natürlich schon froh, wenn es mit weniger Klicks gehen würde. Aber gegenüber früher ist meine Vorgehensweise eine grosse zeitliche Verbesserung.

    Gruss
    Cesar

  4. #4
    Registriert seit
    04.06.2013
    Beiträge
    92
    Hallo cesar

    Wäre es möglich, mir nur die Makros in einer Textdatei oder so zukommen zu lassen?
    Bitte in der Reihenfolge, wie sie ablaufen - vielleicht kann ich dir behilflich sein und eine elegantere Lösung anbieten ...
    Über ein kurzes Feedback, ob dir mein Beitrag weitergeholfen hat würde ich mich freuen...

    FreeRider

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •