Thema Datum  Von Nutzer Rating
Antwort
Rot Word erstellen aus Excel Tabelle
27.01.2020 15:58:25 Mauro
NotSolved
27.01.2020 16:02:55 Gast34742
NotSolved

Ansicht des Beitrags:
Von:
Mauro
Datum:
27.01.2020 15:58:25
Views:
749
Rating: Antwort:
  Ja
Thema:
Word erstellen aus Excel Tabelle

Hallo Zusammen

Ich arbeite zur Zeit an einer Lösung, aus einer Excel Tabelle eine Word-Datei zu generieren, in welcher bestimmte Zellen übernommen werden.
Bis jezt habe ich den Code, damit mir aus Zeile 6, Zelle A1 bis K1 alle Werte übernommen werden.
Diese Werte werden an bestimmten "Textmarken" im Word hingeschrieben.

So weit so gut. 
Nun möchte ich aber, dass mir zu beginn ein Pop-Up Fenster, oder wie diese Lösung auch immer heisst im Excel, erscheint, bei welchem gefragt wird, aus welcher Zeile ich die Daten herauslesen möchte. Und es anhand dieser Zeile die Werte passend übernimmt und ein Word generiert.

Geht das mit Hilfe eines Zusatzes in meinem Code oder in wie fern muss ich diesen anpassen?
Meine VBA-Kenntnisse sind solala...

 

Meiner aktueller Code ist folgendermassen:

Option Explicit
 
Sub Textmarken()
    Dim objWDApp As Object, objDocx As Object, TB, Z, ArrWord, Bmark As String, SP As Integer
    Dim WPfad As String, WDatei As String, WNeuNam As String
 
    ArrWord = Array("Bescheinigung", "Artikel", "Menge", "Bauteil", "Hersteller", _
                    "Zeugnis", "Werkstoff", "Charge", "Probe", "Stempelcode1", "Stempelcode2")
     
     
    '*** anpassen
    WPfad = "C:\Vorlagen"
    WDatei = "USBTest.dotx"
    Set TB = ThisWorkbook.Sheets("MATERIALBUCH")
    '*** anpassen Ende
     
    '*** Prüfen, Pfad existiert
     WPfad = IIf(Right(WPfad, 1) = "\", WPfad, WPfad & "\") 'pfüfen und setzetn \ am Ende
     If Dir(WPfad, vbDirectory) = "" Then
         MsgBox "Verzeichnis" & vbLf & vbLf & _
                "      " & WPfad & vbLf & vbLf & _
                "existiert nicht!", vbCritical, "Allgemeine Verwaltungsfehler"
          
         Exit Sub
     End If
     
    '*** Prüfen, ob Datei im Pfad existiert
     If Dir(WPfad & WDatei) = "" Then
         MsgBox "Vorlagedatei " & vbLf & vbLf & _
                "      " & WDatei & vbLf & vbLf & _
                "im Verzeichnis " & vbLf & vbLf & _
                "      " & WPfad & vbLf & vbLf & _
                "nicht gefunden!", vbCritical, "Allgemeine Verwaltungsfehler"
         Exit Sub
     End If
     
     
     
    '*** Word-Anwendung sichtbar starten
     Set objWDApp = CreateObject("Word.Application")
     objWDApp.Visible = True
                                 
    '*** neue Datei aus Vorlage generieren
     Set objDocx = objWDApp.Documents.Add(WPfad & WDatei)
      
     With objDocx
         
        '*** prüfen, ob Textmarken existieren, dann im Worddokument einfügen/ersetzen
          
         For Each Z In ArrWord
          
            '*** Spaltenzähler
            SP = SP + 1
             
            '*** unzulässige Zeichen tauschen/entfernen
             Bmark = Replace(Z, " ", "_")
             Bmark = Replace(Bmark, "-", "")
             Bmark = Replace(Bmark, "(", "")
             Bmark = Replace(Bmark, ")", "")
             Bmark = Replace(Bmark, "/", "")
             Bmark = Replace(Bmark, "\", "")
          
            If .Bookmarks.Exists(Bmark) Then _
                .Bookmarks(Bmark).Range.Text = TB.Cells(6, SP) '*** lesen aus erster Zeile, Spalte ab A
          
         Next
          
        '*** Neuen Namen zusammensetzen
         WNeuNam = WDatei & "_" & Format(Date, "YYYYMMDD") & ".docx"
         
        '*** Worddatei mit neuem Namen speichern
         .SaveAs (WPfad & WNeuNam)
      
     End With
         
    '*** Word schließen
     'objWDApp.Quit 'bei Bedarf
End Sub



Besten Dank für Eure Hilfe


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Word erstellen aus Excel Tabelle
27.01.2020 15:58:25 Mauro
NotSolved
27.01.2020 16:02:55 Gast34742
NotSolved