Seite 1 von 1

Eigenschaften von Grafik Objekten auslesen (Basic)

Verfasst: Mo, 13.06.2005 17:48
von Holla die Waldfee
Hallo
Ich fange grade an mich in Starbasic einzuarbeiten. Derzeit bin ich an einer Stelle wo ich nicht weiterkomme.
Ich möchte gerne ein paar Eigenschaften von Grafiken auslesen, die sich in einem WriterDokument befinden (z.B Height, grafikURL).

Bisher ist es mir nur gelungen den Namen der Grafik auszulesen:

Code: Alles auswählen

	for i = 1 to objCurrentDoc.GraphicObjects.Count
		iTemp=ubound(arrinfos())+1
		redim preserve arrInfos(iTemp,1)
		arrinfos(iTemp,1)=objCurrentDoc.GraphicObjects.ElementNames(i-1)
	next i
Die gewünschten Eigenschafen (z.B Height, grafikURL) scheinen sich in com.sun.star.text.GraphicObject zu befinden. Ich kann auch eine Instanz auf den Serice erstellen mit

Code: Alles auswählen

mytest = objCurrentDoc.createInstance("com.sun.star.text.GraphicObject")
Aber wie kann ich mytest auf eine bestehende Grafik zeigen lassen, um die Eigenschaften auszulesen?

Würde mich freuen wenn mir da jemand helfen kann.

mfg

Verfasst: Mo, 13.06.2005 21:15
von Holla die Waldfee
Hab die Methode gefunden die ich gesucht habe. :)

Hier für andere Leser mit dem gleichen Problem die Lösung

allgr=Textdoc.getGraphicObjects()
for i= 0 to allgr.count-1
gr=allgr(i)
msgbox cstr(gr.size.height)
next i


Wobei sich die API- Documentation leider ausschweigt, ob es sich bei den Werten der Size-Structur um Pixel, Twips oder sonstwas handelt. Auch die
GraphicURL liefert nicht das Ergebnis was ich erwartet habe (den Pfad der Grafik in Reinschrift), aber so kann ich wenigstens schon mal auf die Objekte zugreifen.

Verfasst: Mo, 13.06.2005 22:04
von Stephan
ob es sich bei den Werten der Size-Structur um Pixel, Twips oder sonstwas handelt.
Das sind ma-Einheiten:

http://oooforum.de/viewtopic.php?t=1596 ... 93bce9517a


Gruß
Stephan

Verfasst: Di, 14.06.2005 17:46
von Holla die Waldfee
Danke. hatte es nämlich bis jetzt immer noch nicht rausgefunden.

Verfasst: Mi, 15.06.2005 01:55
von Stephan
Ja, da war ich unaufmerksam. Die ma-Einheiten gelten nur für Basic-Dialoge, Dein Makro findet aber in einem Dokument statt.


Gruß
Stephan