Hallo, > -----Original Message----- > From: Wolfgang Jäth [mailto:jawo.ml.hams...@arcor.de] > Sent: Monday, June 29, 2020 8:34 AM > To: users-de@openoffice.apache.org > Subject: [Basic] Laufzeitfehler "Objektvariable nicht belegt" > > Hi, > > ich hab da gerade ein kleines Verständnisproblem. Eigentlich möchte > ich (in einer Schleife) die Anweisung > > | aOutput(currRow)(currCol) = Options2String (aMatrix > (currRow, currCol, > SDNumbers)) > > ausführen. Die einzelnen Variablen sind folgendermaßen definiert > (und nachweislich auch sinnvoll belegt): > > | Dim aMatrix (0 To 9, 0 To 9, 0 To 5) As Integer > | Dim currRow, currCol As Integer > | Dim aOutput As Variant > | Dim oSheet, oOutput As Object > | oSheet = thisComponent.getCurrentController.getActiveSheet > | oOutput = oSheet.getCellRangeByName (WMOutput) > | aOutput = oOutput.getDataArray() > > Das Beobachterfenster zeigt mir aMatrix als 'Integer(0 To 9, > 0 To 9, 0 To 5)', > wie es sein soll, und aOutput als 'Object(0 To 9)'; etwas merkwürdig, > weil eigentlich definiert als Variant, aber ist auch an > anderen Stellen so > (und fonktioniert dort auch).
Variant gilt als Dateityp der alle anderen Typen enthält[1]. Eine als Variant deklarierte Variable wird den Typ annehmen der dem Inhalt entspricht der ihr zugewiesen wird, z.B.: Dim x As Variant x = "abc" MsgBox TypeName(x) 'String x = 1.23 MsgBox TypeName(x) 'Double [1] das ist eine Besonderheit und nicht selbstredend so, denn obwohl z.B. eine Long-Variable als erweiterte Integer-Variable verstanden werden könnte, "enthält" eine Long-Variable nicht _den Typ_ Integer, Schaue Dir das untereschiedliche Verhalten an: Dim x As Variant x = 123 MsgBox TypeName(x) 'Integer Dim y As Long y = 123 MsgBox TypeName(y) 'Long! > Bereits beim ersten Durchgang liefert mir die obige Zeile [...] bitte gib den vollständigen Code an, denn zumindest ich blicke nicht durch Gruß Jörg --------------------------------------------------------------------- To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org For additional commands, e-mail: users-de-h...@openoffice.apache.org