Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Verknüpfung Word-Dokument

Begonnen von Marco71, Dezember 27, 2016, 20:54:21

⏪ vorheriges - nächstes ⏩

Marco71

Hallo, ich habe in meiner Datenbank ein Worddokument mit Textmarken verknüpft: .Documents.Open ("C:\Dateien_Klientenverwaltung\Einwilligung Datenschutz.dotx") 'das zu öffnende Worddokument
Diese Lösung ist leider statisch. Der Pfad muss direkt im Code hinterlegt werden.
Ich möchte, dass der jeweilige Benutzer das Dokument auswählen kann, wenn er auf den Button klickt, und die letzte Auswahl beim nächsten Aufruf als Standard hinterlegt ist. Kann mir jemand helfen?
Hier der komplette Code, den ich momentan benutze:
Private Sub Befehl346_Click()
Dim objWord As Word.Application
Set objWord = CreateObject("Word.Application")
With objWord
.Visible = True
.Documents.Open ("C:\Dateien_Klientenverwaltung\Einwilligung Datenschutz.dotx") 'das zu öffnende Worddokument
.ActiveDocument.Bookmarks("Name").Select 'gehe zur Textmarke "Anrede"
.Selection.Text = Me.Klienten_Name & ", " & Me.Klienten_Vorname 'schreibe in das Feld, was im Formular im Feld Anrede steht
.ActiveDocument.Bookmarks("Geburtsdatum").Select
.Selection.Text = Me.Klienten_Geburt
.ActiveDocument.Bookmarks("Adresse").Select
.Selection.Text = Me.Klienten_PLZ & " " & Me.Klienten_Ort & ", " & Me.Klienten_Adresse
End With
Set objWord = Nothing
End Sub
Eine Lösung wäre echt grandios!

DF6GL

Hallo,

Zitat"..dass der jeweilige Benutzer das Dokument auswählen kann.."


dabei hilft Dir ein Datei-Auswahldialog, (z.b. Application.Filedialog aus der MSO-Bibliothek).

Der ausgewählte Dateinamen kann für spätere Verwendung in

-- einer Tabelle
-- in einer benutzerdefinierten Eigenschaft
-- in einer ini-Datei
-- in der Windows-Registry

hinterlegt werden.



FredFred

#3
Offensichtlich wird hier ein Template verwendet .dotx
Insofern sollte man das Dokument mit .ADD öffnen und nicht mit .OPEN, um das Template zu erhalten.
Anbei ein etwas aufgeräumteren Codevorschlag zu dem bislang gezeigten:

Dim objWord As Word.Application
    Dim docWord As Word.Document


    Set objWord = CreateObject("Word.Application")
    With objWord
        .Visible = True

        Set docWord = .Documents.Add("C:\irgendwas\dok1.dotx")     'das zu öffnende Worddokument
        With docWord
            .Bookmarks("Name").Range.Text = Me.Klienten_Name & ", " & Me.Klienten_Vorname    'schreibe in das Feld, was im Formular im Feld Anrede steht
            .Bookmarks("Geburtsdatum").Range.Text = Me.Klienten_Geburt
            .Bookmarks("Adresse").Range.Text = Me.Klienten_PLZ & " " & Me.Klienten_Ort & ", " & Me.Klienten_Adresse
        End With
    End With
         Set objWord = Nothing