lsskaarup Nybegynder
25. september 2006 - 19:59 Der er 23 kommentarer og
1 løsning

Skabeloner skal virke i både Word 2000 og 2003

Jeg har lavet 2 skabeloner der virker i Word 2000, men så fandt jeg ud af, at de ikke helt fungerede i Word 2003. Mærkeligt nok er det bare ikke samme fejl, jeg får på forskellige maskiner.

Jeg ved ikke om det er kode, eller om det er en indstilling der skal slås til, eller måske begge dele.

Men I får lige koden, jeg kan selvfølgelig ikke huske de forskellige fejl 100%, men kommer med dem i morgen.

Brevskabelon:
----------------------------------------------------------------

Public rs
Public afsName, afsTlf, afsMail, afsTitle, afsMobile, afsDistName As String
Public att As String
Public hilsen As String
Public side As String
Public sideaf As String
Public sprog As String
Public før
Public anden

Private Sub dansk_Click()
    Me.att = "Att.:"
    Me.hilsen = "Med venlig hilsen"
    Me.sprog = "dansk"
    ActiveDocument.Bookmarks("side").Select
    Selection.TypeText Text:="Side"
   
   
    ActiveDocument.Bookmarks("sideaf").Select
    Selection.TypeText Text:="af"
   
    ActiveDocument.ActiveWindow.View.Type = wdPrintView
   
End Sub

Private Sub engelsk_Click()
    Me.att = "Att.:"
    Me.hilsen = "Best regards"
    Me.sprog = "engelsk"
    ActiveDocument.Bookmarks("side").Select
    Selection.TypeText Text:="Page"
   
   
    ActiveDocument.Bookmarks("sideaf").Select
    Selection.TypeText Text:="of"
   
    ActiveDocument.ActiveWindow.View.Type = wdPrintView
End Sub

Private Sub tysk_Click()
    Me.att = "Z.Hd.:"
    Me.hilsen = "Mit freundlichen Grüssen"
    Me.side = "Seite"
    Me.sideaf = "von"
    Me.sprog = "tysk"
    ActiveDocument.Bookmarks("side").Select
    Selection.TypeText Text:="Seite"
   
   
    ActiveDocument.Bookmarks("sideaf").Select
    Selection.TypeText Text:="von"
   
    ActiveDocument.ActiveWindow.View.Type = wdPrintView
End Sub

Private Sub UserForm_Terminate()
    ActiveDocument.Close False
End Sub

Sub find_bruger()

'Tøm felter for tidligere brev
tbModtager.Text = ""
tbFirma.Text = ""
tbAdresse.Text = ""
tbBy.Text = ""
tbOverskrift.Text = ""
'TextBox1.Text = ""
'rtbBrev.Text = ""
tbModtagerTlf.Text = ""
tbModtagerMobil.Text = ""
tbModtagerFax.Text = ""

' Create the connection and command object.
Set oConnection1 = CreateObject("ADODB.Connection")
Set oCommand1 = CreateObject("ADODB.Command")
' Open the connection.
oConnection1.Provider = "ADsDSOObject"  ' This is the ADSI OLE-DB provider name
oConnection1.Open "Active Directory Provider"
' Create a command object for this connection.
Set oCommand1.ActiveConnection = oConnection1

' Compose a search string.
oCommand1.CommandText = "select sAMAccountName, distinguishedName, name, telephoneNumber, mail, title, l, mobile " & _
"from 'LDAP://server'" & _
"WHERE objectCategory='Person'" & _
"AND objectClass='user'" & _
"AND department=100" & _
"OR department=210" & _
"OR department=220" & _
"OR department=230" & _
"OR department=300" & _
"OR department=310" & _
"OR department=400" & _
"OR department=410" & _
"OR department=700"

' Execute the query.
Set rs = oCommand1.Execute


' Hvilken bruger skal markeres
Dim wshNetwork
Set wshNetwork = CreateObject("WScript.Network")
user = wshNetwork.UserName
'Domain = wshNetwork.userdomain
'computer = wshNetwork.ComputerName



'--------------------------------------
' Navigate the record set
' select the user
'--------------------------------------



