Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1672to1676
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Daten aus Excel an aktives Word-Dokument

Daten aus Excel an aktives Word-Dokument
13.02.2019 14:49:35
earlycon
Hallo zusammen,
ich verwalte in einer Exceldatei Lieferantenanschriften (Spalte B) und Emailadressen (Spalte C). Nun möchte ich gerne die Adresse und die Emailadresse an bestimmte Textmarken in Word übergeben. Dabei hat das Worddokument keinen fixen Namen, da es individuell erstellt wird. Der Dateiname beginnt mit einer Auftragsnummer gefolgt vom Inhalt (z.B. "287-19 - Auftrag xyz.docm") Die Daten müssten also entweder an das aktive Dokument übergeben werden oder an das Dokument, was der Bezeichnung "287-19*.docm" entspricht übergeben werden. Ich habe schon viel gesucht, bin für diesen Fall aber nicht fündig geworden.
Könnte mir da jemand hilfreich unter die Arme greifen... ?
Vielen Dank vorab und Gruß
Stefan

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten aus Excel an aktives Word-Dokument
13.02.2019 15:33:52
Nepumuk
Hallo Stefan,
ist das Dokument immer im selben Ordner?
Gruß
Nepumuk
AW: Daten aus Excel an aktives Word-Dokument
14.02.2019 06:47:23
earlycon
Guten Morgen Nepumuk,
sorry, habe gestern früher Feierabend gemacht... Danke für Deine Rückmeldung.
Die ursprüngliche Word-Datei (Vorlage) liegt im Ordner /..../Vordrucke/
Excel speichert diese dann unter dem neuen Namen im Ordner /..../Aufträge/ ab.
Die Exceldatei liegt wieder in einem anderen Ordner.
Aber alle 3 Dateien verbleiben in Ihrem Ordner, wenn es das ist was Du meinst.
Würde mich freuen, wenn Du eine Idee hast.
Gruß Stefan
AW: Daten aus Excel an aktives Word-Dokument
14.02.2019 08:18:49
Nepumuk
Hallo Stefan,
teste mal:
Option Explicit

