Создание кода, который копирует таблицы документов word в электронную таблицу со страниц, введенных пользователем в поле ввода
Этот код открывает документ word
Подсчитывает таблицу из документа
Копирует все таблицы из документа
Вставляет все таблицы из документа
Я пробовал разные учебники и потерпел неудачу.Запрошено предложение о том, как скопировать таблицы из номера страницы между 7 и 9, если это ввод, который пользователь дает в поле ввода.
Что я уже пробовал:
Суб importTableDataWord()
Dim WdApp как объект, wddoc как объект
Dim strDocName как строка
В Резюме Об Ошибке Следующий
Set WdApp = GetObject(, "Word.Приложение")
Если Err.Number = 429, То
Ошибаться.Понятно
Set WdApp = CreateObject("Word.Приложение")
Конец, Если
WdApp.Видимое = Истинное
strDocName = "C:\our-inventory\inventory.docx"
Если Dir(strDocName) = "", то
Функцию MsgBox "файл" &амп; strDocName &амп; vbCrLf &амп; _
"не найден путь к папке" & vbCrLf & _
"C:\our-inventory\.", _
vbExclamation, _
- К сожалению, такого названия документа не существует."
Выход Из Субмарины
Конец, Если
WdApp.Активировать
Set wddoc = WdApp.Documents(strDocName)
Если wddoc - это ничто, то установите wddoc = WdApp.Documents.Открыть(strDocName)
wddoc.Активировать
Дим Столиком Как Целое
Тусклый рядок, как длинный
Dim colWd как целое число
Дим X, как долго, как долго г
x = 1
y = 1
С wddoc
Столиком = wddoc.таблицы.Рассчитывать
Если Tble = 0, То
MsgBox "нет таблиц, найденных в документе Word", vbExclamation, "нет таблиц для импорта"
Выход Из Субмарины
Конец, Если
Для i = 1 до Tble
С. таблицы(i)
Для rowWd = 1 To .Rows.Рассчитывать
Для colWd = 1 To .Columns.Рассчитывать
Ячейки(x, y) = функция рабочего листа.Clean(.cell(rowWd, colWd).Диапазон.Текст)
y = y + 1
Следующий colWd
y = 1
x = x + 1
Следующий ряд.
Конец С
Следующий
Конец С
wddoc.Закрыть Savechanges:=False
WdApp.Бросить
Set wddoc = ничего
Set WdApp = Ничего
Конец Подводной Лодки