17. november 2006 - 18:41Der er
3 kommentarer og 1 løsning
Eksterne værdier hentet i Word - Dropdown
Jeg har en word-fil jeg bruger til at låne playstationspil ud i en institution. Wordfilen er altså en 'lånekontrakt', hvor låneren skriver under på, at han har lånt netop det spil.
De spil der er på listen har indtil nu bare stået på sedlen, men der er efterhånden så mange, at jeg gerne vil gøre det smartere.
Jeg drømmer om at man kan lave en dropdown-liste med spillene. De data der skal være i den liste, havde jeg forestillet mig skulle ligge i en ekstern tekst-fil og derfra blive 'hentet' over i word-filen, således at ved ændring af spiludvalg, kan man nøjes med at rette i tekst-filen.
Lød det lidt for langhåret? Jeg vil gerne forklare yderligere og endda sende lånekontrakten jeg bruger pr. mail, hvis nogen vil se hvad jeg mener.
Koden i den til skabelonen tilknyttede Userform: Dim sti, antalUdlån Private Sub testFelter() If Me.CelleNr <> "" And _ Me.Navn <> "" And _ Me.Cpr <> "" And _ Me.MaskineNr <> "" And _ Me.AntalController <> "" Then Me.ListBox1.Enabled = True Me.CommandButton1.Enabled = True Else Me.ListBox1.Enabled = False Me.CommandButton1.Enabled = False End If End Sub Private Sub CelleNr_Change() testFelter End Sub Private Sub Navn_Change() testFelter End Sub Private Sub Cpr_Change() testFelter End Sub Private Sub UdlåntAf_Change() testFelter End Sub Private Sub MaskineNr_Change() testFelter End Sub Private Sub AntalController_Change() testFelter End Sub Private Sub CommandButton1_Click() Dim dokRække dokRække = 1
Rem Indsæt spil-titler For f = 0 To ListBox1.ListCount - 1 If ListBox1.Selected(f) = True Then With ActiveDocument.Tables(1) .Rows(dokRække).Select Selection.TypeText Text:=ListBox1.List(f) dokRække = dokRække + 1 End With End If Next f ActiveDocument.Protect Type:=wdAllowOnlyFormFields, NoReset:=True
Unload UserForm1 End Sub Private Sub CommandButton2_Click() Unload UserForm1 End Sub Private Sub ListBox1_Change() If ListBox1.Selected(ListBox1.ListIndex) = True Then If antalUdlån < 2 Then antalUdlån = antalUdlån + 1 Else MsgBox ("Der er nu udlånt 2 spil! - du må fravælge et, hvis du vil vælge et andet") ListBox1.Selected(ListBox1.ListIndex) = False antalUdlån = antalUdlån + 1 End If Else If antalUdlån > 0 Then antalUdlån = antalUdlån - 1 End If End If End Sub Private Sub UserForm_activate() findSti indlæsPS2spil
For f = 1 To ActiveDocument.FormFields("rulleliste3").DropDown.ListEntries.Count Me.MaskineNr.AddItem f Next f
For f = 1 To ActiveDocument.FormFields("rulleliste2").DropDown.ListEntries.Count Me.AntalController.AddItem f Next f
Me.MaskineNr = "" Me.AntalController = ""
Me.CelleNr.SetFocus End Sub Private Sub findSti() sti = ActiveDocument.AttachedTemplate.Path If Right(sti, 1) <> "\" Then sti = sti + "\" End If End Sub Private Sub indlæsPS2spil() Dim titel As String Open sti + "ps2_spil.txt" For Input As #1 While Not EOF(1) Input #1, titel Me.ListBox1.AddItem titel Wend Close #1 End Sub
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.