Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / word таблицы / 8 сообщений из 8, страница 1 из 1
09.07.2009, 15:46:40
    #36082398
tokha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
word таблицы
Добрый день,
Задам возможно глупый а может и не глупый вопрос :)
Есть гигантские word файлы c огромным количеством текста, так же там присутствуют таблицы. Есть ли хоть какая нибудь возможность выдернуть эти таблицы программным путём в другой док, или удалить весь текст, что бы таблицы с инфой остались?
...
Рейтинг: 0 / 0
14.07.2009, 12:41:14
    #36088664
Stepler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
word таблицы
tokha,

Selection.GoTo What:=wdGoToTable, Which:=wdGoToFirst, Count:=1, Name:=""
Selection.Tables(1).Select
Selection.Copy
'вставляй куды нада
Selection.GoTo What:=wdGoToTable, Which:=wdGoToNext, Count:=1, Name:=""
Selection.Tables(1).Select
Selection.Copy
'вставляй куды нада......................
.......................
...
Рейтинг: 0 / 0
14.07.2009, 18:42:49
    #36089692
tokha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
word таблицы
Stepler,
Таким образом вытаскивается 1 табличка, а их много :(
...
Рейтинг: 0 / 0
14.07.2009, 18:45:18
    #36089698
tokha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
word таблицы
Таким образом, выдерается 1 табличка а их много :(
...
Рейтинг: 0 / 0
15.07.2009, 10:35:57
    #36090491
Stepler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
word таблицы
tokha,
а енто не срабатывает?
Selection.GoTo What:=wdGoToTable, Which:=wdGoTo Next , Count:=1, Name:=""
Selection.Tables(1).Select
Selection.Copy
ентот блок нада вставить в цикл...
...
Рейтинг: 0 / 0
15.07.2009, 10:56:40
    #36090563
Stepler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
word таблицы
tokha,

Sub ВыдернутьТаблицы()
Selection.GoTo What:=wdGoToTable, Which:=wdGoToFirst, Count:=1, Name:=""
Selection.Tables(1).Select
Selection.Copy
Windows(n).Activate 'n - окно с документом, куды копировать
Selection.PasteAndFormat (wdPasteDefault)
Windows(m).Activate 'm - окно с документом, откуда таблицы

l: Selection.GoTo What:=wdGoToTable, Which:=wdGoToNext, Count:=1, Name:=""
Selection.Tables(1).Select
Selection.Copy
Windows(n).Activate
Selection.PasteAndFormat (wdPasteDefault)
Windows(m).Activate
GoTo l ' чтоб не зациклило, нада вставить ограничение по значению последней таблицы
End Sub
...
Рейтинг: 0 / 0
15.07.2009, 13:49:28
    #36091147
tokha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
word таблицы
Steplertokha,

Sub ВыдернутьТаблицы()
Selection.GoTo What:=wdGoToTable, Which:=wdGoToFirst, Count:=1, Name:=""
Selection.Tables(1).Select
Selection.Copy
Windows(n).Activate 'n - окно с документом, куды копировать
Selection.PasteAndFormat (wdPasteDefault)
Windows(m).Activate 'm - окно с документом, откуда таблицы

l: Selection.GoTo What:=wdGoToTable, Which:=wdGoToNext, Count:=1, Name:=""
Selection.Tables(1).Select
Selection.Copy
Windows(n).Activate
Selection.PasteAndFormat (wdPasteDefault)
Windows(m).Activate
GoTo l ' чтоб не зациклило, нада вставить ограничение по значению последней таблицы
End Sub

А что за значение нужно ставить? :) чтоб не зацикливало
...
Рейтинг: 0 / 0
16.07.2009, 15:44:03
    #36093806
Stepler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
word таблицы
tokha,

ограничить по последней таблице (названию) или окончанию текста, например как сдеся
в итоге мона получить типа такова:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
ВыдернутьТаблицы() 
endd = Selection.EndKey(wdStory, wdMove) 'сколько строк всего
Selection.GoTo What:=wdGoToTable, Which:=wdGoToFirst, Count:= 1 , Name:=""
Selection.Tables( 1 ).Select
Selection.Copy
Windows( 2 ).Activate
    Selection.PasteAndFormat (wdPasteDefault)
    Windows( 1 ).Activate
l: If endd - endd1 <=  0  Then GoTo l2
Selection.GoTo What:=wdGoToTable, Which:=wdGoToNext, Count:= 1 , Name:=""
Selection.Tables( 1 ).Select
Selection.Copy
Windows( 2 ).Activate
    Selection.PasteAndFormat (wdPasteDefault)
    Windows( 1 ).Activate
endd1 = Selection.Range.End   'сколько строк прошли
GoTo l
l2: End Sub
Шлифовать енто лень, следует учитывать, что перед запуском макроса нада быть на начале файла, с которого вытягиваються таблицы...
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / word таблицы / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]