Arun Ariyapattan Ответов: 0

Создание кода, который копирует таблицы документов 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 = Ничего


Конец Подводной Лодки

0 Ответов