Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2012, 13:16   #1
Dr.Binom
Пользователь
 
Регистрация: 13.03.2012
Сообщений: 11
По умолчанию перенос текста из таблиц Word'a в txt

Здравствуйте, пишу одну работу,и столкнулся с необходимостью решения вот такой задачи: из имеющегося файла doc в котором есть и текст и таблицы нужно выделить ТОЛЬКО текст из таблиц и ,сохраняя форматирование, записать его в файл тхт. Причем в тхт элементы по строке должны разделяться пробелами или tab, а каждая строка должна отделяться от другой концом строки...
в VBA вообще не работал, поэтому темный лес( надеюсь,на вашу помощь! заранее спасибо!
Вложил начальный файл и как должно быть!
Изображения
Тип файла: jpg док.JPG (47.0 Кб, 58 просмотров)
Тип файла: jpg тхт.JPG (29.1 Кб, 52 просмотров)
Dr.Binom вне форума Ответить с цитированием
Старый 13.03.2012, 13:30   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а вот мне любопытно, как Вы себе представляете "текст из таблиц и ,сохраняя форматирование " для текстового файла то?!

Дайте, пожалуйста, пример любого текстового файла с таблицей и форматированием, тогда будет понятней, что Вы хотите получить в итоге...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.03.2012, 14:18   #3
Dr.Binom
Пользователь
 
Регистрация: 13.03.2012
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
а вот мне любопытно, как Вы себе представляете "текст из таблиц и ,сохраняя форматирование " для текстового файла то?!

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

Ну,я имею в виду чтобы данные, переносимые из ворда были не в одну строку в тхт...
я приложил 2 картинки как есть и как должно быть...
чтобы в итоге в строке разделители были tab а между строками - перенос по строке
Dr.Binom вне форума Ответить с цитированием
Старый 13.03.2012, 14:26   #4
Dr.Binom
Пользователь
 
Регистрация: 13.03.2012
Сообщений: 11
По умолчанию

Понимаете, дело в том, что когда я бегу по строкам таблицы и копирую их поочередно, а затем вставляю происходит следуещее:
первая строка копируется как надо, а затем все последующие строки копируются вместе с предыдущими, и получается некая пирамида...
как от этого избавиться?
сделал цикл по строкам до конца таблицы... может что то не так там пишу..
Dr.Binom вне форума Ответить с цитированием
Старый 13.03.2012, 14:54   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
чтобы в итоге в строке разделители были tab а между строками - перенос по строке
ага. теперь понятно.

Цитата:
сделал цикл по строкам до конца таблицы... может что то не так там пишу..
в чём пишете то, в VBA?
выкладывайте свой код, посмотрим...


p.s. я лично в программирования под MS Word не силён, но тут, на форуме есть сильные спецы!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.03.2012, 15:06   #6
Dr.Binom
Пользователь
 
Регистрация: 13.03.2012
Сообщений: 11
По умолчанию

-----------
Dr.Binom вне форума Ответить с цитированием
Старый 13.03.2012, 15:06   #7
Dr.Binom
Пользователь
 
Регистрация: 13.03.2012
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
ага. теперь понятно.


в чём пишете то, в VBA?
выкладывайте свой код, посмотрим...


p.s. я лично в программирования под MS Word не силён, но тут, на форуме есть сильные спецы!
в данном варианте копируется полностью таблица...

Код:
rw = tTable.Rows.Count 
Selection.MoveStart wdLine, 0
Selection.MoveEnd wdParagraph, rw
Selection.Copy

linew = linew + Selection.Text

Print #1, linew

а тут я пытался копировать построчно, но я первый день вижу VBA, поэтому ищу иголку в стоге сена:

rw = tTable.Rows.Count
Selection.MoveStart wdLine, 0
For I = 1 To rw
'Selection.MoveStart wdLine, I


Selection.MoveEnd wdLine, 1

'Selection.MoveEnd wdParagraph, rw


linew = linew + vbCr + Selection.Text
Selection.Delete
Selection.Text = vbCrLf

Print #1, linew
Next I
вроде бы ничего не забыл...там до этого кода идут манипуляции с таблицей,а тут непосредственно происходит пробег по строкам и копирование



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 13.03.2012 в 15:19.
Dr.Binom вне форума Ответить с цитированием
Старый 14.03.2012, 04:22   #8
Dr.Binom
Пользователь
 
Регистрация: 13.03.2012
Сообщений: 11
По умолчанию

все,не надо, я разобрался...
Благодарю
Dr.Binom вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматический перенос данных с таблиц Excel в текст Word YSL Microsoft Office Word 52 27.06.2021 05:01
перенос таблиц с mssql2008 на oracle 11g ShowMeYourStyle SQL, базы данных 8 04.08.2011 06:23
Перенос данных из таблиц alco84 Microsoft Office Access 8 01.03.2010 16:41
перенос текста densi2009 Microsoft Office Word 6 08.10.2009 17:53
Перенос текста soonner JavaScript, Ajax 5 06.05.2009 19:13