Fehler in LibreOffice bei "com.sun.star.bridge.OleObjectFactory"

Antwort erstellen


Um automatische Eingaben zu unterbinden, musst du die nachfolgende Aufgabe lösen.

BBCode ist eingeschaltet
[img] ist ausgeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Fehler in LibreOffice bei "com.sun.star.bridge.OleObjectFactory"

Fehler in LibreOffice bei "com.sun.star.bridge.OleObjectFactory"

von Stephan » Mi, 16.05.2018 14:37

Hallo,

Es gelingt mir in LO (getestet 5.1.6) nicht auf den Inhalt einer Variable zuzugreifen, der durch Ausführen eines VBScripts über die 'automation bridge' erzeugt wurde. Die Fehlermeldung kommt in Zeile:

Code: Alles auswählen

rueck = WSH.CodeObject.x
und lautet:

BASIC-Laufzeitfehler.
Es ist eine Ausnahme aufgetreten
Type: com.sun.star.uno.RuntimeException
Message: [automation bridge] Could not get FUNCDESC for x.


Gibt es diesbezüglich in LO etwas Besonderes zu beachten?

Die allgemeine Funktion der 'automation bridge' ist ansonsten einwandfrei, siehe z.B. die beispielhafte Msgbox im untenstehenden Code.
(Hinweis: in OO (getestet 4.1.2) tritt der Fehler nicht auf)


mein Code ist:

Code: Alles auswählen

Sub WSH_test()
	'kopiert Adressen aus Kontakte-Ordner von Outlook in eine Tabellendatei
	'und meldet diese Tabellendatei als Datenbank namen "Outlook_Kontakte" in OO an
	
	Dim OleService As Object
	Dim WSH As Object
	Dim vbs
	Dim i, j
	
	Dim rueck
	
	If getGuiType() <> 1 Then
		Msgbox "Dieses Makro funktioniert nur unter dem Betriebssystem MS Windows.", 16, "Abbruch"
		Exit Sub
	End If

	OleService = CreateUnoService("com.sun.star.bridge.OleObjectFactory")
	WSH = OleService.CreateInstance("MSScriptControl.ScriptControl")
	WSH.Language = "VBScript"
	
	vbs = vbs & "x = Array(1,2,3)" + CHR(10)
	vbs = vbs & "Msgbox 3+4" 

	WSH.ExecuteStatement(vbs)

	rueck = WSH.CodeObject.x
	
	For i = 0 To UBOUND(rueck)
		j = j & rueck(i) & CHR(13)
	Next i
	
	Msgbox j
	
End Sub

Gruß
Stephan

Nach oben