Страницы: 1
RSS
Подтягивание списков из Excel в Combobox'ы в документе Word
 
Уважаемые, в продолжение темы сортировки по фамилиям, бьюсь уже несколько дней. Файл со списками в Excel есть, теперь надо подвязать чтобы списки из него подгружались в документ Word в комбобоксы.

Задача - быстро формировать листы согласования для локальных документов, в общем, форма Word и файл с примером списков - в приложении. Есть идеи как это сделать? Я впервые пытаюсь, опыта автоматизации в ворде нет от слова совсем, поэтому уже готов плюнуть и сделать все в чистом экселе, но хочется получить новые знания про ворд )

Соответственно, в левой части документа WORD в каждом комбобоксе должны быть все должности из списка, в правой части - в каждом комбобоксе все фамилии из списка Excel

Заранее спасибо!
 
Мне не надо чистый работоспособный код, просто может есть материалы, где на эту тему почитать можно? В Excel умею, связывать с Word - не очень. А информации по теме в сети не могу найти, только ручное заполнение списков в Word, но это, понятное дело, не подходит, ибо списки имеют свойство изменяться.
Изменено: Aiden_ko - 22.09.2021 20:44:54
 
Цитата
Aiden_ko написал:
где на эту тему почитать можно?
тут
к этому добавлю что мой вариант на ADO сразу в Word может получить список , который уже запихивать в комбобоксы.
По вопросам из тем форума, личку не читаю.
 
Подскажите, пожалуйста, что есть ADO, и где про него порекомендуете почитать в разрезе именно данного вопроса.  
Изменено: vikttur - 22.09.2021 21:29:18
 
ADO (от англ. ActiveX Data Objects — «объекты данных ActiveX»)
По вопросам из тем форума, личку не читаю.
 
БМВ,Thnx, буду изучать, но уже больше для себя.

На уровне корпоративном у меня только VBA есть. Видимо, придется решать задачу исключительно силами Excel. Проблема в том, что все должно работать на уровне пакета MS Office, установленного на всех компьютерах организации, standalone  приложения не прокатят. Как не прокатят и надстройки.

В соответствии с правилами Форума про ActiveDirectory задам вопрос в отдельной теме.
Изменено: Aiden_ko - 22.09.2021 22:11:49
 
Цитата
Aiden_ko написал:
VBA есть
его не может не быть. Судя по всему из первой темы вы мои коды не пробовали.

для примера
Код
Private Sub Document_Open()
Dim oRecordSet As Object, oConn As Object
'With ActiveSheet
    sTblQuery = "[Лист1$B:B]"
    Set oRecordSet = CreateObject("ADODB.Recordset")
    Set oConn = CreateObject("ADODB.Connection")
    oRecordSet.CursorLocation = 3
    sSQL_text = "SELECT * FROM " & sTblQuery & " ORDER BY TRIM(RIGHT(REPLACE(REPLACE(FIO,'.',' '),' ','                                        '),40))"
    sConnStr = "Provider=Microsoft.ACE.OLEDB.12.0;Mode=Read;Data Source=" & "c:\Temp\Сортировка.xlsx" & ";Extended Properties=""Excel 12.0;HDR=YES"";"
    oConn.Open sConnStr
    oRecordSet.Open sSQL_text, oConn
    FIO = oRecordSet.getrows
    oConn.Close
    sTblQuery = "[Лист1$A:A]"
    sSQL_text = "SELECT * FROM " & sTblQuery & " ORDER BY Doljn"
    oConn.Open sConnStr
    oRecordSet.Open sSQL_text, oConn
    Title = oRecordSet.getrows
    
 For Each oContrl In ThisDocument.ContentControls
    With oContrl
     If oContrl.Type = wdContentControlComboBox Then
        .DropdownListEntries.Clear
  '      .SetPlaceholderText , , "Выберите элемент."
        For i = 0 To UBound(Title, 2)
        V = IIf(oContrl.Tag = 1, Title(0, i), FIO(0, i))
        .DropdownListEntries.Add Text:=V, Value:=V
        Next
    End If
    End With
    Next
End Sub
Только надо TAG проставить иначе не понятно что чем заполнять.
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх