Textmaker: Grafik im Text positionieren

Fehlerberichte, Hilfe und Anregungen zu BasicMaker 2018 für Windows

Moderator: SoftMaker Team

Antworten
smtschmidt
Beiträge: 69
Registriert: 28.01.2018 00:12:46

Textmaker: Grafik im Text positionieren

Beitrag von smtschmidt » 15.10.2018 22:26:03

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!

Jossi
SoftMaker Volunteers
SoftMaker Volunteers
Beiträge: 2676
Registriert: 05.12.2003 22:47:22
Wohnort: Lübeck-Travemünde

Re: Textmaker: Grafik im Text positionieren

Beitrag von Jossi » 16.10.2018 11:32:53

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.)

smtschmidt
Beiträge: 69
Registriert: 28.01.2018 00:12:46

Re: Textmaker: Grafik im Text positionieren

Beitrag von smtschmidt » 16.10.2018 11:41:13

Danke für den Hinweis! Das kannte ich noch nicht und guck ich mir mal an.

Eigentlich schade, ich programmiere ja gerne.

PeterQ
SoftMaker Volunteers
SoftMaker Volunteers
Beiträge: 1608
Registriert: 09.03.2009 17:32:30
Kontaktdaten:

Re: Textmaker: Grafik im Text positionieren

Beitrag von PeterQ » 16.10.2018 12:10:24

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:

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

smtschmidt
Beiträge: 69
Registriert: 28.01.2018 00:12:46

Re: Textmaker: Grafik im Text positionieren

Beitrag von smtschmidt » 16.10.2018 16:42:01

Das klingt gut. Probier ich heute Abend aus.
Danke für den Tip!

smtschmidt
Beiträge: 69
Registriert: 28.01.2018 00:12:46

Textmaker: Grafik im Text positionieren

Beitrag von smtschmidt » 18.10.2018 20:18:56

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?

smtschmidt
Beiträge: 69
Registriert: 28.01.2018 00:12:46

Re: Textmaker: Grafik im Text positionieren

Beitrag von smtschmidt » 19.10.2018 16:51:58

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.

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, fr 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
TextMitLogo.bas
(2.46 KiB) 1-mal heruntergeladen

Antworten

Zurück zu „BasicMaker 2018 für Windows“