WORD Makro, Datei speichern: Pfad aus Zwischenspeicher einfügen

  • Word

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    WORD Makro, Datei speichern: Pfad aus Zwischenspeicher einfügen

    hallo -- habe mir folgendes (funktionierende) Makro aufgezeichnet:

    Sub pdf2()
    ActiveDocument.ExportAsFixedFormat OutputFileName:="D:\tom_.pdf", _
    ExportFormat:=wdExportFormatPDF, OpenAfterExport:=True, OptimizeFor:= _
    ... ...
    ChangeFileOpenDirectory "D:\"
    End Sub


    So weit so gut -- was mir aber fehlt, ist der Bearbeitungsschritt, bei dem der Pfad (OutputFilename) aus dem Zwischenspeicher in der "Speichern-unter"-Dialogbox eingesetzt wird, also nicht als feste Zeichenkette. Oder gibt es noch eine Option ohne Zwischenspeicher? Der Dateipfad wird aus einem Drittprogramm übergeben.

    Danke für Tipps! j

    andere Option für Pfadübergabe

    Gern was Besseres! Ich könnte zB den Pfad in dem ersten (vorhandenen) Makro, in dem das neue Word-Doc erstellt wird, aus der Fremdapplikation per Textmarke an eine beliebige Stelle im Dokument schreiben, von dort in eine Variable schreiben (wüsste nicht, wie das direkt ginge) und den Text wieder löschen. Diese Variable muss natürlich dann fürs Speichern-Makro zur Verfügung stehen, das ja erst nach Editieren des Docs zum Einsatz kommt.

    Wie das in VB gehen soll -- da bin ich hoffnungslos überfragt und hoffe auf weitere wohlgemeinte Tipps. Hab den von dir genannten Code jetzt noch nicht ausprobiert, da sicherlich zweite Wahl.
    Jede Methode ist besser (störungsärmer) als über den Pastebuffer.
    Wenn die beiden Dokumente nicht gleichzeitig offen sind, könntest du den Pfad in einer Zwischendatei auf TEMP speichern.

    Der Workflow erschliesst sich für mich noch nicht so richtig.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    petaod schrieb:


    petaod schrieb:


    petaod schrieb:



    petaod schrieb:


    (hab anscheinend die "Zitieren" Option hier im Forum nicht ganz gerafft :wacko: Also, zum workflow: aus einer Datenbank kommen ne Menge Daten über die API nach WORD, wo in der dot.Vorlage

    1. Textmarken ersetzt
    2. Tabellen gezielt gefüllt werden

    Dann habe ich also das Word-doc vor mir und editiere noch ein bisschen, nun soll das ganze als pdf abgelegt werden, an diversen ORten. Die Speicherorte sind in der DAtenbank bereits vorgegeben, und man müsste nicht mehr lange suchen und klicken, wenn die Info bereits in Word vorhanden wäre und automatisch eingesetzt wird. (Direkter Zugriff auf die DB per ODBC ist übrigens auch unpraktisch) Also dafür eine weitere Textmarke vorzusehen, um den Pfad erstmal irgendwo landen zu lassen in Word zwecks Weiterverwendung, wäre das nicht naheliegend? s. meine Idee mit der Variablen aus letztem Post. Danke --
    Klar kannst du auch eine Textmarke füllen.
    Wenn du mit dieser Methode sowieso die anderen Daten einfügst, bietet sich das an.

    Du kannst sie ja mit Font-Size 1 und weiss auf weiss hinterlegen.
    Oder im Footer, dann wird sie gleich mit ausgedruckt. :)

    Oder in einer unsichtbaren Textbox.
    Möglichkeiten gibt es viele.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    ok, was ich aber nicht hinkriege ist der Code um die Zeichenkette

    - im Dokument zu finden (anhand einer eindeutigen Kennzeichnung bzw. zwei Kennzeichnungen für Anfang/Ende)
    - Variable entspr. setzen
    - Zeichenkette / Kennzeichnung löschen
    - "Speichern unter"-Dialog öffnen und variable einsetzen

    Geht das auch noch?
    merci, j