Avatar billede shooter Novice
27. oktober 2002 - 02:19 Der er 6 kommentarer og
1 løsning

hvorfor virker dette kun første gang.

Jeg har oget kode i Access VB som kalder excel og overfører data til excelarket. Når dette er gjort saveAs-er jeg regnearket. Dette virker kun første gang jeg afvikler koden og giver sig udtryk i at KUN saveAs ikke bliver udført - resten virker, også selvom excel er blevet lukket i mellem de to kørsler af programstumpen.
How come ? og hvad skal jeg rette for at det kommer til at virke?
(jeg er begynder på VB )

kode:

Private Sub Kommandoknap12_Click()

Dim xls As New Excel.Application
Dim Tek As String, Dato As String
Dim MyObject As Object  ' Opret objektvariabel.
Dim PayDate As Date
Dim intDays As Integer
Dim lbnr, nytnr, a As Long, b As Integer
Dim myfile, mypath, MyName, filen
Dim nytnrstr As String

xls.Visible = True
xls.Workbooks.Open ("C:\programmer\adressekartotek\fakturatmp.xls")

Set MyObject = Me!gade

xls.Worksheets("Ark1").Cells(12, 1).Value = (Me!gade + " " + Me!gadenummer)
xls.Worksheets("Ark1").Cells(11, 1).Value = (Me!firma)
xls.Worksheets("Ark1").Cells(13, 1).Value = (Me!postnr + "  " + Me!by)
xls.Worksheets("Ark1").Cells(14, 1).Value = ("Att. " + Me!fornavn + " " + Me!efternavn)
xls.Worksheets("Ark1").Cells(20, 2).Value = Format(Date, "dd-MM-yyyy")

PayDate = DateAdd("d", 14, Date)
xls.Worksheets("Ark1").Cells(54, 3).Value = PayDate


ChDir "c:\dokumenter\faktura"


mypath = "c:\dokumenter\faktura\"
MyName = Dir(mypath, vbNormal)
nytnr = 0
Do While MyName <> ""
 
  If MyName <> ".\" And MyName <> "..\" Then
        If (GetAttr(mypath & MyName) And vbNormal) = vbNormal Then
        b = Len(MyName)
        lbnr = Val(Mid(MyName, 4, b - 8))
        lbnr = Val(Mid(MyName, 1, b - 4))
        If lbnr > nytnr Then nytnr = lbnr

      End If
  End If
MyName = Dir

Loop

nytnr = nytnr + 1

xls.Worksheets("Ark1").Cells(18, 9).Value = nytnr

ActiveWorkbook.SaveAs FileName:="c:\dokumenter\faktura\" & Str(nytnr) & ".xls"




xls.Visible = True
DoCmd.Hourglass False
End Sub
Avatar billede kennethrisum Nybegynder
27. oktober 2002 - 09:07 #1
Har du prøvet ekplicit at fjerne instancen fra dit vba

Set xls = Nothing

Lige efter du udfører xls.Visible = True
Avatar billede shooter Novice
27. oktober 2002 - 21:17 #2
Desværre hjalp dette ikke.

Fejlen er:

Kørselsfejl "91"
Objektvariablen eller With-blokken er ikke angivet.

Er det noget med at den husker ActiveWorkbook og ikke får initialiseret denne ved næste kørsel ??
Avatar billede bak Forsker
28. oktober 2002 - 13:36 #3
du mangler at føje xls til activeworkbook
Xls.ActiveWorkbook.SaveAs FileName:="c:\dokumenter\faktura\" & Str(nytnr) & ".xls"

Jeg går ud fra at du selv lukker excel ellers skal du have xls.quit med tilsidst.
Avatar billede shooter Novice
29. oktober 2002 - 21:54 #4
Bak:
Du er genial - tak.
Avatar billede shooter Novice
29. oktober 2002 - 21:57 #5
ehhhhhh Bak - jeg kan ikke give dig point fordi du ikke har svaret men kun kommenteret.
svar og du skal få!
Avatar billede bak Forsker
29. oktober 2002 - 23:10 #6
Tak for ros & point
Bak
Avatar billede bak Forsker
29. oktober 2002 - 23:18 #7
skulle selvfølgelig have været et svar :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester