Avatar billede runzor Nybegynder
19. juni 2004 - 14:18 Der er 7 kommentarer og
2 løsninger

Access skal gennem vba tjekke en excel appl.

Hej eksperter

Når der trykkes på en knap i min access applikation ryger brugeren over i et defineret excelark. Dette excelark har mange worksheets. Via en parameter i knappen findes det rigtige worksheet til brugeren. Skulle dette ark ikke eksistere skal der oprettes et nyt worksheet med parameterens navn. At få brugeren over i excel, oprette et nyt worksheet og navngive det er ikke problemet. Problemet er for mig hvordan tjekker jeg om det efterspurgte worksheet er eksisterende?

lidt psudo over dette er noget i stil med: "if not existing then insert new worksheet"

Så i bund og grund tror jeg "bare" det er denne psudo der skal "oversættes".

Hvis det er af relevant info. så vides det ikke hvor mange worksheets der er da det hele tiden kan udvides.

Håber i forstår mit spørgsmål eller spørger i bare så svarer jeg efter bedste evne. På forhånd tak
Avatar billede hnteknik Novice
19. juni 2004 - 14:43 #1
Kan du ikke bare jumpe hen til worksheet --> on error 'opret nyt worksheet ned samme navn. ??

Henrik
Avatar billede runzor Nybegynder
19. juni 2004 - 14:47 #2
meget muligt... hvad er koden til det?
Avatar billede terry Ekspert
19. juni 2004 - 14:52 #3
I cant see how you are using Excel but thsi example demonstrates how you can see if it doesnt exist



Dim objXL As Excel.Application
Dim objXLwbk As Excel.Workbook
Dim objSht As Excel.Worksheet

   
                   
    'Open Excel
    Set objXL = CreateObject("Excel.Application")

   
    With objXL
   
        .Workbooks.Open ("c:\Test.xls")
       
        On Error Resume Next
       
        Set objSht = .ActiveWorkbook.Worksheets("MySheet")
       

        If Err.Number <> 0 Then
            MsgBox "Sheet doesnt exist"
        End If
   
    End With
Avatar billede runzor Nybegynder
19. juni 2004 - 14:55 #4
With objXL
.Workbooks.Open ("c:\Test.xls")
<-- dette åbner et bestemt xls-dokument

On Error Resume Next <-- dette tjekker om domkumenter eksistere???
Avatar billede hnteknik Novice
19. juni 2004 - 15:01 #5
Sub DoesSheetExist()' Get the worksheet you are looking for to appear
Dim wSheet As Worksheet

On Error Resume Next
  Set wSheet = Sheets(ComboBox1.Text)
      If wSheet Is Nothing Then 'Does not exist
          Set wSheet = Nothing
          On Error GoTo 0
      Else 'Exist
          wSheet.Activate ' open the right worksheet
          Set wSheet = Nothing
          On Error GoTo 0
      End If
End Sub
Avatar billede terry Ekspert
19. juni 2004 - 15:03 #6
On Error Resume Next means that if an error occurs I want to continue executing the code from the next line.

So it mean in this case that if the worksheet (.ActiveWorkbook.Worksheets("MySheet"))

doesnt exist then Err.Number will NOT be 0
Avatar billede runzor Nybegynder
19. juni 2004 - 15:03 #7
takker for svarene... jeg tjekker dem torsdag i næste uge og vender derefter tilbage
Avatar billede runzor Nybegynder
24. juni 2004 - 14:48 #8
Pointfordelingen er lige da min løsning blev baseret på en kombination af begge svar.
Avatar billede terry Ekspert
24. juni 2004 - 16:08 #9
tak runzor
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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