Vertec AI Chatbot

Der Chatbot hilft Ihnen bei Fragen rund um das Produkt und die Anpassbarkeit der Software. Wie bei allen AI-generierten Daten sollten die Antworten bei kritischen Informationen verifiziert werden. Nehmen Sie dafür gerne Kontakt mit uns auf. Weitere Informationen zur Verarbeitung der Chat-Daten bieten wir auf der Datenschutzseite.

Die besten Antworten liefert der Chatbot, wenn Ihr Input möglichst viele Informationen enthält. Zum Beispiel:

«Welche Apps stehen im Vertec Cloud Abo zur Verfügung?»

Variablen in Header und Footer von Legacy Word-Berichten

Variablen in Header und Footer von Legacy Word-Vorlagen via Makrocode füllen

Produktlinie

Standard

|

Expert

Betriebsart

CLOUD ABO

|

ON-PREMISES

Module

Leistung & CRM

Budget & Teilprojekt

Fremdkosten

Ressourcenplanung

Business Intelligence

Erstellt: 19.10.2006
Aktualisiert: 05.06.2024 | Links korrigiert.

In Kopfzeilen und Fusszeilen von Word kann kein OCL ausgewertet werden, weil keine Kommentare eingefügt werden können. Falls man doch Werte aus Vertec einsetzten möchte, gibt es folgende Möglichkeiten:

Datenfelder in Kopf- und Fusszeilen einfügen

Diese Variante wird ab Vertec 6.1 unterstützt. Die Beschreibung finden Sie im Artikel Legacy Word-Berichte.

Variable in Header oder Footer einfügen

In Versionen vor Vertec 6.1 gibt es den folgenden Umweg über den Makrocode (siehe Abschnitt Event Makros im Artikel Legacy Word-Berichte):

Als Variable wird ein Text eingefügt, der später über den Code eindeutig wiederzufinden ist. Im Beispiel unten lautet der Text xProjektcode:

Makrocode

Das Beispiel möchte auf einer Rechnung den Projektcode in der Kopf- bzw. Fusszeile anzeigen. Damit das funktioniert, muss auf dieser Rechnungsvorlage ein Makro erstellt werden mit dem Namen BeforeReport2 oder AfterReport3. Makros mit solchem Namen werden automatisch ausgelöst, wenn ein Report aus Vertec heraus aufgerufen wird (siehe Abschnitt Event Makros im Artikel Legacy Word-Berichte).

Der Code, um den Text in der Kopf- und Fusszeile zu ersetzen, lautet für dieses Beispiel wie folgt:

Sub AfterReport3(vertec As Object, dok As Object, root As Object, optarg As Object, akt As Object)
Dim i as integer
For i = 1 To dok.Sections.Count
  'Setzte den Wert im Header
   dok.Sections(i).Headers(wdHeaderFooterPrimary).Range.Find.Execute FindText:="xProjektcode", ReplaceWith:=root.Eval("projekt.code"), Replace:=wdReplaceAll
'Setzte den Wert im Footer
  dok.Sections(i).Footers(wdHeaderFooterPrimary).Range.Find.Execute FindText:="xProjektcode", ReplaceWith:=root.Eval("projekt.code"), Replace:=wdReplaceAll
Next
End Sub

Der zu ersetzende Text (xProjektcode) muss direkt in die Kopfzeile geschrieben werden. Wenn er sich in einem Textfeld oder einer Tabelle befindet, wird er von der beschriebenen Methode nicht gefunden.

Variable per Formatvorlage referenzieren

Eine andere Variante ist, einen bestimmten Textteil innerhalb des Reports im Header bzw. Footer zu referenzieren. Dies kann wie folgt geschehen:

Ausgangslage: es ist ein Masterband vorhanden, und darin befindet sich ein Text Projektcode. Dieser Text ist mit dem Kommentar code versehen.

Markieren Sie nun den Text Projektcode und gehen dann in die Formatvorlagen. Wählen Sie Neue Formatvorlage. Im daraufhin erscheinenden Dialogfenster geben Sie als Namen Projektcode ein und wählen beim Formatvorlagetyp Zeichen aus und klicken auf OK.

Wechseln Sie dann in den Header (bzw. in den Footer) an die Stelle, wo Sie den Projektcode anzeigen möchten. Schreiben Sie Projektcode und markieren Sie diesen Text. Klicken Sie auf Einfügen > Schnellbausteine > Feld. Bei den Kategorien wählen Sie Verknüpfungen und Verweise aus und beim Feldnamen StyleRef. Wählen Sie Projektcode und klicken Sie auf OK.

Zu sehen ist auf den ersten Blick nichts, aber wenn Sie das Dokument dann ausführen, wird an dieser Stelle der entsprechende Projektcode angedruckt.

Hinweis

Diese Variante über StyleRef Felder funktioniert nicht mit Vertec-generierten Legacy Word-Berichten mit Ausgabeformat PDF.

Um zu wissen, ob es sich bei einem Feld um ein StyleRef Feld handelt, kann mit dem Tastaturkürzel Shift-F9 der Feld-Code angezeigt werden:

Zeilenumbrüche in Legacy Word-Berichten per VBA einfügen

In Legacy Word-Berichten kann ein Zeilenumbruch via ASCII-Code chr(13) + chr(10) eingefügt werden:

txt1 = "Erste Zeile" & Chr(13) & Chr(10) & "zweite Zeile"
ActiveDocument.Range.Find.Execute FindText:="Text1", ReplaceWith:= txt1, Replace:=wdReplaceAll

Befindet sich die zu ersetzende Variable in einer Tabelle, funktioniert das nicht. In diesem Fall muss der Zeilenumbruch über ^p eingefügt eingefügt werden:

txt2 = "Erste Zeile" & "^p" & "zweite Zeile"
ActiveDocument.Range.Find.Execute FindText:="Text2", ReplaceWith:=txt2, Replace:=wdReplaceAll
Bitte wählen Sie Ihren Standort