Импорт таблицы из Word в Excel;типы файлов с несколькими словами - PullRequest
0 голосов
/ 26 июня 2018

Вот код, который я использую, но я хотел бы добавить дополнительные типы файлов, чтобы иметь возможность открывать, например, docm, docx и т. Д. Таким образом, когда диалоговое окно запрашивает открытие файла, я могу выбрать любой доступный тип файла слова?

Также в коде вы должны указать номер таблицы;Есть ли способ вставить таблицу на основе заголовка таблицы?

Sub ImportWordTable()
Dim wdDoc As Object
Dim wdFileName As Variant
Dim TableNo As Integer 'table number in Word
Dim iRow As Long 'row index in Excel
Dim iCol As Integer 'column index in Excel

wdFileName = Application.GetOpenFilename("Word files (*.doc),*.doc", , _
"Browse for file containing table to be imported")

If wdFileName = False Then Exit Sub '(user cancelled import file browser)

Set wdDoc = GetObject(wdFileName) 'open Word file

With wdDoc
    TableNo = wdDoc.tables.Count
    If TableNo = 0 Then
        MsgBox "This document contains no tables", _
        vbExclamation, "Import Word Table"
    ElseIf TableNo > 1 Then
        TableNo = InputBox("This Word document contains " & TableNo & " tables." & vbCrLf & _
        "Enter table number of table to import", "Import Word Table", "1")
    End If
    With .tables(TableNo)
        'copy cell contents from Word table cells to Excel cells
        For iRow = 1 To .Rows.Count
            For iCol = 1 To .Columns.Count
                Cells(iRow, iCol) = WorksheetFunction.Clean(.cell(iRow, iCol).Range.Text)
            Next iCol
        Next iRow
    End With
End With

Set wdDoc = Nothing

End Sub

1 Ответ

0 голосов
/ 26 июня 2018

Мой гугл-фу нашел это: https://msdn.microsoft.com/en-us/vba/excel-vba/articles/application-getopenfilename-method-excel

Короче говоря, замените "Word files (*.doc),*.doc" на "Word files (*.doc),*.doc;*.docx;*.docm" и т. Д. Соответствующая часть связанной страницы - как создать параметр filefilter.Разделенный запятыми список пар, текст, затем расширение, допускается несколько вариантов.Если есть несколько расширений файлов, используйте точку с запятой для их разделения.

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