Results 1 to 5 of 5
  1. #1
    2 Star Lounger
    Join Date
    Apr 2003
    Location
    England
    Posts
    124
    Thanks
    0
    Thanked 0 Times in 0 Posts

    drop down listbox (office2000)

    can any one point me in the right direction on how to create a drop down list with say 6 x items

  2. #2
    Plutonium Lounger
    Join Date
    Nov 2001
    Posts
    10,550
    Thanks
    0
    Thanked 7 Times in 7 Posts

    Re: drop down listbox (office2000)

    Is this in a VBA userform or a Word formfield?

    Assuming it is the formfield and you want to create it interactively then...
    <UL><LI>Show the forms toolbar
    <LI>Click the drop down form field tool
    <LI>Right click the new form field and select Properties
    <LI>Type the text for the first entry in the Drop down item: box
    <LI>Click the Add button
    <LI>Now add the next five items the same way
    <LI>Click OK
    <LI>From the Tools menu select Protect Document, click the Forms radio button and OK[/list]StuartR

  3. #3
    2 Star Lounger
    Join Date
    Apr 2003
    Location
    England
    Posts
    124
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Re: drop down listbox (office2000)

    i thank you for a quick response, i have already tried what you have suggested . Unfortunately it isn't what i am looking for. i am working on a vba userform, which i should have mentioned, and for which i appologise.
    all and any help is appreciated.

  4. #4
    Plutonium Lounger
    Join Date
    Nov 2001
    Posts
    10,550
    Thanks
    0
    Thanked 7 Times in 7 Posts

    Re: drop down listbox (office2000)

    The easiest thing to do is to populate the drop down list box in the Load or Activate event of the form.

    Drag a dropdown list control onto your userform and give it a useful name.
    Assuming a userform called frmTest and a control called ctlTest...

    In the frmText.Load event include code like
    ctlTest.AddItem "First"
    ctlTest.Additem "Second

    StuartR

  5. #5
    2 Star Lounger
    Join Date
    Apr 2003
    Location
    England
    Posts
    124
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Re: drop down listbox (office2000)

    thank you for all your help. a solution has been sent to me by Doug Robbins-wordMVP which i have coppied for all to see:

    Hi Alex,

    Using the AddItem method, the following commands in the userform initialize
    event will add items Item1, Item2, .... Item10 to a listbox Listbox1 on the
    user form:

    Private Sub UserForm_Initialize()
    For i = 1 To 10
    ListBox1.AddItem "Item" & i
    Next i
    End Sub

    This routine loads a listbox with client details stored in a table in a
    separate
    document (which makes it easy to maintain with additions, deletions etc.),
    that document being saved as Clients.Doc for the following code.

    On the UserForm, have a list box (ListBox1) and a Command Button
    (CommandButton1) and use the following code in the UserForm_Initialize() and
    the CommandButton1_Click() routines

    Private Sub UserForm_Initialize()
    Dim sourcedoc As Document, i As Integer, j As Integer, myitem As Range,
    m As Long, n As Long
    ' Modify the path in the following line so that it matches where you
    saved Suppliers.doc
    Application.ScreenUpdating = False
    ' Open the file containing the client details
    Set sourcedoc = Documents.Open(FileName:="e:worddocsClients.doc")
    ' Get the number or clients = number of rows in the table of client
    details less one
    i = sourcedoc.Tables(1).Rows.Count - 1
    ' Get the number of columns in the table of client details
    j = sourcedoc.Tables(1).Columns.Count
    ' Set the number of columns in the Listbox to match
    ' the number of columns in the table of client details
    ListBox1.ColumnCount = j
    ' Define an array to be loaded with the client data
    Dim MyArray() As Variant
    'Load client data into MyArray
    ReDim MyArray(i, j)
    For n = 0 To j - 1
    For m = 0 To i - 1
    Set myitem = sourcedoc.Tables(1).Cell(m + 2, n + 1).Range
    myitem.End = myitem.End - 1
    MyArray(m, n) = myitem.Text
    Next m
    Next n
    ' Load data into ListBox1
    ListBox1.List() = MyArray
    ' Close the file containing the client details
    sourcedoc.Close SaveChanges:=wdDoNotSaveChanges
    End Sub

    Private Sub CommandButton1_Click()
    Dim i As Integer, Addressee As String
    Addressee = ""
    For i = 1 To ListBox1.ColumnCount
    ListBox1.BoundColumn = i
    Addressee = Addressee & ListBox1.Value & vbCr
    Next i
    ActiveDocument.Bookmarks("Addressee").Range.Insert After Addressee
    UserForm2.Hide
    End Sub

    The Initialize statement will populate the listbox with the data from the
    table and then when a client is selected in from the list and the command
    button is clicked, the information for that client will be inserted into a
    bookmark in the document. You may want to vary the manner in which it is
    inserted to suit our exact requirements, but hopefully this will get you
    started.

    To make it easy for you, the code has been written so that it will deal with
    any number of clients and any number of details about each client. It
    assumes that the first row of the table containing the client details is a
    header row.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •