Avatar billede arnbjerg Nybegynder
16. december 2010 - 08:18 Der er 2 kommentarer og
1 løsning

Template

Hej

Jeg vil gerne lave en template, hvor brugeren skal indtaste eksempelvis navn, adresse m.m. i en popup, når man vælger templaten til sit dokument. Jeg har forstået at det er noget med at indsætte bookmarks i dokumentet og lave en kode i Visual Basic, men jeg kan simpelthen ikke få det til at virke. Måske ved jeg bare ikke hvad jeg skal søge på? Er der nogen der kan hjælpe mig med at finde en god tutorial eller andet, hvor jeg kan lære hvordan jeg gør?
Avatar billede supertekst Ekspert
16. december 2010 - 08:56 #1
Hvis du sender en mail - kan jeg returnere et lille eksempel.
@-adresse under profil.
Avatar billede arnbjerg Nybegynder
16. december 2010 - 09:12 #2
bp@arbjerg.eu
Avatar billede supertekst Ekspert
16. december 2010 - 13:46 #3
VBA koden i skabelonens Userform:

Const maxH = 201.75
Const minH = 44

Const hvid = &H80000005
Const rød = &HC0C0FF

Dim brevDato As Date
Private Sub Cb_gemLuk_Click()
    gemDokument
    Unload UserForm1
End Sub
Private Sub Cb_minimerMaksimer_Click()
    minimerMaksimer
End Sub
Private Sub minimerMaksimer()
    If Me.Height = maxH Then
        Me.Height = minH
    Else
        Me.Height = maxH
    End If
End Sub
Private Sub Cb_udfør_Click()
    If kontrolAfFelter = True Then
        Me.Cb_udfør.Enabled = False
       
        opbygTilbud
        minimerMaksimer
    Else
        Me.Cb_udfør.Enabled = True
    End If
End Sub
Private Sub Ch_visBogmærker_Click()
    skalBogmærkerVises
End Sub
Private Sub skalBogmærkerVises()
    If Me.Ch_visBogmærker.Value = False Then
        ActiveWindow.View.ShowBookmarks = False
    Else
        ActiveWindow.View.ShowBookmarks = True
    End If
End Sub
Private Sub SpinButton1_spinup()
    brevDato = DateAdd("d", 1, brevDato)
    Me.Tb_dato = Format(brevDato, "dd. mmmm yyyy")
End Sub
Private Sub SpinButton1_spindown()
    brevDato = DateAdd("d", -1, brevDato)
    d = Day(brevDato)
    d2 = Day(Now)
   
    If d >= d2 Then
        Me.Tb_dato = Format(brevDato, "dd. mmmm yyyy")
    Else
        brevDato = Now
    End If
End Sub
Private Sub optælFejl()
Dim cc As Control
    For Each cc In UserForm1.Controls
        If InStr(LCase(cc.Name), "lab") = 0 Then
            If cc.BackColor = rød Then
                Me.Cb_udfør.Enabled = False
                Exit Sub
            Else
                Me.Cb_udfør.Enabled = True
            End If
        End If
    Next cc
End Sub
Rem \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Private Function kontrolAfFelt(felt As Object)
Dim kontrolArt As String, ok As Boolean
    kontrolArt = felt.Tag
    If kontrolArt = "" Then
        If felt.Text <> "" Then
            ok = True
        Else
            ok = False
        End If
    Else
        If kontrolArt = "n" Then
            If IsNumeric(felt) = True Then
                ok = True
            Else
                ok = False
            End If
        End If
    End If
   
    If ok = False Then
        felt.BackColor = rød
    Else
        If felt.BackColor = rød Then
            felt.BackColor = hvid
        End If
    End If
   
    'optælFejl
   
    kontrolAfFelt = ok
End Function
Private Function kontrolAfFelter()
Dim cc As Control
    kontrolAfFelter = True
   
    For Each cc In UserForm1.Controls
        If cc.Visible = True And cc.Enabled = True And _
            InStr(LCase(cc.Name), "lab") = 0 And _
                InStr(LCase(cc.Name), "ch") = 0 And _
                    InStr(LCase(cc.Name), "cb") = 0 And _
                        InStr(LCase(cc.Name), "spin") = 0 And _
                            cc.Enabled = True Then
                            If kontrolAfFelt(cc) = False Then
                                kontrolAfFelter = False
                            End If
        End If
    Next cc
End Function
Private Sub userform_activate()
    Me.Tb_dato = Format(Now, "dd. mmmm yyyy")
    brevDato = Now
       
    Me.Tb_modtager.SetFocus
   
    skalBogmærkerVises
End Sub
Private Sub opbygTilbud()
    Application.ScreenUpdating = False

    indsætBogmærke "modtager", Me.Tb_modtager
    indsætBogmærke "adresse", Me.Tb_adresse
    indsætBogmærke "postnrBy", Me.Tb_postnr & " " & Me.Tb_by
    indsætBogmærke "att", Me.Tb_att
   
    Me.Tb_dato = Format(Now, "dd. mmmm yyyy")
    indsætBogmærke "dato", Me.Tb_dato

Rem Gå til start af dokument
    Selection.HomeKey Unit:=wdStory
   
    Application.ScreenUpdating = True
End Sub
Private Sub indsætBogmærke(bm, tekst)
    ActiveDocument.Bookmarks(bm).Select
    Selection.TypeText Text:=tekst
End Sub
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
Tag et kursus i Word og øg effektiviteten

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