Макрос, извлекающий реквизиты из документа в Word и вставляющий их в Excel - VBA

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, помогите написать макрос, который будет извлекать реквизиты компаний из присланных ими файлов и вставлять в excel каждый в свою строку (Полю An будет соответствовать поле Bn, в котором будут находиться изъятые данные). Список необходимых полей: A B ЗАКАЗЧИК Адрес местонахождения ИНН КПП БАНК Р/С БИК К/С Управляющий Спасибо за любую помощь.

Решение задачи: «Макрос, извлекающий реквизиты из документа в Word и вставляющий их в Excel»

textual
Листинг программы
Option Explicit
Sub m_1()
Dim oExcel As Excel.Application
Dim oWorkbook As Excel.Workbook
Dim oWorksheet As Excel.Worksheet
Dim vНомерСвободнойСтроки As Long
If Tasks.Exists("Microsoft Excel") = True Then
    MsgBox "Закройте Excel"
    Exit Sub
End If
If Selection.Type = wdSelectionIP Then
    MsgBox "Выделите заказчика"
    Exit Sub
End If
Set oExcel = CreateObject("Excel.Application")
Set oWorkbook = oExcel.Workbooks.Open("E:\_Рабочий стол\Вытягивание реквизитов.xls")
Set oWorksheet = oWorkbook.Sheets("Лист1")
oExcel.Visible = True
vНомерСвободнойСтроки = oWorksheet.Cells.SpecialCells(xlLastCell).Row + 1
oWorksheet.Range("A" & vНомерСвободнойСтроки) = Selection.Range
With ActiveDocument.Range.Find
    .Text = "ИНН"
    .MatchWholeWord = True
    .MatchCase = True
    .Execute
    If .Found = True Then
        .Parent.Select
        Selection.MoveEndUntil cset:="0123456789", Count:=wdForward
        Selection.MoveRight unit:=wdCharacter, Count:=1
        oWorksheet.Range("B" & vНомерСвободнойСтроки) = Selection.Words(1)
    End If
End With
With ActiveDocument.Range.Find
    .Text = "КПП"
    .MatchWholeWord = True
    .MatchCase = True
    .Execute
    If .Found = True Then
        .Parent.Select
        Selection.MoveEndUntil cset:="0123456789", Count:=wdForward
        Selection.MoveRight unit:=wdCharacter, Count:=1
        oWorksheet.Range("C" & vНомерСвободнойСтроки) = Selection.Words(1)
    End If
End With
oWorkbook.Close SaveChanges:=wdSaveChanges
oExcel.Quit
Set oWorksheet = Nothing
Set oWorkbook = Nothing
Set oExcel = Nothing
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.333 из 5
Похожие ответы