19. april 2004 - 13:12Der er
16 kommentarer og 1 løsning
Min Excel hænger efter lukning
Jeg har et VB 6.0 Program, som smider data til et Excel ark, Den åbner et excel ark. Og smider over... MEN lukker jeg Excelfilen, og prøver igen.... så hænger den... kun lige den øverste del af Excelprogrammer kommer frem på skærmen!
If xlApp.ActiveWorkbook.ActiveSheet.Range("Start").Offset(X, 0) = "" Then
If FRM_TilbudsRapportOversigt.CHK_Pris.Value = 1 Then Dim Pris As String Pris = rsExcelRapport("Pris")
If Val(Pris) >= FRM_TilbudsRapportOversigt.TXT_Pris.Text Then xlApp.ActiveWorkbook.ActiveSheet.Range("Start").Offset(X, 4) = rsExcelRapport("Pris") xlApp.ActiveWorkbook.ActiveSheet.Range("Start").Offset(X, 0) = rsExcelRapport("Tilbudsnummer") xlApp.ActiveWorkbook.ActiveSheet.Range("Start").Offset(X, 1) = rsExcelRapport("cboSalgkoordinator") xlApp.ActiveWorkbook.ActiveSheet.Range("Start").Offset(X, 2) = rsExcelRapport("txtKontaktPerson") xlApp.ActiveWorkbook.ActiveSheet.Range("Start").Offset(X, 3) = rsExcelRapport("KundeRef") Status = rsExcelRapport("cboTilbudsstatus")
If Status = "Aceepteret" Then NewStatus = "W" Else NewStatus = "O" End If xlApp.ActiveWorkbook.ActiveSheet.Range("Start").Offset(X, 5) = NewStatus Else End If Next X End sub
har du nedlagt ALLE dine objekter? Jeg kan i øvrigt ikke se hvor du lukker excelfilen henne, selvom du skriver at du gør det - har du ikke glemt den kodestump?
Så vidt jeg husker: xlApp.Quit
PS: Hvad bruger du disse linier til?
Dim xlWb As Excel.Workbook Dim xlWs As Excel.Worksheet
Du skriver: " Jeg har et VB 6.0 Program, som smider data til et Excel ark, Den åbner et excel ark. Og smider over... MEN lukker jeg Excelfilen, og prøver igen.... så hænger den"
Personlig ville jeg ændre i logikken således at du først smider data over i dit excel, gemmer filen i en midlertidig fil, lukker filen og quit'er excel. Herefter ville jeg i koden shell'e excel med dette filnavn som parameter. Shell vil kun have en reference til selve processen og vil du på denne måde adskille din applikation fra excel/regneark.
På denne måde vil din applikation ikke have fat i excel, som vil køre som en selvstændig applikation :-)
Man bør altid prøve at adskille automatikken og de manuelle procedurer fra hinanden, så der ingen tvivl er om hvem som bestemmer (i dette tilfælde over regneark og excel-program)
Jeg takker for dit svar..... prøver mig lidt frem!
Synes godt om
Ny brugerNybegynder
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.