Public Sub Beispiel()
    
    Const FOLDER_SOURCE As String = "H:\1302\" 'Ursprungsordner - Anpassen !!!
    Const FOLDER_TARGET As String = "H:\1402\" 'Zielordner - Anpassen !!!
    
    Dim objDocument As Object
    Dim objRange As Object
    Dim strFileName As String
    
    strFileName = Dir$(FOLDER_SOURCE & "287-19 - Auftrag *.docm")
    
    If strFileName <> vbNullString Then
        
        Set objDocument = GetObject(PathName:=FOLDER_SOURCE & strFileName)
        
        With objDocument
            
            Set objRange = .Bookmarks("Name").Range
            objRange.Text = Cells(2, 1).Value
            Call .Bookmarks.Add(Name:="Name", Range:=objRange)
            
            Set objRange = .Bookmarks("Wert").Range
            objRange.Text = Cells(2, 2).Text
            Call .Bookmarks.Add(Name:="Wert", Range:=objRange)
            
            Call .SaveAs2(FOLDER_TARGET & .Name, 13)
            
            If Not .Parent.Visible Then Call .Close
            
        End With
        
        Set objRange = Nothing
        Set objDocument = Nothing
        
    Else
        Call MsgBox("Dokument nicht gefunden.", vbExclamation, "Hinweis")
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: Daten aus Excel an aktives Word-Dokument
14.02.2019 08:56:08
earlycon
Hi Nepumuk,
vielen, vielen Dank ! Obwohl es mir in den Fingern juckt, es zu testen, habe ich zu viel zu tun, mache ich später.
Nur eine kurze Frage noch: aus der geöffneten Word-Datei öffne ich durch klick auf einen Button die Excel-Adressliste. Und da die Worddatei ja immer anders heißt, weiß Excel ja nicht an welche Datei es die Daten zurückgeben soll. Kann man Excel irgendwie sagen, gibt die Daten an das geöffnete Worddokument zurück, oder an die Worddatei die geöffnet ist und z.B. "-19 - Auftrag" im Dateinamen hat (falls noch ne andere Worddatei offen ist) ?
Nochmals Danke.
Gruß Stefan
Anzeige
AW: Daten aus Excel an aktives Word-Dokument
14.02.2019 09:22:29
Nepumuk
Hallo Stefan,
das Makro sucht nach 287-19 - Auftrag *.docm der Stern steht für kein oder mehrere beliebige Zeichen. Wenn die erste Nummer (287) auch beliebig ist aber immer 3 Zeichen hat, dann kannst du das so machen:
strFileName = Dir$(FOLDER_SOURCE & "?-19 - Auftrag *.docm")
Hat die erste Zahl nicht immer 3 Stellen, dann so:
strFileName = Dir$(FOLDER_SOURCE & "*-19 - Auftrag *.docm")
Ist die Datei schon offen, dann wird die geöffnete Datei verarbeitet, ansonsten wird sie geöffnet, verarbeitet und wieder geschlossen.
Gruß
Nepumuk
AW: Daten aus Excel an aktives Word-Dokument
14.02.2019 11:55:19
earlycon
Hallo Nepumuk,
danke für die Erklärung.
Folgendes Problem: wenn ich z.B. die Datei "103-19 - Auftrag ...docm" geöffnet habe und in der Exceldatei dann mit
MsgBox strFilename
auslese, gibt er mir "007-19 - Auftrag ...docm" aus (also nicht die bereits geöffnete Datei). Ich habe mal nachgesehen, 007-19 ist das erste Word-Dokument, das in diesem Ordner erstellt wurde.
Kann man Excel nicht einfach sagen, wechsle zur geöffneten Datei "?-19 - Auftrag *.docm" und trage dort bei den Textmarken die Werte ein... ?
Hoffe Du hast noch ein wenig Geduld mit mir... :-)
Gruß
Stefan
Anzeige
AW: Daten aus Excel an aktives Word-Dokument
14.02.2019 12:39:14
Nepumuk
Hallo Stefan,
so einfach ist das nicht. Ich muss mal schauen, ich habe zwar eine Routine die auf alle geöffneten WORD-Instanzen zugreift, aber das muss ich erst anpassen. Das kann etwas dauern.
Gruß
Nepumuk
AW: Daten aus Excel an aktives Word-Dokument
14.02.2019 12:58:40
earlycon
Das ist total nett von Dir, dass Du Dir so viel Mühe machst.
Vielen Dank
Gruß Stefan
AW: Daten aus Excel an aktives Word-Dokument
14.02.2019 13:59:03
earlycon
Hallo Nepumuk,
ich habe durch viel Lesen (habe mir jetzt doch die Zeit genommen :-)) in anderen Foren nachfolgenden Code zusammengebastelt und es funktioniert eigentlich ganz gut. Die erste Zeile der Anschrift hätte ich gerne noch fett, aber da komme ich nun nicht weiter...
Vielleicht hast Du ja noch eine andere Lösung.
Auf jeden Fall noch mal herzlichen Dank für Deine Bemühungen. Ich finde es toll, dass es solche Leute wie Dich gibt, die vorbehaltlos anderen hier helfen.
Viele Grüße
Stefan
Public Sub Datenübernahme()
Dim appWord As Word.Application
Dim fFormfeld As FormField
Dim Datenfeld As String
' Zurück zu Word wechseln
On Error Resume Next
Set appWord = GetObject(, "Word.Application")
If Error = 0 Then Set appWord = CreateObject("Word.Application")
On Error GoTo 0
appWord.Visible = True
appWord.Activate
' Daten in Formfelder eintragen
' Zuerst die Adresse
If ActiveDocument.Bookmarks.Exists("Anschrift_Lieferant") = True Then
Set fFormfeld = ActiveDocument.FormFields("Anschrift_Lieferant")
Set objRange = ActiveDocument.Bookmarks("Anschrift_Lieferant").Range
'Zeilenumbruch entfernen und neu setzen
Datenfeld = Replace(Cells(ActiveCell.Row, 2), Chr$(10), vbCrLf)
'Leerzeichen am Anfang entfernen
fFormfeld.Result = Replace(Datenfeld, vbLf, "")
fFormfeld.Range.Font.Bold = False
End If
' Nun die Emailadresse
If ActiveDocument.Bookmarks.Exists("Emailadresse") = True Then
Set fFormfeld = ActiveDocument.FormFields("Emailadresse")
Set objRange = ActiveDocument.Bookmarks("Emailadresse").Range
fFormfeld.Result = "Per Email: " & Cells(ActiveCell.Row, 3)
fFormfeld.Range.Font.Bold = False
End If
Set appWord = Nothing
Set fFormfeld = Nothing
Set objRange = Nothing
End Sub

Anzeige
AW: Daten aus Excel an aktives Word-Dokument
14.02.2019 14:51:13
Nepumuk
Hallo Stefan,
da musst du in einem Word-Forum nachfragen. Damit kenne ich mich nicht aus.
Gruß
Nepumuk

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige