1

Тема: "Импорт" содержимого в ЭУС [раскрывающийся список]/[поле со списком]

Здравствуйте!...
Помогите с таким моментом....
Нужно (хотелось бы) импортировать в ЭУС "раскрывающийся список" / "поле со списком" много элементов.
Руками добавить такое кол-во пунктов - это не айс! Да и список не один...
Можно это дело как-то автоматизировать импортом из имеющегося txt-файлика (с уже готовым списком)?
-----------
Спасибо.

2

Re: "Импорт" содержимого в ЭУС [раскрывающийся список]/[поле со списком]

Сначала выложите пример txt-файлика, чтобы под него можно было заточить код.

3

Re: "Импорт" содержимого в ЭУС [раскрывающийся список]/[поле со списком]

Приложил... Хотя, если способ зависит от списка, то это не то, что нужно.
Ибо не в списке дело, а в самом принципе импорта.
...........

4

Re: "Импорт" содержимого в ЭУС [раскрывающийся список]/[поле со списком]

Прошу прощения, в предыдущем не прицепился...)....
...........

Post's attachments

Список.txt 232 b, 10 скачиваний с 2011-08-21 

You don't have the permssions to download the attachments of this post.

5

Re: "Импорт" содержимого в ЭУС [раскрывающийся список]/[поле со списком]

Ну тогда я не будут париться с текстовым файлом, а просто выложу принцип заполнения списков средствами VBA

Sub Заполнить_выпадающие_списки()

    Dim j As Object
        
    Application.ScreenUpdating = False
    
    On Error Resume Next 'на случай, если это календарь или другой ЭУС
    
    'для каждого элемента управления
    For Each j In ActiveDocument.ContentControls

        'строка состояния
        Application.StatusBar = j.Title
        
        'выпадающий список
        With j.DropdownListEntries
        
            'очистить
            .Clear
            
            'заполнить
            .Add Text:="Корпус", Value:="Корпус"
            .Add Text:="Коммутатор системных блоков", Value:="Коммутатор системных блоков"
            .Add Text:="ИБП", Value:="ИБП"
            .Add Text:="Монитор", Value:="Монитор"
        
        End With
        
    Next
    
    On Error GoTo 0
    
    Beep
    
End Sub

6

Re: "Импорт" содержимого в ЭУС [раскрывающийся список]/[поле со списком]

А вот так со чтением строк из файла

  Dim fp As String 'путь к файлу
  Dim fid As Integer 'идентификатор сессии файла
  Dim sText As String 'строка из файла
  Dim j As ContentControl
  fp = "путь_к_файлу"
  
  
  Application.ScreenUpdating = False
  
  On Error Resume Next 'на случай, если это календарь или другой ЭУС
  
  'для каждого элемента управления
  For Each j In ActiveDocument.ContentControls
    j.DropdownListEntries.Clear
    If j.Type = wdContentControlComboBox Or j.Type=wdContentControlDropdownList Then
      'строка состояния
      Application.StatusBar = j.Title
    
      'выпадающий список
      With j.DropdownListEntries
      
        'очистить
        .Clear
        fid = FreeFile
        Open fp For Input As #fid
        Do While Not EOF(fid)
          Line Input #fid, sText
          .Add Text:=sText, Value:=sText
        Loop
        Close #fid
      End With
    End If
  
  Next
Лучше день потерять — потом за пять минут долететь!

7

Re: "Импорт" содержимого в ЭУС [раскрывающийся список]/[поле со списком]

Настаев, viter.alex - спасибо вам! Работает!
viter.alex - вопрос:
первые пункты списка импортируются с начальным набором символов п»ї, т.е.
если первая строка в текстовом файле: 12345-67890-йцуке-нгшщз
то после применения макроса первый пункт в выпадающем списке: п»ї12345-67890-йцуке-нгшщз
big_smile... Остальные норм.

8

Re: "Импорт" содержимого в ЭУС [раскрывающийся список]/[поле со списком]

думаю, что дело в кодировке исходного текстового файла. У меня такого не наблюдалось. Приложи импортируемый файл

Лучше день потерять — потом за пять минут долететь!

9

Re: "Импорт" содержимого в ЭУС [раскрывающийся список]/[поле со списком]

Прицепил....
--------------------
Да, по ходу, с кодировками что-то...
В ...txt: ЗАЯСЫ-X99X9-XXX9X-X9XXX-XXXXX
В .docx: п»їР—РђРЇРЎР«-X99X9-XXX9X-X9XXX-XXXXX

И откуда берутся эти п»ї ??..

Post's attachments

ЩШД-.txt 711 b, 7 скачиваний с 2011-08-29 

You don't have the permssions to download the attachments of this post.

10

Re: "Импорт" содержимого в ЭУС [раскрывающийся список]/[поле со списком]

А какая версия Ворда? У меня в 2010 всё читается хорошо, если файл в ANSI-кодировке. Если перевести его в Unicode, то получается то же, что и у тебя.

Лучше день потерять — потом за пять минут долететь!

11

Re: "Импорт" содержимого в ЭУС [раскрывающийся список]/[поле со списком]

Версия - 2010.
Да, с кодировкой грабли. Попробовал пересохранить в UTF-8, Unicode, ANSI...
В ANSI - всё норм импортировалось. Другие - казябры в ворде.
Так что всё отлично!
Спасибо. wink