Textmaker: Grafik im Text positionieren
-
- Beiträge: 135
- Registriert: 28.01.2018 00:12:46
Textmaker: Grafik im Text positionieren
Ich versuche eine Grafik in Textmaker auf eine bestimmte Position zu rücken.
Normalerweise drucke ich auf Briefpapier, auf dem schon ein Logo im Kopfbereich vorgedruckt ist. Wenn ich jetzt aber ein pdf erzeugen will, muß ich das Logo als Grafik einfügen. Mit Word war das relativ einfach mit dem Macrorekorder und etwas Nacharbeit erledigt. Hier scheint es sich schwieriger zu gestalten.
Es gelang mir bisher mit
Const logofile As String = "d:\daten\vorlagen\vorllogo\logo300.tif"
tm.Application.ActiveDocument.Selection.InsertPicture logofile
aus der Hilfe die Grafik "irgendwo" hinzuwerfen. Nun weiß ich aber nicht, wie ich die Position ändern kann. Außerdem liegt die Grafik nicht in einem Objektrahmen vor, sondern irgendwie... Ich kann jedenfalls einige Eigenschaft so nicht steuern.
Weiß jemand Hilfe? Danke!
Normalerweise drucke ich auf Briefpapier, auf dem schon ein Logo im Kopfbereich vorgedruckt ist. Wenn ich jetzt aber ein pdf erzeugen will, muß ich das Logo als Grafik einfügen. Mit Word war das relativ einfach mit dem Macrorekorder und etwas Nacharbeit erledigt. Hier scheint es sich schwieriger zu gestalten.
Es gelang mir bisher mit
Const logofile As String = "d:\daten\vorlagen\vorllogo\logo300.tif"
tm.Application.ActiveDocument.Selection.InsertPicture logofile
aus der Hilfe die Grafik "irgendwo" hinzuwerfen. Nun weiß ich aber nicht, wie ich die Position ändern kann. Außerdem liegt die Grafik nicht in einem Objektrahmen vor, sondern irgendwie... Ich kann jedenfalls einige Eigenschaft so nicht steuern.
Weiß jemand Hilfe? Danke!
-
- SoftMaker Volunteers
- Beiträge: 3021
- Registriert: 05.12.2003 22:47:22
- Wohnort: Lübeck-Travemünde
Re: Textmaker: Grafik im Text positionieren
Einfacher wäre es vermutlich, das Logo dauerhaft in die Dokumentvorlage zu setzen und in den Objekteigenschaften den Haken bei „Drucken“ wegzumachen. Für den PDF-Export müsste man dann nur in Datei > Eigenschaften... temporär den Haken bei „Nicht zu druckende Objekte drucken“ setzen. (Leider bietet SMO keine Möglichkeit, bei den Einstellungen für nicht zu druckende Objekte zwischen PDF-Export und Druck zu unterscheiden, weil der PDF-Export auch als eine Art Druck behandelt wird.) Das ist zwar Handarbeit, aber einen Haken ein- und wiederauszuschalten, erscheint mir weniger kompliziert als jedesmal eine komplette Grafik ins Dokument zu setzen. (Für die Antwort auf die Frage, ob man diese Einstellung per BasicMaker automatisieren könnte, reichen meine BasicMaker-Kenntnisse leider nicht.)
-
- Beiträge: 135
- Registriert: 28.01.2018 00:12:46
Re: Textmaker: Grafik im Text positionieren
Danke für den Hinweis! Das kannte ich noch nicht und guck ich mir mal an.
Eigentlich schade, ich programmiere ja gerne.
Eigentlich schade, ich programmiere ja gerne.
Re: Textmaker: Grafik im Text positionieren
Zum Verständnis:
Es liegt ein zu druckender Inhalt vor, der auf vorhandenem Papier mit Briefkopf auf einem normalen Drucker gedruckt wird.
Für den PDF-Export wird nun aber ein digitaler Briefkopf benötigt.
Soweit richtig?
Für ein BasicMaker-Script würde ich alles kopieren lassen und wie Jossi vorschlug, eine Dokumentenvorlage mit Briefkopf aufrufen und dort alles hineinkopieren lassen. Dann den PDF-Export ausführen (Manuell). Dann klappt es auch gut, wenn mehr als eine Seite benötigt wird und dort der Briefkopf anders gestaltet wurde (kleineres Logo, kein Adressfeld o.ä.).
Edit:
Es liegt ein zu druckender Inhalt vor, der auf vorhandenem Papier mit Briefkopf auf einem normalen Drucker gedruckt wird.
Für den PDF-Export wird nun aber ein digitaler Briefkopf benötigt.
Soweit richtig?
Für ein BasicMaker-Script würde ich alles kopieren lassen und wie Jossi vorschlug, eine Dokumentenvorlage mit Briefkopf aufrufen und dort alles hineinkopieren lassen. Dann den PDF-Export ausführen (Manuell). Dann klappt es auch gut, wenn mehr als eine Seite benötigt wird und dort der Briefkopf anders gestaltet wurde (kleineres Logo, kein Adressfeld o.ä.).
Edit:
Code: Alles auswählen
Dim tm as Object
Dim x as Object
Dim i as Integer
Dim Answer as integer
' Mit TextMaker verbinden; TextMaker starten, wenn er noch nicht läuft
Set tm = CreateObject("TextMaker.Application")
' Alles markieren
tm.ActiveDocument.Select
' Markiertes in die Zwischenablage kopieren
tm.ActiveDocument.Selection.Copy
' TM-Vorlage öffnen, hier entsprechenden Pfad angeben
tm.Documents.add "C:\xxx\xxxxxxx.tmv"
' Inhalt aus der Zwischenablage einfügen
tm.ActiveDocument.Selection.Paste
(1) SMO 2018 Beta - OpenSuse 42.2 64 bit KDE Plasma 5.8.6
(2) SMO 2018 - WINE 32 bit in OpenSuse 42.2 64 bit
(3) SMO 2016 - Windows 7 32 bit
(2) SMO 2018 - WINE 32 bit in OpenSuse 42.2 64 bit
(3) SMO 2016 - Windows 7 32 bit
-
- Beiträge: 135
- Registriert: 28.01.2018 00:12:46
Re: Textmaker: Grafik im Text positionieren
Das klingt gut. Probier ich heute Abend aus.
Danke für den Tip!
Danke für den Tip!
-
- Beiträge: 135
- Registriert: 28.01.2018 00:12:46
Textmaker: Grafik im Text positionieren
Hm, funktioniert im Prinzip ganz gut, aaaber:
Ich habe in meinen Dokumenten etliche Objekte. Ich nenne das mal Textrahmen, z.B. um das Datum an eine bestimmte Stelle zu positionieren. Die Programmzeilen:
> tm.ActiveDocument.Select
> tm.ActiveDocument.Selection.Copy
lassen die Objekte aber aus. Die werden nicht mit kopiert und damit zerfällt das Layout.
Gibt es die Möglichkeit auch die Objekte zu kopieren?
Ich habe in meinen Dokumenten etliche Objekte. Ich nenne das mal Textrahmen, z.B. um das Datum an eine bestimmte Stelle zu positionieren. Die Programmzeilen:
> tm.ActiveDocument.Select
> tm.ActiveDocument.Selection.Copy
lassen die Objekte aber aus. Die werden nicht mit kopiert und damit zerfällt das Layout.
Gibt es die Möglichkeit auch die Objekte zu kopieren?
-
- Beiträge: 135
- Registriert: 28.01.2018 00:12:46
Re: Textmaker: Grafik im Text positionieren
Ich gebe die Antwort mal selber, vielleicht kann es ja jemand gebrauchen.
Im Anhang ein Script, daß den Text und alle Objekte (Textrahmen) aus einem Dokument in ein Neues kopiert. In meinem Fall basiert das neue Dokument auf einer Vorlage, die in der Kopfzeile ein Logo enthält.
Das Script nimmt alles mit, was nicht in den Kopf und Fußzeilen steht.
Im Anhang ein Script, daß den Text und alle Objekte (Textrahmen) aus einem Dokument in ein Neues kopiert. In meinem Fall basiert das neue Dokument auf einer Vorlage, die in der Kopfzeile ein Logo enthält.
Das Script nimmt alles mit, was nicht in den Kopf und Fußzeilen steht.
Code: Alles auswählen
Option Explicit
Sub TextMitLogo
Dim tm As Object 'Variable vom Typ Object deklarieren
Dim AlteDatei as String
Dim NeueDatei as String
Dim LaengeName as Integer
Dim VorlageMitLogo as String
VorlageMitLogo = "D:\Daten\Vorlagen\TextMaker\BriefMitLogo.tmvx"
Set tm = CreateObject("TextMaker.Application") 'Variable mit Objekt verbinden
tm.Application.Visible = True 'TM sichtbar machen
tm.Application.Activate 'in den Vordergrund holen
AlteDatei = tm.ActiveDocument.FullName 'Name mit Pfad des Originals
tm.Documents.Add VorlageMitLogo 'Neues Dokument mit Logo
NeueDatei = tm.ActiveDocument.Name 'TM-Name ohne Pfad, fr die Kopie
' MsgBox AlteDatei & ", " & NeueDatei
tm.Documents(AlteDatei).Activate 'Original
tm.ActiveWindow.View.Mode = tmViewModeText 'Editiermodus, das ist ber...
tm.ActiveDocument.Select 'Alles markieren
tm.ActiveDocument.Selection.Copy 'in die Zwischenablage kopieren
tm.Documents(NeueDatei).Activate 'Kopie
tm.ActiveWindow.View.Mode = tmViewModeText 'Editiermodus
tm.ActiveDocument.Selection.Paste 'Inhalt einf_gen
tm.Documents(AlteDatei).Activate 'Original
tm.ActiveDocument.Selection.GoTo tmGoToParagraph, tmGoToAbsolute, 1
'Geht zum Anfang des Dokuments
tm.ActiveWindow.View.Mode = tmViewModeObject 'Objektmodus
tm.ActiveDocument.Select 'Alles markieren
tm.ActiveDocument.Selection.Copy 'in die Zwischenablage kopieren
tm.Documents(NeueDatei).Activate 'Kopie
tm.ActiveDocument.Selection.GoTo tmGoToParagraph, tmGoToAbsolute, 1
'Geht zum Anfang des Dokuments
tm.ActiveWindow.View.Mode = tmViewModeObject 'Objektmodus
tm.ActiveDocument.Selection.Paste 'Inhalt einf_gen
LaengeName = Len(AlteDatei) - 4 'Neuen Namen basteln
NeueDatei = Left(AlteDatei, LaengeName) & "p" & Right(AlteDatei, 4)
tm.ActiveDocument.SaveAs NeueDatei, tmFormatWinWordXP
'Mit Pfad speichern
tm.Documents(AlteDatei).Activate 'Original
tm.ActiveWindow.View.Mode = tmViewModeText 'Editiermodus
tm.Documents(NeueDatei).Activate 'Kopie
tm.ActiveWindow.View.Mode = tmViewModeText 'Editiermodus
' MsgBox AlteDatei & ", " & NeueDatei
Set tm = Nothing 'Variable vom Objekt trennen
End Sub
Re: Textmaker: Grafik im Text positionieren
Danke. Werde ich vielleicht bald gebrauchen können.