Hi, ich möchte die Eigenschaften/Methoden ansehen und den Service per String bestimmen. Funktioniert leider nicht wie geplant: oObj = sText erzeugt Fehlermeldung:
sub UnoService ' Anzeige Eigenschaften/Methoden ei UnoService
dim oObj as Object
dim sText as String
REM oObj = createUnoService("com.sun.star.frame.Desktop")
REM dies ist die Zuweisung aus dem Handbuch - ich möchte jedoch
REM die Zuweisung über eine STRING-VARIABLE wie folgt erzeugen:
sText = "createUnoService(""com.sun.star.frame.Desktop"")"
oObj = sText '!!! Fehlermeldung
msgbox oObj.dbg_properties
msgbox oObj.dbg_methods
end sub
Wert einer Objektvariablen per String zuweisen
Moderator: Moderatoren
-
- ****
- Beiträge: 102
- Registriert: Do, 13.05.2004 16:24
- Wohnort: Neuss
Hallo Wolfgang,
ich glaube, das hast du dir etwas vorgenommen, was nicht möglich ist.
Daher auch die Fehlermeldung.
Nun weiss ich ja nicht, was der Hintergrund deines Vorhabens ist, aber wäre es nicht sinnvoller, die Sache zu drehen:
Das zumindest sollte funktionieren - und vielleicht kannst du das ja brauchen.
Gruss
Thomas
ich glaube, das hast du dir etwas vorgenommen, was nicht möglich ist.
createUnoService() ist ein eingebauter Funktionsaufruf und liefert ein Objekt zurück. Wenn Du das in Quotes an eine String-Variabel übergibst, wird das alles ein String und ist kein Funktionsaufruf mehr. Und das bekommst du nicht zurück!sText = "createUnoService(""com.sun.star.frame.Desktop"")"
oObj = sText '!!! Fehlermeldung
Daher auch die Fehlermeldung.
Nun weiss ich ja nicht, was der Hintergrund deines Vorhabens ist, aber wäre es nicht sinnvoller, die Sache zu drehen:
Code: Alles auswählen
sText = "com.sun.star.frame.Desktop"
oObj = createUnoService(sText)
Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
-
- ****
- Beiträge: 102
- Registriert: Do, 13.05.2004 16:24
- Wohnort: Neuss
Danke für den Tip, ich wollte den anzuzeigenden Service selber per InputBox bestimmen - und dies ist hiermit nun möglich:
sub UnoService
dim oObj as Object
dim sInput$ REM Eingabevariable für Service (inputbox)
dim sText$ REM Anzeige Zuweisung an oObj
sInput = inputbox("Bitte Name des Service eingeben:", "Module: frame", "Desktop")
sText = "com.sun.star.frame." + sInput
oObj = createUnoService(sText)
msgbox oObj.dbg_properties REM Anzeige der ServiceEigenschaften
msgbox oObj.dbg_methods REM Anzeige der ServiceMethoden
End sub
sub UnoService
dim oObj as Object
dim sInput$ REM Eingabevariable für Service (inputbox)
dim sText$ REM Anzeige Zuweisung an oObj
sInput = inputbox("Bitte Name des Service eingeben:", "Module: frame", "Desktop")
sText = "com.sun.star.frame." + sInput
oObj = createUnoService(sText)
msgbox oObj.dbg_properties REM Anzeige der ServiceEigenschaften
msgbox oObj.dbg_methods REM Anzeige der ServiceMethoden
End sub