Fragen zu Objekten, Klassen, Methoden von OpenOffice

  • Hallo zusammen,

    in VB gibt es die Möglichkeit eine Struktur direkt per DIM festzulegen

    Code
    Dim CellRangeAddress As New com.sun.star.table.CellRangeAddress


    und dann den Objekten innerhalb der Struktur einen Wert zuzuweisen

    Code
    CellRangeAddress.Sheet = 0

    Ich bekomme in Autoit das Objekt ohne Fehlermeldung angesprochen, allerdings erhalte ich danach bei der Zuweisung der Werte an das Objekt immer die Fehlermeldung, daß eine Objektvariable erwartet wird.

    [autoit]

    ;der Schnipsel hier funktioniert einwandfrei
    $osm = ObjCreate("com.sun.star.ServiceManager")
    $oPropertyValue = $osm.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
    $oPropertyValue.Name = $cName
    $oPropertyValue.Value = $uValue

    [/autoit][autoit][/autoit][autoit]

    ;das hier funktioniert nicht
    $osm = ObjCreate("com.sun.star.ServiceManager")
    $ocellrangeaddress = $osm.Bridge_GetStruct("com.sun.star.table.cellrangeaddress")
    $ocellrangeaddress.Sheet = 0 ;Fehlermeldung, daß $ocellrangeaddress keine obj-variable ist

    [/autoit]


    Sowohl "com.sun.star.beans.PropertyValue" als auch "com.sun.star.table.cellrangeaddress" sind laut api.openoffice (da hab ich die letzten Stunden verbracht^^) beide "struct"......
    Wahrscheinlich finde ich nur die richtige Methode nicht. ObjektOrientierte Proggrammierung war noch nie mein Ding^^

    thx 4 help vorab
    Andy

  • Thx, leider wurde das Problem dadurch nicht behoben, habe nun "drumrumprogrammiert"^^
    Manchmal sieht man den Wald vor lauter Bäumen nicht.....

    Andy

  • Nicht behoben?
    Was geht denn nun nicht?
    Zumindest wird so ein Object erzeugt und das hier:

    [autoit]

    $ocellrangeaddress = $osm.Bridge_GetStruct("com.sun.star.table.CellRangeAddress")
    $ocellrangeaddress.Sheet = 0

    [/autoit]


    gibt keine Fehlermeldung mehr.

  • Hi,
    ich bekomme immer noch die Fehlermeldung. Habe deine Zeilen in mein Script kopiert, immer noch die Meldung in der Fehlerkonsole von Scite:

    $ocellrangeaddress.Sheet = 0 : $ocellrangeaddress ist kein objekt

    Macht aber nix, für wofür ich sonst 10 Zeilen Code gebraucht hätte (mit der o.g. Funktion), geht nun in 2 Zeilen, auch was wert....

    ciao
    Andy