Word - Namen aus Liste zu einzelnen Überschriften machen.

Dieses Thema Word - Namen aus Liste zu einzelnen Überschriften machen. im Forum "Microsoft Office Suite" wurde erstellt von Sir_Gallant, 27. Sep. 2005.

Thema: Word - Namen aus Liste zu einzelnen Überschriften machen. Hallo zusammen, ich habe folgendes Problem: Aus einer Liste von Namen soll ich einzelne DIN A4 Blätter machen, von...

  1. Hallo zusammen,

    ich habe folgendes Problem:
    Aus einer Liste von Namen soll ich einzelne DIN A4 Blätter machen, von denen jedes Blatt je einen Namen als Überschrift hat, der Rest des Blattes soll leer bleiben. Nun halte ich es für reichlich umständlich, jede Seite extra zu bearbeiten. Gibt es für Word eine Möglichkeit, dass dieser Prozess automatisch abläuft, sprich: Eine Option, die aus den Listennamen einzelne Seitenüberschriften macht?
     
  2. Hallo Sir_Gallant,

    das kann man automatisieren  ;)

    In was für einer Form liegt die Namenliste denn vor.

    Am günstigsten wäre es, wenn du ein Template einer Worddatei erstellen würdest. die eine Textmarke enthält, an der Stelle, wo der Name eingefügt werden soll. Dann ist die Formatierung schon mal vorgegeben.

    Ein Makro könnte dann über die Namensliste rattern  ;D , eine Datei auf Grundlage des Templates anlegen, die Textmarke durch den Namen ersetzen und die Datei in einem vorher definierten Pfad speichern.

    Gruß Matjes :)
     
  3. Danke erstmal,

    Die Namenliste liegt in noch keinem Format vor, da ich sie sowieso erst noch eintippen muss. Jetzt besteht nur noch das Problem mit dem Makro. Hat vielleicht zufälligerweise jemand ein fertiges Makro, das Namen aus einer Excel/Word Datei lesen kann?
     
  4. Hallo Sir_Gallant,

    bau doch mal die Excel-Namensliste auf. (5 Dummy-Namen reichen)

    Dann erstellst du das template-file VorlageNamen.doc mit der Text-Marke.

    Wenn Du mir beides an meinen mail-Addy schickst, bau ich dir den Makro zusammen.

    Gruß Matjes :)
     
  5. als ergebnis ist rausgekommen:
    Code:
    Option Explicit
    
    Sub Namensliste_DocsPerTemplateErzeugen()
    
     ->Definition
     ->!!!!!!! A N P A S S E N !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      Const c_EXCEL_NAMENSLISTE = c:\Test_Namensliste\Namenliste.xls
      Const c_ERSTEWERTEZEILE = 1
      Const c_SP_Name = 1->Spalte A
      
      Const c_DOC_TEMPLATE = c:\Test_Namensliste\VorlageNamen.doc
      Const c_TEXTMARKE = NameErsetzen
      
      Const c_DOC_OUTPUT = c:\Test_Namensliste\Output
     ->im VB-Editor unter Extras->Verweise-> Microsoft Word x.0 Object Library einbinden
     ->(das x hängt von deiner Word-Version ab)
     ->!!!!!!! A N P A S S E N !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      
      Dim wb As Workbook, ws As Worksheet
      Dim wrdApp As Word.Application, wrdDoc As Word.Document
      Dim l_zeile As Long, s_Name As String
      
     ->Dateien und Pfade auf Existenz prüfen
      If Dir(c_EXCEL_NAMENSLISTE, vbNormal) =  Then
        MsgBox (Excel-Namensliste ist nicht vorhanden. & vbLf & c_EXCEL_NAMENSLISTE)
        Exit Sub
      End If
      If Dir(c_DOC_TEMPLATE, vbNormal) =  Then
        MsgBox (Doc-Template ist nicht vorhanden. & vbLf & c_DOC_TEMPLATE)
        Exit Sub
      End If
      If Dir(c_DOC_OUTPUT, vbDirectory) =  Then
        MsgBox (Output-Dirrectoy ist nicht vorhanden. & vbLf & c_DOC_OUTPUT)
        Exit Sub
      End If
      
     ->Excel-Namensliste öffnen
      Set wb = Workbooks.Open(FileName:=c_EXCEL_NAMENSLISTE)
     ->erstes Blatt ist Namensliste
      Set ws = wb.Worksheets(1)
      
     ->Word-Instanz öffnen
      Set wrdApp = CreateObject(Word.Application)
      
     ->Namen abarbeiten
      l_zeile = c_ERSTEWERTEZEILE
      Do
        s_Name = ws.Cells(l_zeile, c_SP_Name).Value
        
        If s_Name =  Then Exit Do->leerer Name -> Listeende
        
       ->Vorlagen-Datei öffnen
        Set wrdDoc = wrdApp.Documents.Open(FileName:=c_DOC_TEMPLATE)
        
       ->Textmarke durch Namen ersetzen
        On Error Resume Next
        wrdDoc.Bookmarks(c_TEXTMARKE).Range.Text = s_Name
        If Err.Number <> 0 Then
          Err.Clear
          wrdDoc.Close Savechanges:=False
          MsgBox (Textmarke konnte nicht ersetzt werden.)
          GoTo AUFRAEUMEN
        End If
            
       ->Datei im Output unter Namen als .doc speichern
        wrdDoc.SaveAs _
          FileName:=c_DOC_OUTPUT & \ & s_Name & .doc, _
          FileFormat:=wdFormatDocument
        wrdDoc.Close Savechanges:=False
           
       ->nächste Zeile in Excel-Namensliste
        l_zeile = l_zeile + 1
      Loop
      
    AUFRAEUMEN:
     ->Word schliessen
      wrdApp.Quit
     ->Objekt-Variable löschen
      Set wrdDoc = Nothing:  Set wrdApp = Nothing
      
     ->Excel-Namenliste schliessen
      wb.Close Savechanges:=False
      Set wb = Nothing: Set ws = Nothing
      
    End Sub
    Gruß Matjes  :)
     
  6. Danke, hat einwandfrei funktioniert :D
     
  7. Sehr elegant, aber ist das nicht mit Makros auf Spatzen schießen?

    Die Word-Serienbrief-Funktion tut das gleiche.
     
Die Seite wird geladen...

Word - Namen aus Liste zu einzelnen Überschriften machen. - Ähnliche Themen

Forum Datum
Zellennamen in WORD-Tabelle ermittln Windows XP Forum 2. Aug. 2006
Feldnamen als Dateinamen in Word Microsoft Office Suite 28. Juli 2005
word splittet dateinamen Microsoft Office Suite 22. Jan. 2004
Welches ist das letzte kaufbare Office und Fehler beim Scrollen in Word: Text verdoppelt sich Microsoft Office Suite 14. Juli 2016
Word und Powerpoint hakeln. Filme abspielen führt zu Aufhängen Windows 10 Forum 17. Dez. 2015