Makro startet "falsch"

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Makro startet "falsch"

Re: Makro startet "falsch"

von Philipp_19 » Di, 06.09.2011 10:02

So Problem gelöst.

Code: Alles auswählen

REM  *****  BASIC  *****

Sub Test
	Dim b as String
	Dim doc as Object
	
	doc = thiscomponent
	Tables = doc.GetTextTables()
	Table = Tables.GetByIndex(0)
	b = Table.GetCellByPosition(1,2).GetString()
	
	Do while b = ""
		wait 10
		b = Table.GetCellByPosition(1,2).GetString()
	loop
	
	Call ___________________ 'eigenes Makro angeben
End Sub
Damit ruf ich das Makro nun auf. So klappt das ganze mit den Textmarken.

Re: Makro startet "falsch"

von Philipp_19 » Mo, 05.09.2011 12:06

komma4 hat geschrieben:aber arbeitest Du nun mit LO (wie im LO-Forum angegeben), oder mit OOo? Das spielt beim Nachstellen des Problems, bei der Bedienbarkeit und bei evtl. Lösungswegen durchaus eine Rolle)
Arbeite sowohl mit LO als auch mit OOo.
Kannst dich aber am besten auf OOo beziehen, da ich wohl eher dazu tendiere als zu LO.
komma4 hat geschrieben:Du hast als OTT gespeichert, dann greift das Ereignis "Dokument öffnen" nicht, sondern "Dokument erzeugt".
==> Ereigniss "Dokument erzeugt" müsste demnach greifen? Ich guck mir das mal sofort an.

EDIT: Okay, Dokument erzeugt bringt mir auch nicht den gewünschten Effekt. Das Makro startet nun allerdings endlich wieder. Aber eben noch mit den falschen Werten.
Habe nun endlich das eigentliche Problem filtern können: Mit einer .odt Datei läuft alles ganz normal. Da die Software aber nur die .ott-Datei, also die Vorlage, lädt, klappen die Ereignisse nicht. Habe das ganze nun einfach mit den Dateien ausprobiert, und bei der Vorlage greift kein einziges Ereignis. Ich denke, das wars dann mit einer Lösung :(

Edit: So, komplette Lösung: Die Software startet die Vorlage, mit Vorlagen kann man keine Events benutzen, womit das automatische starten nun wegfällt. Mist...

Danke schonmal

Re: Makro startet "falsch"

von komma4 » Mo, 05.09.2011 11:58

Philipp_19 hat geschrieben:wird nicht das eigentliche Dokument, sondern nur die Vorlage geöffnet, hat also einen neuen Namen "Unbekannt xx". Kann es daran liegen, das die Ereignisse nicht greifen?
Dann behaupte ich mal: JA!

Du hast als OTT gespeichert, dann greift das Ereignis "Dokument öffnen" nicht, sondern "Dokument erzeugt".


Edit: nicht, dass ich kleinlich wirken möchte - aber arbeitest Du nun mit LO (wie im LO-Forum angegeben), oder mit OOo? Das spielt beim Nachstellen des Problems, bei der Bedienbarkeit und bei evtl. Lösungswegen durchaus eine Rolle)

Re: Makro startet "falsch"

von Philipp_19 » Mo, 05.09.2011 11:42

Hallo nochmal, ich editiere den Beitrag oben mal wegen Übersichtlichkeit nicht.

Wenn man das Makro über Ereignisse aufrufen will, muss man dies ja in dem Dokument speichern. Beim Aufruf des Dokuments aus der Software herraus, wird nicht das eigentliche Dokument, sondern nur die Vorlage geöffnet, hat also einen neuen Namen "Unbekannt xx". Kann es daran liegen, das die Ereignisse nicht greifen?
Das Makro wird wohl in das neue Dokument mit übernommen, die Ereignisse sind vorhanden, aber mir gehen langsam die Ideen aus :(

Grüße

Makro startet "falsch"

von Philipp_19 » Mo, 05.09.2011 11:13

Hallo,

zunächst, bevor ich's wieder vergesse:
OpenOffice 3.3
Windows XP

Ich habe das Problem bereits im LO-Forum angesprochen, habe aber bis jetzt noch keine Antwort, die geholfen hat:
Ich habe ein Makro geschrieben, das Werte aus einer Tabelle ausgliest und damit dann gearbeitet wird.
Diese Zellen werden mit Textmarken gefüllt (über eine Schnittstelle einer Software; Die Werte kommen aus einer Datenbank).

Das Problem ist nun, dass das Makro, wenn ich es über Ereignisse starte ("Dokument wird geöffnet", etc.), durchläuft, und dannach erst die Textmarken gefüllt werden. Also haben die Zellen keinen Inhalt, bzw. sie werden als 0 angesehen, und das Makro rechnet dann mit 0. Dabei kommen dann natürlich falsche Werte raus, weil die Textmarken Werte zwischen 10 - 400 anzeigen.

Gibt es eine Möglichkeit, dem Makro zu sagen, dass es erst verspätet durchlaufen soll (wait 5000 klappt dabei nicht, entweder zu kurzer Zeitraum, was ich bezweifle, oder es greift einfach nicht richtig), bzw. erst nachdem das Dokument vollständig fertig ist? Also theoretisch so, als würde ich das Makro immer manuell starten, nachdem ich das Dokument geöffnet habe?

Edit: habe grade nochmal einige andere Ereignisse ausprobiert, und allem Anschein nach funktionieren die bei mir alle nicht, bzw. will das Makro patu nicht über Ereignisse starten. Im Makro habe ich dann nochmal Wait 10.000 eingebastelt (im Code ohne . ;-)), aber auch das klappt nicht. manuell das Makro starten klappt allerdings.

Ideen würden mich sehr freuen.
Grüße

Nach oben