Копирование определенного текста из документа Word в Excel - PullRequest
0 голосов
/ 03 июня 2019

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

3 буквы, 'x', 4 цифры. например. ADZx4391

и скопируйте его в лист Excel.

Sub CopyTPNumber()

    'Create variables
    Dim Word As New Word.Application
    Dim WordDoc As New Word.Document
    Dim r As Word.Range
    Dim Doc_Path As String
    Dim WB As Excel.Workbook
    Dim WB_Name As String


    Doc_Path = "Libraries\Documents\EXPORTCOMMENTS.docx"
    Set WordDoc = Word.Documents.Open(Doc_Path)
    ' Set WordDoc = ActiveDocument

    ' Create a range to search.
    Set r = WordDoc.Content

    'Find text and copy it
    With r
        .Find.ClearFormatting
        With .Find

        With .Find
            .Text = "[A-Z]{3}x[0-9]{4}"
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = True
            .Execute
   End With
        .Copy
    End With


    'Open excel workbook and paste
    WB_Name = Excel.Application.GetOpenFilename(",*.xlsx")
    Set WB = Workbooks.Open(WB_Name)

    WB.Sheets("Sheet1").Select
    Range("AB2").Select
    ActiveSheet.Paste
    WordDoc.Close
    Word.Quit

End Sub

Когда я запускаю код, я получаю определенный пользователем тип, не определенный.

Ответы [ 2 ]

1 голос
/ 03 июня 2019

Вам нужно установить ссылку на Word.

Из окна VBA:

Инструменты> Ссылки> Библиотека объектов Microsoft Word 14.0 (установите флажок)> ОК

(обратите внимание, что число может быть не 14,0, в зависимости от вашей версии Word)

У вас также есть синтаксическая ошибка (. Найти дубликаты)

0 голосов
/ 03 июня 2019

Может быть, вы не добавили ссылку на библиотеку Word?

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...