Flere-brugere Read-only
Fra en patientliste lavet i excel opstartes (vha VBA tilsluttet en kommandoknap) en journal (worddokument). Vha VBA logger brugerne på systemet og udfra dette log-on har de enten Redigeringsrettigheder eller Read-only. Når en bruger med Read-only starter journalen (i read-only) burde en bruger med udvidede rettigheder kunne åbne journalen med redigeringsrettigheder MEN sådan er det ikke - den åbnes også som Read-only. Nedenfor ses koden til opstart af journalen:Sub StartJournal1()
If Sheets("Config").Range("C1") <> "" Then
Sheets("Ark1").Select
'Vi erklærer lige nogen variable
Dim Wdapp As Object
Dim Cprnr As String
Dim Navn As String
Dim sPath As String
Dim Indlæggelsesdato As Date
'Og tildeler dem en værdi baseret på indholdet af arket
Cprnr = Range("G8").Value
Hcvnr = Range("I8").Value
Navn = Range("E8").Value
Indlæggelsesdato = Range("Y8").Value
'Besked om at cpr skal indtastes
If Range("Patientliste.xls!G8") = "" Then
MsgBox ("Cpr nummer SKAL indtastes")
'Undersøger om dokumentet allerede eksisterer
Else:
sPath = "\\hjertesrv\faelles\Index Data\Journaler\"
If Dir(sPath & Cprnr & ".jou") <> "" Then
'Undersøger om Word er startet
On Error Resume Next
Set Wdapp = GetObject(, "Word.application")
If Err.Number <> 0 Then
'Ellers starter vi word
Set Wdapp = CreateObject("Word.Application")
End If
If Sheets("Config").Range("C1") = ("ss") Or Sheets("Config").Range("C1") = ("lbj") Or Sheets("Config").Range("C1") = ("rs") Or Sheets("Config").Range("C1") = ("jp") Or Sheets("Config").Range("C1") = ("tg") Or Sheets("Config").Range("C1") = ("me") Or Sheets("Config").Range("C1") = ("ssa") Or Sheets("Config").Range("C1") = ("bim") Then
Wdapp.Documents.Open sPath & Cprnr & ".jou"
'Så gør vi Word synlig så der kan skrives i kontinuationen
Wdapp.Visible = True
Else
Wdapp.Documents.Open sPath & Cprnr & ".jou", ReadOnly:=True
'Så gør vi Word synlig så der kan skrives i kontinuationen
Wdapp.Visible = True
End If
Else
Dim Msg, Style, Title, Ctxt, Response, MyString
Msg = "Skal der oprettes en ny journal?" ' Define message.
Style = vbYesNo + vbDefaultButton2 ' Define buttons.
Title = "Meddelelsesbox" ' Define title.
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
If Response = vbYes Then
If Sheets("Config").Range("C1") = ("ss") Or Sheets("Config").Range("C1") = ("lbj") Or Sheets("Config").Range("C1") = ("rs") Or Sheets("Config").Range("C1") = ("jp") Or Sheets("Config").Range("C1") = ("tg") Or Sheets("Config").Range("C1") = ("me") Or Sheets("Config").Range("C1") = ("ssa") Or Sheets("Config").Range("C1") = ("bim") Then
'Undersøger om Word er startet
On Error Resume Next
Set Wdapp = GetObject(, "Word.application")
If Err.Number <> 0 Then
'Ellers starter vi word
Set Wdapp = CreateObject("Word.Application")
'Så laver vi et nyt tomt dokument baseret på den relevante skabelon
Wdapp.Documents.Add ("\\hjertesrv\faelles\Index\dokumenter\journalskabelon\kontinuation.dot")
'Skabelonen indeholder to bogmærker i headeren. De hedder cpr og navn
'I disse bogmærker indsætter vi den variable information fra arket.
Wdapp.ActiveDocument.Bookmarks("cprnr").Range.Text = Cprnr
Wdapp.ActiveDocument.Bookmarks("Navn").Range.Text = Navn
Wdapp.ActiveDocument.Bookmarks("Hcvnr").Range.Text = Hcvnr
Wdapp.ActiveDocument.Bookmarks("Indlæggelsesdato").Range.Text = Indlæggelsesdato
'Så skal dokumentet gemmes med indholdet af cpr variable som filnavn
Wdapp.ActiveDocument.SaveAs Filename:="\\hjertesrv\faelles\Index Data\Journaler\" & Cprnr & ".jou"
'Så gør vi Word synlig så der kan skrives i kontinuationen
Wdapp.Visible = True
'Og frigiver lidt hukommelse når Word lukkes
Set Wdapp = Nothing
End If
Else
MsgBox ("Du har ikke rettighed til at oprette en journal!")
End If
End If
End If
End If
Else
MsgBox ("Du skal først logge på systemet")
End If
End Sub
Jeg håber at en eller anden kan gennemskue hvad der kan gøres.
/Steen
