Jeg har en VB6-applikation med en knap, som igen indeholder
nedenstående kode.
Programmets formål kort:
1.
Modtag en masse data på Com-porten
2.
Åbn det skrivebeskyttede ark "U:\Excel\Kontrolkort.xls" og indsæt en
masse data i diverse celler.
3.
Forcer afslutning, der får brugeren til at gemme til en ny xls-fil.
OG - det virker faktisk altsammen fint. Ved første gennemløb. Udfører
jeg koden anden gang, så fejler den på linien angivet i koden
herunder, med fejlen
"Run-time error 91: Object variable or With block not set"
Og det lader til at være xloW der er Nothing. Men hvorfor er den det?
'---code begin
On Error GoTo myErr
Dim xlo As excel.Application
Dim xloW As excel.Workbook
Dim myCount As Integer, x As Integer, NewMeasure As Integer
Dim isEven As Boolean
Set xlo = New excel.Application
Set xloW = xlo.Workbooks.Open("u:\excel\kontrolkort.xls")
xloW.Application.Visible = True
xloW.Worksheets(1).Range("G42").Value = Me.Antal_n
' List1.ListIndex = 0
For x = 0 To List1.ListCount - 1
List1.ListIndex = x
If Left(List1.Text, 1) <> "-" Then myCount = myCount + 1
Next x
If myCount Mod Me.Antal_n <> 0 Then
MsgBox "Der er foretaget " & myCount & " målinger. " & _
"Antallet af målinger skal være deleligt med " &
Me.Antal_n & ". Slet overskydende målinger eller foretag " & _
"yderligere målinger for at afslutte", vbExclamation,
"Ugyldig antal målinger"
Exit Sub
End If
xloW.Worksheets(1).Range("B15").Activate
isEven = False
For x = 0 To List1.ListCount - 1
List1.ListIndex = x
If Left(List1.Text, 1) <> "-" Then
With xloW.Worksheets(1)
If NewMeasure = CInt(Me.Antal_n) Then
If isEven = False Then
ActiveCell.Offset(11 - (CInt(Me.Antal_n) - 1),
0).Activate
NewMeasure = 0
isEven = True
Else
ActiveCell.Offset(-(11 + (CInt(Me.Antal_n) +
1)), 1).Activate
NewMeasure = 0
isEven = False
End If
End If
' ******** FEJL PÅ NÆSTE LINIE *********
ActiveCell.Value = CSng(Me.List1.Text) ' <------
ActiveCell.Offset(1, 0).Activate
End With
NewMeasure = NewMeasure + 1
End If
Next x
'xlo.Quit
Set xloW = Nothing
Set xlo = Nothing
myExit:
Exit Sub
myErr:
MsgBox Err.Description, vbCritical, "Fejl ved åbning af Excel
regneark"
Resume myExit
'---code end
På forhånd 2000 tak for hjælpen!
XFUT dk.edb.regneark
---
Svar venligst under det citerede
Klip og udelad, hvad du ikke besvarer