Thema Datum  Von Nutzer Rating
Antwort
Rot Makro lässt Wordtabellen-Zeile verschwinden
25.02.2022 10:03:16 Eric
Solved
15.04.2022 09:37:51 Gast20168
NotSolved

Ansicht des Beitrags:
Von:
Eric
Datum:
25.02.2022 10:03:16
Views:
1037
Rating: Antwort:
 Nein
Thema:
Makro lässt Wordtabellen-Zeile verschwinden

Hallo und guten Tag,

Ich habe ein Problem mit einem Makro in Word 2019.

Das Makro wurde erstellt, um per Button (ist in der ersten Zelle der zweiten Zeile)  in einem geschützten Dokument eine Zeile in der 6-spaltigen Tabelle hinzuzufügen, in deren Zellen je ein Formularfeld nur das Ausfüllen der Fomularfelder erlaubt. Also an der Darstellung sollte nichts geändert werden können. Der gewünschte Vorgang per Button wäre: Dokument Entsperren, zur ersten Zelle der zweiten Zeile in der Tabelle springen, eine Tabellen-Zeile unterhalb des Buttons (das ergibt dann die dritte Zeile) hinzufügen, mit etwas Abstand vom oberen Tabellen-Rahmen ein Formularfeld in jede Spalte dieser Zeile einfügen. Und dann zum ersten Formularfeld (mit Datumsformat ) in der Zeile (ganz links) springen. Dann das Dokument wieder schützen. 

Das klappt bis und mit Dokument entsperren. Aber ab da wird es komisch, denn beim hinzufügen einer neuen leeren Zeile mit Formularfeldern unterhalb der Button-Makroschaltfläche aber überschreibt das Makro jedoch die bereits ausgefüllten Zeilen der Tabelle und macht die gewünschte Zeile dazu. Das sollte nicht sein, denn das Dokument sollte als Tagesjournal dienen, und alles geschriebene sollte natürlich nachgelesen werden können. 

Desweiteren wäre es gut wenn die Zeilenhöhe zuerst eine vordefinierte Höhe hätte, und dann je nach Textlänge sich die Zeilenhöhe vergrössert.

Da ich Laie bin auf dem Gebiet, habe ich mir das Makro aus anderen Foren zusammen geschrieben, und mich so in die Sache reingeritten.

Ich wäre froh um Hilfe. Gruss aus der Schweiz, Eric

Office Word 2019, Windows 10 Pro 64b

VBA MakroCode:

Sub Makro44()
ActiveDocument.Unprotect Password:=""

ActiveDocument.Tables(1).Cell(2, 1).Select
  'Fügt Zeilen unter der aktuellen Auswahl ein.
  Selection.InsertRowsBelow 1
  'Zeilenhöhe festlegen
  Selection.Rows.SetHeight RowHeight:=InchesToPoints(1.1), _
 HeightRule:=wdRowHeightExactly
 'Formularfeld Datum einfügen
Selection.FormFields.Add Range:=Selection.Range, Type:= _
        wdFieldFormTextInput
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
    With Selection.FormFields(1)
        .Name = "Datum"
        .EntryMacro = ""
        .ExitMacro = ""
        .Enabled = True
        .OwnHelp = False
        .HelpText = ""
        .OwnStatus = False
        .StatusText = ""
        With .TextInput
            .EditType Type:=wdDateText, Default:="", Format:="dd.MM.yyyy"
            .Width = 10
        End With
    End With
'Andere Textformularfelder einfügen
 ActiveDocument.Tables(1).Cell(3, 1).Select
 Selection.MoveRight Unit:=wdCell
    Selection.Font.Size = 3
    Selection.TypeParagraph
    Selection.Font.Size = 12
    Selection.FormFields.Add Range:=Selection.Range, Type:= _
        wdFieldFormTextInput
        Selection.MoveRight Unit:=wdCell
    Selection.Font.Size = 3
    Selection.TypeParagraph
    Selection.Font.Size = 12
    Selection.FormFields.Add Range:=Selection.Range, Type:= _
        wdFieldFormTextInput
        Selection.MoveRight Unit:=wdCell
    Selection.Font.Size = 3
    Selection.TypeParagraph
    Selection.Font.Size = 12
    Selection.FormFields.Add Range:=Selection.Range, Type:= _
        wdFieldFormTextInput
        Selection.MoveRight Unit:=wdCell
    Selection.Font.Size = 3
    Selection.TypeParagraph
    Selection.Font.Size = 12
    Selection.FormFields.Add Range:=Selection.Range, Type:= _
        wdFieldFormTextInput
        Selection.MoveRight Unit:=wdCell
    Selection.Font.Size = 3
    Selection.TypeParagraph
    Selection.Font.Size = 12
    Selection.FormFields.Add Range:=Selection.Range, Type:= _
        wdFieldFormTextInput
 'Am Schluss zum Datumsfeld springen
ActiveDocument.Tables(1).Cell(3, 1).Select
 'Schluss Formularschutz ein
ActiveDocument.Protect Password:="", NoReset:=False, Type:= _
        wdAllowOnlyFormFields 'nur Formulareingabe ist erlaubt
End Sub

 


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 Makro lässt Wordtabellen-Zeile verschwinden
25.02.2022 10:03:16 Eric
Solved
15.04.2022 09:37:51 Gast20168
NotSolved