Hi, Der Benutzer öffnet ein Writer Dokument in dem ein Dialog startet und das Hauptdokument versteckt wird, von da aus gehts weiter Die Dialogbox stellt ein Menu dar welches dann aus der externen odb Datei die Formulare öffnet
Der Bug zu dem Formularproblem ist hier beschrieben http://www.openoffice.org/issues/show_bug.cgi?id=63392 Dazu habe ich bereits zuvor einmal hier gepostet ---------------------- Hi, ich habe da ein kleines Problem das mich heute morgen beim Kunden ins schwitzen gebracht hat ich habe etliche Makros m Büro vorbereitet aud Version 2.0, beim Kunden ist die 2.0.2 installiert Als ich dort ankam funktionierte die Hälfte meiner Makros nicht. ZB folgendes Sub ASListeAktualisieren Doc = StarDesktop.CurrentComponent Forms = Doc.Drawpage.Forms oForm = Forms.GetByIndex(0) oForm.getByName("LB_AS").refresh End Sub und zwar bleibt er an der Drawpage Zeile hängen mit der Meldung "Objektvariabel nicht belegt" Werde jetzt mal hier im Büro auch die 2.0.2 installieren und sehen ob ich das in den Griff bekomme. Wäre aber schon dankbar für einen Hinweis ;) Gruss, Christophe ---------------------- Werde schonmal den Rest etsten ;) Danke schonmal :) Christophe -----Original Message----- From: Thomas Krumbein [mailto:[EMAIL PROTECTED] Sent: mardi 20 juin 2006 13:46 To: [email protected] Subject: Re: [de-users] Toolbars eines Formulars in einer odb per Makro verstecken Hey Christophe, Christophe Nix schrieb: > Keiner eine Idee? :) Was denn für eine? Ist doch alles OK. > Bisher mache ich das folgendermassen > > Sub HideToolbars Dim frame as object doc = > Stardesktop.getCurrentComponent() frame = doc.CurrentController.Frame > lmgr = frame.LayoutManager lmgr.setVisible(false) End Sub Also, so mache ich das auch - bei externen Formularen. Nur dann macht es ja eigentlich Sinn. Wenn der Benutzer vorher Base öffnet und dann erst das Formualr startet, hat er doch einen Schritt zu viel und viel zu viel Möglichkeiten, Unsinn zu machen. Ansonsten: Brauchst du wahrscheinlich einen Schritt mehr. Wenn das Formualr dann nicht Teil des StarDesktops ist, ist es wahrscheinlich Teil des Base-Dokumentes. Dann such halt erst einmal das - und dann das Formular. Hmm, halt: ich sehe gerade: Versuch doch mal, das aktive Dokument wie folgt zu bekommen: oframe = starDesktop.getAktiveFrame() lmgr = oFrame.LayoutManager ... Das sollte auf jeden Fall gehen - denn auch dieses Dokument sollte Teil des Stardesktops sein. > Dies funktioniert leider ausschliesslich in Version 2.0.1 aufgrund > eines Bugs, da in der Version die Formulardokumente Teil des > Stardesktops sind. Na, das sollten Sie doch auf jeden Fall sein.... Ausserdem bleibt bei dieser Variante trotzdem die > Statusleiste erhalten. Ein wenig verstümmelt zwar aber weiterhin > aktiv. Das stimmt - und ist wohl ein Bug. Da gibt es verschieden Issues. Bleibt nur eins: Den Statusbalken getrennt nochmals ausschalten. Ich kann dir nur den Code geben, den ich nutze - allerdings habe ich nur externe Formulare. oCW = starDesktop.getAkctiveFrame.getContainerWindow.AccessibleContext for i = 0 to oCW.getAccessibleChildCount()-1 iNr = oCW.getAccessibleChild(i).AccessibleContext.AccessibleRole if iNr = com.sun.star.accessibility.acessibilityRole.STATUS_BAR then oStB = oCW.accessibleChild(i) exit for end if next oStB.visible = false Vielleicht hilft es dir. Viele Grüße Thomas -- ## Marketing deutschsprachiges Projekt ## http://de.openoffice.org - www.openoffice.org ## Vorstand OpenOffice.org Deutschland e.V. ## Mitglieder willkommen: www.OOoDeV.org --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
