Basic-Laufzeitfehler '91' Objektvariable nicht belegt

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

Moderator: Moderatoren

darko
Beiträge: 1
Registriert: Di, 01.02.2011 15:24

Basic-Laufzeitfehler '91' Objektvariable nicht belegt

Beitrag von darko »

Hallo,

ich war schon im "fallschen" Forum!
Wegen einer Funktion in einer alten Excel-Datei bekomme ich ständig folgende Fehlermeldung:
"Basic-Laufzeitfehler '91' Objektvariable nicht belegt"

Hier ist der Code:

Code: Alles auswählen

    Option VBASupport 1
    Function SHEETOFFSET(offset, Ref)
    '   Returns cell contents at Ref, in sheet offset
        Application.Volatile
        With Application.Caller.Parent
            SHEETOFFSET = .Parent.Sheets(.Index + offset) _
             .Range(Ref.Address).Value
        End With
    End Function
Im Fenster Aufrufe steht noch die Meldung:

Code: Alles auswählen

 0: SHEETOFFSET
Es wäre absolut genial, wenn ich sie im CALC zum laufen kriegen würde!

Bin dankbar für jede Anregung.
Karolus
********
Beiträge: 7453
Registriert: Mo, 02.01.2006 19:48

Re: Basic-Laufzeitfehler '91' Objektvariable nicht belegt

Beitrag von Karolus »

Hallo
Gehöhren die Punkte vor Parent.Sheets und Range wirklich dahin?
Ja, innerhalb des 'with-blocks' musst du dir 'Application.Caller.Parent' dazu denken.

Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
hawe
****
Beiträge: 151
Registriert: Di, 05.08.2008 19:47

Re: Basic-Laufzeitfehler '91' Objektvariable nicht belegt

Beitrag von hawe »

Ich kann's mir nicht vorstellen und sehe auch im Debugger
keine Unterstützung von
Application.Volatile
Application.Caller
das wird so in UNO gar nicht umsetzbar sein...
Gruss HW
Win7/SuSe 11.2 - LO 3.3
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Basic-Laufzeitfehler '91' Objektvariable nicht belegt

Beitrag von Stephan »

Bin dankbar für jede Anregung.
Auf StarBasic umschreiben.

Ich sehe keine Besonderheiten, außer eben das Du solche Dinge wie:

Code: Alles auswählen

Application.Volatile
nicht 1:1 übernehmen kanst und meist auch nicht solltest.

Alles Nötige sollte hier stehen:
http://www.calc-info.de/files/Calc_StarBasic.pdf

ansonsten:
viewtopic.php?f=18&t=1553





Gruß
Stephan
gogo
*****
Beiträge: 207
Registriert: Mi, 10.11.2010 13:11

Re: Basic-Laufzeitfehler '91' Objektvariable nicht belegt

Beitrag von gogo »

Sollte die With-Anweisung nicht so aussehen?

Code: Alles auswählen

With Application.Caller
statt

Code: Alles auswählen

With Application.Caller.Parent
g
g
LucidLynx/WinXP LibreOffice v3.3.2 ab 03/12 v3.3.2 & v3.4.5
Antworten