makro erstellen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Matze1978
Beiträge: 3
Registriert: Mo, 01.08.2022 01:12

makro erstellen

Beitrag von Matze1978 »

Hallo. ich habe von Makros und dergleichen null Ahnung und habe folgende Fragen:
Ich möchte mir gerne eine menge Arbeit ersparen und in meinen Dokumenten alle Grafiken einheitlich auf die gleiche Größe bringen.
Nun habe ich folgendes Makro hier gefunden:

Code: Alles auswählen

Sub Set_Graphics_to_UserDefined_Size
Dim oSize As New com.sun.star.awt.Size
	oDocument = thisComponent
	oPage = oDocument.drawPage
	nNumShapes = oPage.getCount()
	For i = 0 To nNumShapes - 1
		oShape = oPage.getByIndex( i )
		oImage = oShape.FrameStyleName
	if oImage = "Graphics" then
		nScale = 3000 / oShape.Height
		oSize.Width = oshape.Width * nScale
		oSize.Height = oshape.Height * nScale
		oShape.setSize(oSize) 
	else
	end if
	next i
msgbox "Es wurden " & i & " Bilder verkleinert." , 64, "Fertig"	
End Sub
Das tut was es soll, in diesem Fall werden alle Grafiken auf 3cm Höhe gebracht, das Seitenverhältnis wird automatisch beibehalten, soviel hab ich verstanden. Wenn ich nun die "3000" auf "9000" ändere, erhalten meine Grafiken also eine Höhe von 9cm.

Meine Grafiken sollen nun aber alle eine Größe von 9x13 cm (HöhexBreite) haben und mit einer Umrahmung versehen werden, ohne das das Seitenverhältnis beachtet wird.
Wie bekomme ich das hin? Vielleicht kann mir da jemand helfen?

Danke im Voraus
Karolus
********
Beiträge: 7431
Registriert: Mo, 02.01.2006 19:48

Re: makro erstellen

Beitrag von Karolus »

Hallo
Dann schau dir die folgenden drei Zeilen Code nochmal genauer an…eine davon kann weg…und bei den beiden anderen ersetzt du den Teil hinter dem =zeichen durch die gewünschten Zahlen.

Code: Alles auswählen

		nScale = 3000 / oShape.Height
		oSize.Width = oshape.Width * nScale
		oSize.Height = oshape.Height * nScale
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Matze1978
Beiträge: 3
Registriert: Mo, 01.08.2022 01:12

Re: makro erstellen

Beitrag von Matze1978 »

Karolus hat geschrieben: Mo, 01.08.2022 06:31 Hallo
Dann schau dir die folgenden drei Zeilen Code nochmal genauer an…eine davon kann weg…und bei den beiden anderen ersetzt du den Teil hinter dem =zeichen durch die gewünschten Zahlen.

Code: Alles auswählen

		nScale = 3000 / oShape.Height
		oSize.Width = oshape.Width * nScale
		oSize.Height = oshape.Height * nScale
Das funktioniert ja schonmal wunderbar, danke dafür, hätte ich selbst nicht hinbekommen.

Ist es nun noch möglich, alle Grafiken per Makro gleichzeitig mit einer Umrandung zu versehen, vielleicht in einem gesonderten Makro?
Karolus
********
Beiträge: 7431
Registriert: Mo, 02.01.2006 19:48

Re: makro erstellen

Beitrag von Karolus »

st es nun noch möglich, alle Grafiken per Makro gleichzeitig mit einer Umrandung zu versehen, vielleicht in einem gesonderten Makro?
Das ist sogar ohne Makro-geschwurbel in einem Rutsch machbar……diesen beiden Codezeilen:

Code: Alles auswählen

		oImage = oShape.FrameStyleName
	if oImage = "Graphics" then
…zufolge musst du die Rahmen-Vorlage Bilder in deinem Vorlagendialog nach deinen Wünschen anpassen.

edit: wenn ich mir die Vorlage so anschaue, möchte ich annehmen daß du dein ganzes Problem über die Einstellungen dieser Vorlage erschlagen könntest??
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Matze1978
Beiträge: 3
Registriert: Mo, 01.08.2022 01:12

Re: makro erstellen

Beitrag von Matze1978 »

Karolus hat geschrieben: Mo, 01.08.2022 11:26
st es nun noch möglich, alle Grafiken per Makro gleichzeitig mit einer Umrandung zu versehen, vielleicht in einem gesonderten Makro?
Das ist sogar ohne Makro-geschwurbel in einem Rutsch machbar……diesen beiden Codezeilen:

Code: Alles auswählen

		oImage = oShape.FrameStyleName
	if oImage = "Graphics" then
…zufolge musst du die Rahmen-Vorlage Bilder in deinem Vorlagendialog nach deinen Wünschen anpassen.

edit: wenn ich mir die Vorlage so anschaue, möchte ich annehmen daß du dein ganzes Problem über die Einstellungen dieser Vorlage erschlagen könntest??
Naja, ich dachte, es wäre ja viel einfacher, wenn man das gleich im Code für die Größe der Grafik mit einbinden könnte. ich habe nun mehrere Makros erstellt (für verschiedene Grafikgrößen) und es sogar geschafft, diese in die Symbolzeile zu legen. (bin echt stolz auf mich ;)

Wenn jetzt die Grafik beim Klick auf das 13x9cm-Makro direkt mit einer Umrandung einherginge, wäre das natürlich traumhaft

mit vorlageneinstellungen kenne ich mich noch weniger aus, hab ich irgendwie nie gebraucht

und, Naja, irgendwie gefällt mir dieses "Makro-geschwurbel" :D
Karolus
********
Beiträge: 7431
Registriert: Mo, 02.01.2006 19:48

Re: makro erstellen

Beitrag von Karolus »

mit vorlageneinstellungen kenne ich mich noch weniger aus, hab ich irgendwie nie gebraucht
Solltest du aber gebrauchen!
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Antworten