Aktuelle Zeit: 16.06.2019 01:15

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Mit ComatePlus Platzhalter (Text) im Word-Footer ersetzen
BeitragVerfasst: 26.03.2019 15:36 
Offline

Registriert: 18.01.2018 17:02
Hallo Ihr Lieben,

ich komme mal wieder mit einer ComatePlus-Anfrage zu euch.

Ich würde gerne im Footer (oder Header) einen Platzhalter ersetzen, z.B. #datum. Der Rest des Footers ist in bestimmter Weise angeordnet und soll sich nicht verändern.


Bisher besteht die Lösung darin, das Worddokument als XML abzuspeichern und mit
Code:
SetXMLNodeText(*CurrentNode, newText)
anzupassen. Bei wenig formatierten Worddokumenten funktioniert das auch sehr gut. In dem neuen Dokument befinden sich jetzt aber Aufzählungszeichen, die beim verwenden von
Code:
SaveXML(xmldatei, Pfad)
verändert werden und ziemlich bescheiden aussehen.

Nun bin ich auf die Idee gekommen, den Platzhalter mit ComatePlus zu ersetzen. Dabei bin ich dann nach zahlreichen Versuchen übergegangen erstmal eine VBA-Version hinzubekommen. Da wird zwar der Platzhalter ersetzt, aber die formatierte Fußzeile sieht beim Zurückschreiben immer anders aus. Hier mal zwei Versuche:

Code:
    Dim strHeader As String
    strHeader = ActiveDocument.StoryRanges(wdPrimaryHeaderStory)
    strHeader = Replace(strHeader, "#datum", "25.03.2019")
    strHeader = Left(strHeader, Len(strHeader) - 1)
    ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range.Text = strHeader

Die Texte stehen anschließend viele weiter auseinander.

Code:
    Dim rngFoot  As Word.Range 'Quelle
    Dim rngFootZiel As Word.Range 'Ziel
   
    Set rngFoot = ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary).Range.FormattedText
    Set rngFootZiel = ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary).Range
   
    'MsgBox strHeader
    rngFoot = Replace(rngFoot, "#now", "25.03.2019")
   
    rngFootZiel.Collapse wdCollapseStart
    rngFootZiel.FormattedText = rngFoot.FormattedText

Auch hier stehen die Text weiter auseinander und die Fußzeile wird verdoppelt. :freak:

Die Hoffnung ist, den bestehenden VBA-Code in ComatePlus zu übersetzen.

Vielleicht hat ja jemand eine direkte Lösung oder zumindest zu meinen Ansätzen.

Viele Grüße
Meier


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Mit ComatePlus Platzhalter (Text) im Word-Footer ersetze
BeitragVerfasst: 30.04.2019 10:21 
Offline

Registriert: 18.01.2018 17:02
Hallo zusammen,

hat keiner eine Idee?

Also der Hauptzweck ist einen Text im Footer zu ersetzen ohne, dass sich dieser selbst verändert.

Vielleicht hat jemand eine andere Idee mit einem anderen Werkzeug als ComatePlus. Ich bin für alles offen.

Viele Grüße
Meier


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Mit ComatePlus Platzhalter (Text) im Word-Footer ersetze
BeitragVerfasst: 30.04.2019 17:11 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Wenn es mit VB-Script geht kann man es auch mit ActiveScript ausführen.
Somit muss man den Script nicht erst in COMate umsetzen.

Geht vielleicht schneller.

Link: viewtopic.php?f=8&t=31072

_________________
Alles ist möglich, fragt sich nur wie...
Projekte EventDesigner v1.x / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Mit ComatePlus Platzhalter (Text) im Word-Footer ersetze
BeitragVerfasst: 03.05.2019 09:36 
Offline

Registriert: 18.01.2018 17:02
Hallo mk-soft,

hier ist auch schon das Problem. Ich kann es nicht mal im VB-Skript umsetzen. Der Footer wird nie eins zu eins zurückgeschrieben. Es entstehen u.a. größere Abstände.

Abers sobald ich es hinbekommen habe, dass VB das richtig macht, werde ich deinen Vorschlag ausprobieren.

Vielen Dank schon mal.

Viele Grüße
Meier


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye