24. juli 2012 - 10:47
Der er
3 kommentarer og
1 løsning
Optionsbuttons på multipage - userform
Word 2010
På en userform har jeg en multipage med rigtig mange optionsbuttons (knapper). Ved hver knap står der et navn, som er stien til et dokument (en wordfil i en mappe). Kan man bruge "caption på optionbutton" som "value" til at åbne pågældende fil, da det vil spare mig for en del arbejde. Kan man også sætte en makro til at vælge den af knapperne (ca. 50), som er aktiveret.
06. august 2012 - 13:28
#4
Supertekst har sendt et svar.
Lægger du et svar og tak for hjælpen.
Private Sub xHvem()
Const hovedSti = "C:\Users\osv."
Dim knapCaption As String
knapCaption = Me.MultiPage1.Pages(Me.MultiPage1.Value).ActiveControl.Caption 'filnavn
Unload Me
ChangeFileOpenDirectory hovedSti
Documents.Open FileName:=knapCaption & ".docx", _
ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
wdOpenFormatAuto, XMLTransform:=""
End Sub
Private Sub AnnullerTryk_Click()
Unload Me
End Sub
Private Sub OkTryk_Click()
Application.ScreenUpdating = False
For i = 1 To 90 'Antal optionbutton
If Controls("Optionbutton" & i).Value = True Then
xHvem
filErValgt
Exit Sub
End If
Next i
MsgBox "Fil er ikke valgt"
End Sub
Private Sub filErValgt()
Unload Me
'åbn logfil
ChangeFileOpenDirectory "C:\Users\osv.\"
Documents.Open FileName:="Logfil.docm", Visible:=False, ConfirmConversions:= _
False, ReadOnly:=False, AddToRecentFiles:=False, PasswordDocument:="", _
PasswordTemplate:="", Revert:=False, WritePasswordDocument:="", _
WritePasswordTemplate:="", Format:=wdOpenFormatAuto, XMLTransform:=""
Windows("Logfil.docm").Activate
'Gå til bogmærke
Selection.GoTo What:=wdGoToBookmark, Name:="Dato"
'Indsæt ny række
Selection.InsertRowsBelow 1
'Gå til bogmærke
Selection.GoTo What:=wdGoToBookmark, Name:="Dato"
'Gå i ny række
Selection.MoveDown Unit:=wdLine, count:=1
Selection.Text = Dato.Text
'Næste celle i rækken
Selection.SelectCell
Selection.MoveRight Unit:=wdCharacter, count:=1
'Navn
Selection.Text = Navn.Text
'Næste celle i rækken
Selection.SelectCell
Selection.MoveRight Unit:=wdCharacter, count:=1
'Kommentar
Selection.Text = Kommentar.Text
'Luk logfil
ActiveDocument.Save
ActiveDocument.Close
Application.ScreenUpdating = True
End Sub
Private Sub UserForm_Initialize()
Me.Dato.Text = Format(Date, "dd-mm-yyyy")
Me.Navn.Text = Application.UserName
End Sub