2015-04-08 3 views
1

У меня есть документ Word, который является «заполняемым формой», то есть имеет в нем объекты управления контентом, такие как элементы управления содержимым большого текста и выбора даты. Я хочу извлечь данные из определенных полей в Excel. Например, каждая форма имеет название проекта, дату начала и менеджера. Я хотел бы 1 строка для этой формы с этими тремя частями данных. В конце концов, это нужно будет сделать за несколько сотен таких форм каждые несколько месяцев, но сейчас я хотел бы начать с этого.Извлечение данных из элементов управления содержимым в Word в Excel

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

Я новичок в VBA. Как указать мой код в нужном файле, а затем снова в конкретном поле, которое мне нужно? Предоставлять названия полей в Word-документе?

Это в MS Office '13

+0

Это похоже на http://stackoverflow.com/questions/10823874/with-a-word-contentcontrol-datepicker-how-do-i-get-the-value –

ответ

1

Ваше приложение будет иметь большое количество конкретных деталей, которые трудно решить без особенностей. Для начала, вот какой-то очень простой код, чтобы получить Date из раскрывающегося списка Excel из Word.

Примечание. Для работы с Word вам необходимо создать ссылку на «Microsoft Word 15.0 Object Library» на стороне Excel. Инструменты -> Ссылки в редакторе VBA.

reference addition

При работе в различных приложениях, он может помочь написать VBA в Слове, а затем переместить его на Excel, как только у вас есть свойства, которые вы хотите.

Это VBA для Excel стороны уравнения:

Sub GetDataFromWordFile() 

    Dim wrd As Word.Application 
    Dim file As Word.Document 


    Set wrd = New Word.Application 
    Set file = wrd.Documents.Open("test.docx") 

    Range("A1") = file.ContentControls(1).Range.Text 

    file.Close 
    wrd.Quit 

End Sub 

Моего файл Слово включает в себя один ContentControl. Не знаете, как вы обращаетесь к тем, кого хотите (проб и ошибок?).

Word file

сторона Excel сбрасывает дату в нужном месте.

Excel side

+0

Отлично, спасибо ! Это то, что я искал, чтобы начать. Я попробую это. Может ли весь код запускаться в файле Excel или требуется, чтобы документ Word требовал наличия собственного VBA? – partiallyfulltime

+0

@partiallyfulltime, весь код будет работать со стороны Excel. На стороне Word изменений не требуется. Может быть полезно работать с объектной моделью Word со стороны Word, когда вы пытаетесь получить нужные объекты, но конечный код - все на стороне Excel. –

Смежные вопросы