Zugriff auf Elemente eines Frames

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

Moderator: Moderatoren

arkadiuszpaluszek
****
Beiträge: 117
Registriert: So, 09.05.2010 09:53
Wohnort: Coburg
Kontaktdaten:

Zugriff auf Elemente eines Frames

Beitrag von arkadiuszpaluszek »

Hallo!

Mein Dokument 1 beinhaltet ein Frame, in welchem das Dokument 2 erscheint. Nun möchte ich gerne per Makrocode auf die Formularelemente des Dokuments 2 zugreifen. Wie funktioniert es? Greife ich auf das Frame zu wie ein Element der Drawpage und dann weiter zu den Inhalten des Formulars oder über die URL des dort geöffneten Dokuments?

Viele Grüße

Arek
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Zugriff auf Elemente eines Frames

Beitrag von komma4 »

arkadiuszpaluszek hat geschrieben:auf die Formularelemente des Dokuments 2 zugreifen
Dann hast Du das 2. Dokument statisch eingefügt?!

Die Formularelemente befinden sich dann in der Drawpage des 1. Dokuments.



Besorge Dir XRAY!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Zugriff auf Elemente eines Frames

Beitrag von DPunch »

Aloha

Ich glaube, er meint Einfügen -> Frame und als Inhalt ein anderes Dokument.

Derartige Sachen laufen unter thisComponent.EmbeddedObjects, bei einem als OLE-Objekt eingefügten Dokument z.B. per

Code: Alles auswählen

thisComponent.EmbeddedObjects(0).Model.Drawpage
arkadiuszpaluszek
****
Beiträge: 117
Registriert: So, 09.05.2010 09:53
Wohnort: Coburg
Kontaktdaten:

Re: Zugriff auf Elemente eines Frames

Beitrag von arkadiuszpaluszek »

Genau, das Zweite habe ich gemeint! Danke!

Übrigens - ich habe heute nachts gute 2 Std. versucht mit Xray die Antwort auf meine Frage zu finden, ist wohl noch etwas übungsbedürftig. Jedenfalls vielen Dank an Euch beide!

Kann ich irgendwie mit einem Button von außerhalb des Frames die URL des eingebetteten Dokuments ändern (also zwischen verschiedenen Dokumenten "switchen")? Wenn der Button innenrhalb des Frames ist, brauche ich als Frame lediglich _self anzugeben. Aber von außerhalb funktioniert es nicht - die Frames die mir beim Erstellen eines Hyperlinks oder beim Zuweisen der Eigenschaft "Dokument öffnen" eines Buttons zur Verfügung stehen sind nur die Standardframes wie eben _self, _top, _parent etc.

Arek
arkadiuszpaluszek
****
Beiträge: 117
Registriert: So, 09.05.2010 09:53
Wohnort: Coburg
Kontaktdaten:

Re: Zugriff auf Elemente eines Frames

Beitrag von arkadiuszpaluszek »

Allerdings betrifft der Code

Code: Alles auswählen

thisComponent.EmbeddedObjects(0).Model.Drawpage
wohl nur die OLE-Objekte, nicht aber ein Dokument welches über Einfügen -> Frame eingefügt wurde. Hier bekomme ich eine Fehlermeldung. Habe versucht mein Formular als OLE - Objekt einzufügen, das zerreisst aber mein Formular optisch ziemlich sehr, geht also auch nicht.

Ich brauche also den obigen Code aber eben nicht für ein OLE Objekt, sondern für ein eingefügtes Frame.
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Zugriff auf Elemente eines Frames

Beitrag von DPunch »

Aloha
arkadiuszpaluszek hat geschrieben:Ich brauche also den obigen Code aber eben nicht für ein OLE Objekt, sondern für ein eingefügtes Frame.
Da kann ich Dir mangels Kenntnissen und auch Interesse was embeddedObjects angeht leider nicht helfen, aber Du könntest ja im Hintergrund unsichtbar auf das Dokument zugreifen und die Formularfelder so auslesen, oder nicht?
arkadiuszpaluszek
****
Beiträge: 117
Registriert: So, 09.05.2010 09:53
Wohnort: Coburg
Kontaktdaten:

Re: Zugriff auf Elemente eines Frames

Beitrag von arkadiuszpaluszek »

Ich kann es versuchen, bezweifele aber dass ich sie so verändern kann wie ich es brauche. Das Hauptdokument soll ein Formular beinhalten in welchem ich einen Kunden wähle, im Frame dagegen sollen verschiedene Dokumente mit Kundeninformationen aufgemacht werden können (da es verschiedene sind, deshalb im Frame). Nun soll also das jeweilige Formular im Frame eine Art Unterformular zu Formular im Hauptdokument sein, was von der Formularstruktur natürlich nicht möglich ist, da die jeweiliegn Formulare eben in zwei verschiedenen Dokumenten sind.

Ich könnte aber wenn s mir möglich wäre per Makro auf die Eigehnschaften des Formulars im Frame zuzugreifen dessen SQL - Befehl modifizieren (SELECT * FROM "kunden" WHERE id=kundennummer).

Ich müsste es ausprobieren,denke aber nicht, dass wenn ich das Dokument sowohl im Frame als auch nochmal normal unsichtbar aufgemacht habe und im unsichtbaren Dokument irgendwelche Eigenschaften verändere, sich dann die Darstellung im Frame verändert.

Gruss

Arek
Antworten