Импорт данных из Excel в комбинированный список в Word

Я пытаюсь добавить значения из столбца листа Excel в поле со списком в пользовательской форме, которую я создал в документ Word с использованием VBA.

Если бы это был просто комбинированный список в форме пользователя Excel, то все, что мне нужно было написать:

Range("A1").Select
Do Until Selection.Value = Empty
    ComboBox1.AddItem Selection.Value
    Selection.Offset(1, 0).Select
Loop

Как я могу сделать то же самое, когда я использую форму пользователя в Word и хочу получать данные из внешнего файла Excel?

1 ответ

Решение

Вот пример, который позволит вам открыть файл Excel и просмотреть нужный диапазон. Это было сделано для выпадающего списка, но похоже:

Option Explicit

Sub TestDropDownFromExcel()

    Dim counter As Long
    Dim xlApp As Excel.Application
    Dim xlBook As Workbook
    Dim xlSheet As Worksheet
    Dim oCC As ContentControl

    Set oCC = ActiveDocument.ContentControls(1)

    Set xlApp = CreateObject("Excel.Application")
    Set xlBook = xlApp.Workbooks.Open("...")  'Location of your file
    If xlBook Is Nothing Then
        Exit Sub
    End If

    Set xlSheet = xlBook.Sheets(1)

    'Empty the list of items in the dropdown
    oCC.DropdownListEntries.Clear

    'Populate your items here


    xlApp.Visible = True

    Set xlSheet = Nothing    
    Set xlBook = Nothing
    Set xlApp = Nothing

End Sub

Вам нужно включить ссылку на Excel: сначала вам нужно установить ссылку (Меню: Инструменты-> Ссылки) на библиотеку объектов Microsoft Excel, затем вы можете получить доступ ко всем объектам Excel ( Как обращаться к объектам Excel в Access VBA?)

Смотрите также пример: Заполните Word Combobox данными Excel через VBA.

Другие вопросы по тегам