While Not rs.EOF
    startBoks.cbAfsender.AddItem rs.Fields("name")
   
    If LCase(user) = LCase(rs.Fields("sAMAccountName")) Then
        For i = 0 To cbAfsender.ListCount - 1
          If cbAfsender.List(i) = rs.Fields("name") Then
                cbAfsender.ListIndex = i
                Exit For
            End If
        Next
    End If
   
  '  Debug.Print rs.Fields("sAMAccountName")
  ' Debug.Print rs.Fields("name") & ", " & rs.Fields("telephoneNumber") & ", " & rs.Fields("mail") & ", " & rs.Fields("title") & ", " & rs.Fields("facsimileTelephoneNumber") & ", " & rs.Fields("mobile") & ", ---- " & rs.Fields("distinguishedName")
    rs.MoveNext
Wend



End Sub

Private Sub cbAfsender_Change()
rs.MoveFirst
Dim found As Boolean

found = False

While (Not found) And (Not rs.EOF)
  If LCase(cbAfsender.Value) = LCase(rs.Fields("name")) Then
    found = True

    Me.afsName = rs.Fields("name")
    Me.afsTlf = rs.Fields("telephoneNumber")
    Me.afsMail = rs.Fields("mail")
  ' Me.afsTitle = rs.Fields("title")
    Me.afsMobile = rs.Fields("mobile")
    Me.afsDistName = rs.Fields("distinguishedName")
   
   
    Dim strAfsender As String
   
    If Not IsNull(Me.afsName) Then
   
        strAfsender = Me.afsName
   
    End If
   
    'If Not IsNull(Me.afsTitle) Then
   
    '  strAfsender = strAfsender & vbCrLf & Me.afsTitle
   
    'End If
   
    If Not IsNull(Me.afsMail) Then
   
        strAfsender = strAfsender & vbCrLf & Me.afsMail
   
    End If
   
    If Not IsNull(Me.afsTlf) Then
   
        strAfsender = strAfsender & vbCrLf & Me.afsTlf
   
    End If
   
    If Not IsNull(Me.afsMobile) Then
   
        strAfsender = strAfsender & vbCrLf & Me.afsMobile
   
    End If
   
   
    Me.tbAfsenderdata = strAfsender
                     
  End If
 
  rs.MoveNext
Wend

End Sub


Private Sub cdAnnuller_Click()
If MsgBox("Vil du lukke uden at oprette og gemme brevet?", vbYesNo, "Lukke dokument") = vbYes Then
    startBoks.Hide
    ActiveWindow.Close SaveChanges:=False
End If
End Sub

Private Sub opret_Click()

On Error Resume Next:

    'afsender
    Dim strAfsender As String
       
    If Not IsNull(Me.afsName) Then
   
        strAfsender = Me.afsName & vbCrLf
   
    End If
   
    'If Not IsNull(Me.afsTitle) Then
   
    '  strAfsender = strAfsender & vbCrLf & Me.afsTitle
   
    'End If
   
    If Not IsNull(Me.afsTlf) Then
   
        strAfsender = strAfsender & vbCrLf & "Direkte tel.: " & Me.afsTlf
   
    End If
   
    If Not IsNull(Me.afsMobile) Then
   
        strAfsender = strAfsender & vbCrLf & "Mobil tlf.: " & Me.afsMobile
   
    End If
   
    If Not IsNull(Me.afsMail) Then
   
        strAfsender = strAfsender & vbCrLf & Me.afsMail
   
    End If
   
    'ActiveDocument.FormFields("afsender").Range.Text = strAfsender
    'ActiveDocument.FormFields("afsender").Range.Text = Replace(strAfsender, vbCrLf & vbCrLf, "")

    'Tjek for om alle nødvendige modtagerinfo er udfyldt, ellers oprettes dokumentet ikke.
    If startBoks.tbFirma.Value = "" Then
        MsgBox "Du har ikke udfyldt firmanavnet"
    ElseIf startBoks.tbAdresse.Value = "" Then
        MsgBox "Du har ikke udfyldt firmaadressen"
    ElseIf startBoks.tbBy.Value = "" Then
        MsgBox "Du har ikke udfyldt postnr. og/eller by"
    ElseIf startBoks.tbModtager.Value = "" Then
        MsgBox "Du har ikke udfyldt modtageren af brevet"
    ElseIf startBoks.tbOverskrift.Value = "" Then
        MsgBox "Du har ikke givet brevet en overskrift"
    'ElseIf startBoks.TextBox1.Value = "" Then
    '  MsgBox "Du har ikke skrevet selve brevet"
    ElseIf sprog = "" Then
        MsgBox "Du har ikke valgt et sprog til stavekontrollen"
    ElseIf sprog = "" Then
            MsgBox "Du har ikke valgt et sprog til stavekontrollen"
    Else
    'End If
   
        Set Range = ActiveDocument.Range
        If sprog = "dansk" Then
            Range.LanguageID = wdDanish
        ElseIf sprog = "engelsk" Then
            Range.LanguageID = wdEnglishUK
        ElseIf sprog = "tysk" Then
            Range.LanguageID = wdGerman
        End If
        'ElseIf sprog = "" Then
         
       
        'If Not IsNull(sprog) Then
       
            'side -> Da formular-felter ikke kan laves i sidehoved/fod ligger de i selve dokumentet.
            'ActiveDocument.FormFields("side").Range.Text = side
            'ActiveDocument.FormFields("af").Range.Text = sideaf
       
            'hilsen
            ActiveDocument.FormFields("hilsen").Range.Text = hilsen
       
            'afsender
            ActiveDocument.FormFields("afsender").Range.Text = strAfsender
   
            'modtagerfimra
            Dim strModtager As String
            strModtager = startBoks.tbFirma.Value & vbCrLf & startBoks.tbAdresse.Value & vbCrLf _
            & startBoks.tbBy.Value
   
            ActiveDocument.FormFields("modtager").Range.Text = strModtager
   
            'modtagerperson
            ActiveDocument.FormFields("person").Range.Text = att & " " & startBoks.tbModtager.Value

            'modtagertlf
            ActiveDocument.FormFields("modtagerTlf").Range.Text = startBoks.tbModtagerTlf.Value

            'modtagerfax
            ActiveDocument.FormFields("modtagerFax").Range.Text = startBoks.tbModtagerFax.Value

            'modtagermobil
            ActiveDocument.FormFields("modtagerMobil").Range.Text = startBoks.tbModtagerMobil.Value

            'overskrift
            ActiveDocument.FormFields("overskrift").Range.Text = startBoks.tbOverskrift.Value

            'brev
            'ActiveDocument.FormFields("brev").Range.Text = startBoks.TextBox1.Text
     
            'Skjuler formen
            startBoks.Hide
           
            ActiveDocument.ActiveWindow.View.Type = wdPrintView
           
            'Udføre stavekontrol
            Range.CheckSpelling
           
            'Sætte Word til automatisk at detektere sproget, hvis der skrives mere
            Application.CheckLanguage = True
           
            'Gem dokument
            ActiveDocument.Save
           
            ' Skifter til udskriftslayout og sidebredde
            ActiveDocument.ActiveWindow.View.Type = wdPrintView
            ActiveDocument.ActivePane.View.Zoom.PageFit = wdPageFitBestFit
        End If
       
    'End If
End Sub


Fax:
----------------------------------------------------------------

Public rs
Public afsName, afsTlf, afsMail, afsTitle, afsMobile, afsDistName As String
Public att As String
Public hilsen As String
Public side As String
Public sideaf As String
Public sprog As String
Public før
Public anden

Private Sub cbInformation_Click()

End Sub

Private Sub dansk_Click()
    Me.att = "Att.:"
    Me.hilsen = "Med venlig hilsen"
    Me.sprog = "dansk"

    ActiveDocument.ActiveWindow.View.Type = wdPrintView
   
End Sub

Private Sub engelsk_Click()
    Me.att = "Att.:"
    Me.hilsen = "Best regards"
    Me.sprog = "engelsk"
 
    ActiveDocument.ActiveWindow.View.Type = wdPrintView
End Sub

Private Sub tysk_Click()
    Me.att = "Z.Hd.:"
    Me.hilsen = "Mit freundlichen Grüssen"
    Me.side = "Seite"
    Me.sideaf = "von"
    Me.sprog = "tysk"
   
    ActiveDocument.ActiveWindow.View.Type = wdPrintView
End Sub

Private Sub UserForm_Terminate()
    ActiveDocument.Close False
End Sub

Sub find_bruger()

'Tøm felter for tidligere brev
tbModtager.Text = ""
tbAtt.Text = ""
'tbOverskrift.Text = ""
tbModtagerFax.Text = ""
tbSidetal = ""
tbModtagerFax = ""
cbGennemsyn = False
cbVigtigt = False
cbSvar = False
cbKommentar = False
cbInformation = False
dansk = False
engelsk = False
tysk = False

' Create the connection and command object.
Set oConnection1 = CreateObject("ADODB.Connection")
Set oCommand1 = CreateObject("ADODB.Command")
' Open the connection.
oConnection1.Provider = "ADsDSOObject"  ' This is the ADSI OLE-DB provider name
oConnection1.Open "Active Directory Provider"
' Create a command object for this connection.
Set oCommand1.ActiveConnection = oConnection1

' Compose a search string.
oCommand1.CommandText = "select sAMAccountName, distinguishedName, name, telephoneNumber, mail, title, l, mobile " & _
"from 'LDAP://srv-exch'" & _
"WHERE objectCategory='Person'" & _
"AND objectClass='user'" & _
"AND department=100" & _
"OR department=210" & _
"OR department=220" & _
"OR department=230" & _
"OR department=300" & _
"OR department=310" & _
"OR department=400" & _
"OR department=410" & _
"OR department=700"

' Execute the query.
Set rs = oCommand1.Execute


' Hvilken bruger skal markeres
Dim wshNetwork
Set wshNetwork = CreateObject("WScript.Network")
user = wshNetwork.UserName
'Domain = wshNetwork.userdomain
'computer = wshNetwork.ComputerName



'--------------------------------------
' Navigate the record set
' select the user
'--------------------------------------



While Not rs.EOF
    faxStartBoks.cbAfsender.AddItem rs.Fields("name")
   
    If LCase(user) = LCase(rs.Fields("sAMAccountName")) Then
        For i = 0 To cbAfsender.ListCount - 1
          If cbAfsender.List(i) = rs.Fields("name") Then
                cbAfsender.ListIndex = i
                Exit For
            End If
        Next
    End If
   
  '  Debug.Print rs.Fields("sAMAccountName")
  ' Debug.Print rs.Fields("name") & ", " & rs.Fields("telephoneNumber") & ", " & rs.Fields("mail") & ", " & rs.Fields("title") & ", " & rs.Fields("facsimileTelephoneNumber") & ", " & rs.Fields("mobile") & ", ---- " & rs.Fields("distinguishedName")
    rs.MoveNext
Wend



End Sub

Private Sub cbAfsender_Change()
rs.MoveFirst
Dim found As Boolean

found = False

While (Not found) And (Not rs.EOF)
    If LCase(cbAfsender.Value) = LCase(rs.Fields("name")) Then
        found = True

        Me.afsName = rs.Fields("name")
        Me.afsTlf = rs.Fields("telephoneNumber")
        Me.afsMail = rs.Fields("mail")
        ' Me.afsTitle = rs.Fields("title")
        Me.afsMobile = rs.Fields("mobile")
        Me.afsDistName = rs.Fields("distinguishedName")
   
        Dim strAfsender As String
   
        If Not IsNull(Me.afsName) Then
   
            strAfsender = Me.afsName
   
        End If
   
        'If Not IsNull(Me.afsTitle) Then
   
            '  strAfsender = strAfsender & vbCrLf & Me.afsTitle
   
        'End If
   
        If Not IsNull(Me.afsMail) Then
   
            strAfsender = strAfsender & vbCrLf & Me.afsMail
   
        End If
   
        If Not IsNull(Me.afsTlf) Then
   
            strAfsender = strAfsender & vbCrLf & Me.afsTlf
   
        End If
   
        If Not IsNull(Me.afsMobile) Then
   
            strAfsender = strAfsender & vbCrLf & Me.afsMobile
   
        End If
   
        Me.tbAfsenderdata = strAfsender
                     
    End If
 
  rs.MoveNext
Wend

End Sub


Private Sub cdAnnuller_Click()
If MsgBox("Vil du lukke uden at oprette og gemme brevet?", vbYesNo, "Lukke dokument") = vbYes Then
    faxStartBoks.Hide
    ActiveWindow.Close SaveChanges:=False
End If
End Sub

Private Sub opret_Click()

On Error Resume Next:

    'afsender
    Dim strAfsender As String
       
    If Not IsNull(Me.afsName) Then
   
        strAfsender = Me.afsName
   
    End If
   
    If Not IsNull(Me.afsTlf) Then
   
        strAfsender = strAfsender & vbCrLf & "Direkte tel.: " & Me.afsTlf
   
    End If
   
    If Not IsNull(Me.afsMobile) Then
   
        strAfsender = strAfsender & vbCrLf & "Mobil tlf.: " & Me.afsMobile
   
    End If
   
    If Not IsNull(Me.afsMail) Then
   
        strAfsender = strAfsender & vbCrLf & "Mail: " & Me.afsMail
   
    End If
   
    'Fobian kode start
    Dim Mangler As String
    'Tjek for om alle nødvendige modtagerinfo er udfyldt, ellers oprettes dokumentet ikke.
    If faxStartBoks.tbAtt.Value = "" Then Mangler = "Du har ikke udfyldt attention-feltet"
    If faxStartBoks.tbModtager.Value = "" Then Mangler = Mangler & vbLf & "Du har ikke udfyldt modtageren af faxen"
    If faxStartBoks.tbModtagerFax.Value = "" Then Mangler = Mangler & vbLf & "Du har glemte at udfylde fax-nr"
   
    If faxStartBoks.cbVigtigt.Value = False _
    And faxStartBoks.cbSvar.Value = False _
    And faxStartBoks.cbKommentar.Value = False _
    And faxStartBoks.cbGennemsyn.Value = False _
    And faxStartBoks.cbInformation.Value = False _
    Then Mangler = Mangler & vbLf & "Du har ikke udfyldt én af følgende 5 punkter: Vigtigt, Svar udbedes, Kommetar udbedes, Til gennemsyn eller Til information."
   
    If faxStartBoks.tbSidetal.Value = "" Then Mangler = Mangler & vbLf & "Du har ikke udfyldt sideantallet"
  ' ElseIf sprog = "" Then
    '    MsgBox "Du har ikke valgt et sprog til stavekontrollen"
    If Mangler <> "" Then
        MsgBox Mangler
    'Fobian kode slut
   
    Else
    'End If
   
        Set Range = ActiveDocument.Range
        If sprog = "dansk" Then
            Range.LanguageID = wdDanish
        ElseIf sprog = "engelsk" Then
            Range.LanguageID = wdEnglishUK
        ElseIf sprog = "tysk" Then
            Range.LanguageID = wdGerman
        End If
       
        'MsgBox "Test"
       
        ' Checkboxene
        If cbGennemsyn.Value = True Then
            ActiveDocument.FormFields("gennemsyn").CheckBox.Value = Checked
        End If
           
        If cbKommentar.Value = True Then
            ActiveDocument.FormFields("kommentar").CheckBox.Value = Checked
        End If
           
        If cbInformation.Value = True Then
            ActiveDocument.FormFields("information").CheckBox.Value = Checked
        End If
   
        If cbSvar.Value = True Then
            ActiveDocument.FormFields("svar").CheckBox.Value = Checked
        End If
       
        If cbVigtigt.Value = True Then
            ActiveDocument.FormFields("vigtigt").CheckBox.Value = Checked
        End If
       
        'hilsen
        ActiveDocument.FormFields("hilsen").Range.Text = hilsen
       
        'afsender
        ActiveDocument.FormFields("afsender").Range.Text = strAfsender
       
        'fra
        ActiveDocument.FormFields("fra").Range.Text = Me.afsName
   
        'modtagerfimra
        Dim strModtager As String
        strModtager = faxStartBoks.tbModtager.Value
        ActiveDocument.FormFields("modtager").Range.Text = strModtager
   
        'modtagerperson
        ActiveDocument.FormFields("att").Range.Text = faxStartBoks.tbAtt.Value

        'Vedrørende/overskrift
        ' ActiveDocument.FormFields("overskrift").Range.Text = faxStartBoks.tbOverskrift.Value

        'modtagerfax
        ActiveDocument.FormFields("fax").Range.Text = faxStartBoks.tbModtagerFax.Value

        'brev
        'ActiveDocument.FormFields("tekst").Range.Text = faxStartBoks.tbFax.Text
     
        'side
        ActiveDocument.FormFields("sideantal").Range.Text = faxStartBoks.tbSidetal.Text
     
        'Skjuler formen
        faxStartBoks.Hide
           
        ActiveDocument.ActiveWindow.View.Type = wdPrintView
           
        'Udføre stavekontrol
        Range.CheckSpelling
           
        'Sætte Word til automatisk at detektere sproget, hvis der skrives mere
        Application.CheckLanguage = True
           
        'Gem dokument
        ActiveDocument.Save
           
        ActiveDocument.ActiveWindow.View.Type = wdPrintView
   
        ActiveDocument.Protect Type:=wdAllowOnlyFormFields, NoReset:=True, Password:="skabelon"
   
    End If
End Sub

----------------------------------------------------------------

Pointene bliver fordelt lige mellem de 2 skabeloner.
rvm Nybegynder
25. september 2006 - 22:33 #1
Nu har du jo som du skriver ikke beskrevet fejlene, så mit svar er lidt i blinde, men....

En af forskellene på de 2 versioner er måden de arbejder sammen med databasen på - henholdsvis DAO (2003) og ADO (2000), så din kode skulle faktisk have problemer med tilgangen til databasen i 2003, da du bruger ADO. Hvis det er det der er dit problem, så må du lave lidt versionscheck, med dertil hørende kode op mod databasen.
lsskaarup Nybegynder
25. september 2006 - 23:07 #2
Okay, men som sagt så kommer jeg med fejlene i morgen. Jeg har for en godt stund 2 maskiner og kan teste på, men henholdsvis 2000 og 2003.

En fejl jeg kan huske, er i brevet, hvor stavekontrollen ikke bliver kørt i 2003, sandsynligvis heller ikke i faxen, men den døede inden jeg kom så langt.
lsskaarup Nybegynder
26. september 2006 - 08:49 #3
Okay, fejl-status

Brev:
Hmm, på mine test-maskiner får jeg ingen af de fejl, jeg har set på andre maskiner... ?-|
Nå, men når brevet er blevet oprettet, står fokus i sidefoden og ikke i selve brevet. Lukekr jeg sidefoden hopper den til Normal-visning. Den skal stå i udskriftslayout.

Den springer til sidefoden, idet jeg vælger sprog, måske det provokere den til noget. Samtidig er dokumentet ikke låst, jeg har lavet det sådan at folk efterfølgende kun skal skrive i nogle formular-felter.

Det gælder for dem begge.
lsskaarup Nybegynder
26. september 2006 - 08:53 #4
Fax:
2000:
Jeg får en fejl i følgende linie

Elseif faxStartBoks.tbSidetal.Value = "" Then

fejlen er "Compile error: Else without If"

Mærkeligt, når jeg tidligere har haft dem begge til at køre i 2000

2003:
Samme fejl som ved 2000


Hmm, jeg tror lige jeg skal have testet dem på nogle andre maskiner også, vender lige tilbage.
lsskaarup Nybegynder
26. september 2006 - 13:22 #5
Okay, har prøvet på 2 andre 2003 maskiner, og der sker de samme ting.
lsskaarup Nybegynder
26. september 2006 - 13:57 #6
For dælen, nu har jeg prøvet begge skabeloner på en 3. 2003 maskine, og får samme fejl på begge.

Run-time error '3021'

Enten er BOF eller EOF sand, eller den aktuelle post er blevet slettet.
Den anmodede handling kræver en aktuel post.
lsskaarup Nybegynder
26. september 2006 - 16:26 #7
For at opsummere.

Brev:
Skal tilpasses, så den ikke springer i visninger og skal hoppe ud af sidefoden.
Finde ud af hvorfor får jeg fejl 3021 på en enkelt maskine (indtil videre)

Fax:
Finde ud af hvorfor får jeg fejl 3021 på en enkelt maskine (indtil videre)
lsskaarup Nybegynder
27. september 2006 - 22:03 #8
Jeg ville gerne hvis der var nogle som kunne hjælpe mig med dette snarest, da jeg kun har den ene test maskine til fuld rådighed til og med fredag.
rvm Nybegynder
28. september 2006 - 10:35 #9
Angående Brev og visning:
Optag med makrooptagerne, at du går til den rette visning og indsæte det i din kode, de steder, hvor der er brug for det.
lsskaarup Nybegynder
28. september 2006 - 14:52 #10
Selvfølgelig, hvorfor tænkte jeg ikke selv på det, nu mangler jeg sådan set bare at beskytte dokumentet.
lsskaarup Nybegynder
28. september 2006 - 15:47 #11
Er det ikke nok at skrive

ActiveDocument.Protect Type:=wdAllowOnlyFormFields, NoReset:=True, Password:=******

sidst i koden, for at få låse dokumentet?

Det bliver nemlig ikke låst.
rvm Nybegynder
28. september 2006 - 18:49 #12
Jeg plejer at skrive således:

If ActiveDocument.ProtectionType = wdNoProtection Then
    ActiveDocument.Protect Type:=wdAllowOnlyFormFields, NoReset:=True, Password:="1234"
end if
lsskaarup Nybegynder
29. september 2006 - 11:45 #13
Okay, nu er de der sådan, dog driller faxen jeg lidt.

Jeg kan ikke få den til automatisk at køre stavekontrollen i Office 2000. I Office 2003 kører den godt nok.

Koden er den samme som for brevet, hvor det virker på begge versioner...

        If Options.CheckGrammarWithSpelling = True Then
            ActiveDocument.CheckGrammar
        Else
            ActiveDocument.CheckSpelling
        End If
rvm Nybegynder
02. oktober 2006 - 18:48 #14
Det ser fint ud hmm - er du sikkker på at dokumentet ikke er skrivebeskyttet?
lsskaarup Nybegynder
02. oktober 2006 - 19:42 #15
Neeej, det er jeg ikke, men synes bare det er lidt mærkeligt, hvis det skulle være det der gjorde, for så burde den vel heller ikke virke ordentligt i 2003-versionen?
lsskaarup Nybegynder
03. oktober 2006 - 09:01 #16
Nej, de er ikke skrivebeskyttet.
rvm Nybegynder
03. oktober 2006 - 09:37 #17
Så skulle det virke... Men prøv forøvrigt lige at se om faxen er sat til at tjekke grammatik - for så tjekker den ikke stavningen - ifølge din kode.
lsskaarup Nybegynder
04. oktober 2006 - 08:37 #18
Øh, hvor går jeg det henne?

Funktioner -> Indstillinger er vel for hele Word og ikke kun den aktuelle fil.
rvm Nybegynder
04. oktober 2006 - 10:53 #19
Funktioner/Sprog/Angiv sprog - gælder for filen
lsskaarup Nybegynder
05. oktober 2006 - 09:37 #20
Den er også ens for begge filer.

Kontroller ikke staving og grammatik - er ikke slået til
Find sprog automatisk - er slået til

Det bliver da mere og mere mærkeligt.
lsskaarup Nybegynder
23. november 2006 - 16:21 #21
Nå dette spg er efter hånden lidt gammelt, du skulle ikke have andre ideer?
rvm Nybegynder
23. november 2006 - 16:38 #22
Nej - kikkede lige på det igen, men vi er jo kommet godt rundt om emnet...

Nu har jeg ikke lige Word 2000 installeret på denne computer, men måske er skal koden være forskellig i de 2 versioner (kan ikke lige huske, hvornår den danske grammatikkontrol blev indført)
lsskaarup Nybegynder
25. februar 2008 - 14:24 #23
Det er vist lukketid. Vi er mere eller mindre gået over til Office 2007, så reelt fik vi ikke løst problemet, dog skal du ikke snydes for point.

Smid et svar.
rvm Nybegynder
25. februar 2008 - 14:48 #24
Her er et svar :-)
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

Opret Preview

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





Computerworld
Jens Højgaard skrev negativ anmeldelse på Trustpilot - nu er han blevet sagsøgt for 11.419 kroner
En negativ anmeldelse på Trustpilot om et inkassofirma har indtil videre kostet den selvstændige hvidevare-reparatør Jens Høgni Højgaard flere tusinde kroner og en tur i retten. Forklaringen er, at inkassofirmaet har forbudt kunder at udtale sig negativt i offentlighed om selskabet.
CIO
Lille it-virksomhed med 18 ansatte: "Sådan vinder vi de offentlige udbudsopgaver"
Hvis man er lille og vågen, kan man sagtens hugge de udbudsopgaver, der tidligere gik til de store firmaer. På et enkelt år er der næsten sket en fordobling i antallet af virksomheder under 20 personer, som vinder udbudsopgaver. Her kan du møde en af dem.
Comon
Så nemt installerer du en "ren" Windows 10 uden crapware
De fleste nye computere kommer med præ-installerede programmer, der kan gøre din computer langsom. Læs her, hvordan du let installerer Windows 10 uden crapware.
Channelworld
Overblik: Det ved vi efter første retsmøde i den store Atea-bestikkelsessag
Den første sag om bestikkelse af offentlige ansatte kører i disse dage, hvor offentlige ansatte anklages for at have modtaget bestikkelse fra it-giganten Atea.
White paper
Sådan får du et bæredygtigt support- og vedligeholdelsessetup
Hvorfor investere i support og vedligeholdelse af din Microsoft Dynamics platform? I dette white paper får du svaret.