Hi!

As usual I don't have a clue about anything when it comes to OpenOffice
Basic "programming".

I get an error message that I don't understand. Well, actually I understand
it, but I don't understand exactly why I get it.

Here is approximately what I do:

Sub SkrivUtstamp
   Dim Dag As Date, Veckodag As Integer
   Dim Instamp As Double, Utstamp As Double
   Dim OBDef As Variant, OB(5) As Double
   Dim r As Integer, k As Integer

  {A few lines not relevant to my problem}

' Sorry for that some variable names are in Swedish...
   Dag=Sheet.getCellByPosition(0,Rad).getValue()
   Veckodag=Weekday(Dag)-1
   If Veckodag=0 Then Veckodag=7

'    The line below will make OBDef an array - OBDef(2,5). In this case
OBDef(2,x) will be String and the rest will be Double.
   OBDef=DataSheet.getCellRangeByPosition(4,1,9,3).getDataArray()

   For k=0 To 5
       OB(k)=OverTime(OBDef(2,k), Veckodag, Instamp, Utstamp, OBDef(0,k),
OBDef(1,k)) 'This line doesn't work.
Rem OB(k)=OverTime("OB11",3,0.25,1,0.5,0.8) ' This example-line would work
if not "Rem" was there.
   Next k
 {Yet another couple of unimportant lines, when it comes to describing my
problem}
Sub

' There is nothing wrong with the function below, it works when I just feed
it with simple variables... When I do like I did above, I get an error
message at the very first line of this function below. It says something
like (free translation from Swedish, sorry) "The object variable is not
defined":

Function OverTime(TypeOfOB As String, DayOfWeek As Integer, StartTime As
Double, EndTime As Double, OTStart As Double, OTEnd As Double) As Double
   Dim Factor As Double

   Factor=1
   If TypeOfOB="ÖT75" Or TypeOfOB="ÖT100" Then
       If DayOfWeek<6 Then
           Factor=0
       EndIf
   Else
       If DayOfWeek>5 Then
           Factor=0
       EndIf
   EndIf
   If StartTime<OTStart Then StartTime=OTStart
   If EndTime>OTEnd Then EndTime=OTEnd
   If StartTime>EndTime Then StartTime=EndTime

   OverTime=Factor*(EndTime-StartTime)
End Function

So what does all this mean? What should I do instead?

Kind regards

Johnny

Reply via email to