Avatar billede steensommer Praktikant
06. juli 2003 - 10:18 Der er 2 kommentarer og
1 løsning

Kommandolinie og opstart af projektmappe

Hej

Jeg har i en projektmappe oprettet en kommandolinie som "popper op" når projektmappen åbnes. Fra en "knap" i kommandolinien skal nedenstående vba køres der gør (burde gøre) følgende:

1) Checke om der en projektmappe navngivet med cpr.nr i  (D7)
2) Se i angivne sti om projektmappen findes (med endelsen .obs)
3) Checke om projektmappen allerede er åben og i givet fald aktivere den - ellers åbne den.

Problemet er blot at intet sker - jeg har med andre ord lavet fejl jeg pt ikke helt kan gennemskue?

Mon der skulle være hjælp at hente?

vh Steen


Function WorkbookOpen(WorkBookName As String) As Boolean
' returns TRUE if the workbook is open
    WorkbookOpen = False
    On Error GoTo WorkBookNotOpen
    If Len(Application.Workbooks(WorkBookName).Name) > 0 Then
        WorkbookOpen = True
        Exit Function
    End If
WorkBookNotOpen:
End Function



Sub ÅbenObservationsskema()
Dim sPath As String, wb As Workbook

On Error Resume Next

If Range("D7") = "" Then

MsgBox ("Cpr nummer SKAL indtastes")
    sPath = "\\hjertesrv\faelles\Index data\Observationsskemaer\"
    If Dir(sPath & Range("D7") & ".obs") <> "" Then
            If Not WorkbookOpen(sPath & Range("D7") & ".obs") Then
                Workbooks.Open sPath & Range("D7") & ".obs"
   
            Else:
            Windows(sPath & Range("D7") & ".obs").Activate
           
            End If
       
    Else:
        MsgBox ("Patientmappen er ikke oprettet")
   
    End If

End If

End Sub
Avatar billede kabbak Professor
06. juli 2003 - 15:19 #1
Sub ÅbenObservationsskema()
Dim sPath As String, wb As Workbook

'On Error Resume Next
OM:
If Range("D7") = "" Then
    MsgBox ("Cpr nummer SKAL indtastes")
    Range("D7").Select
    GoTo OM
End If

  sPath = "\\hjertesrv\faelles\Index data\Observationsskemaer\"
If Dir(sPath & Range("D7") & ".obs") <> "" Then
    If Not WorkbookOpen(sPath & Range("D7") & ".obs") Then
          Workbooks.Open sPath & Range("D7") & ".obs"
        Else:
          Windows(sPath & Range("D7") & ".obs").Activate
           
    End If
       
  Else:
        MsgBox ("Patientmappen er ikke oprettet")

    End If
   
End Sub
Avatar billede steensommer Praktikant
06. juli 2003 - 16:39 #2
Flot kabbak - det fungerer bare. Hvad havde jeg gjort galt?
Avatar billede kabbak Professor
06. juli 2003 - 17:30 #3
If Range("D7") = "" Then
ved denne if, fortsatte kun hvis D7 var "", hvis der var værdi i D7 gik den til end if lige over end sub.

så det er bare den sidste end if der er flyttet op.
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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