|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.05.2009, 22:32 | #1 |
Пользователь
Регистрация: 02.07.2008
Сообщений: 15
|
vba скрипт для ворда
приветствую вновь!
кто поможет написать скрипт для ворда. думаю, это совсем не сложно для знающего человека. смысл такой: в исходный текст между буквами нужно вставить пробелы размером "1". если между словами уже имеется пробел, то трогать его не нужно пример и то, как должно выглядеть: разницы почти не видно, но она есть и чертовские важна. кто поможет? |
27.05.2009, 22:56 | #2 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Пробел какой? Обычный, или неразрывный?
Обязательно пробелы, или можно просто увеличить интервал между символами? Добавлять только между буквами? (до и после знаков препинания не надо?) Скрипт должен обрабатывать один файл, или несколько? Цитата:
|
|
27.05.2009, 23:11 | #3 | |
Пользователь
Регистрация: 02.07.2008
Сообщений: 15
|
не знаю точно, в чем разница между указанными тобой пробелами, но ставить лучше, тот же, что и с клавиатуры
да, обязательно пробелы да, только между буквами. знаки препинания обрабатывать не нужно да, обработке подлежит только один файл. если будет необходимо больше, копипастну текст. это не критично Цитата:
|
|
28.05.2009, 07:34 | #4 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Вот уж не думал, что буду такое делать!
Предложенный макрос разбивает пробелами все слова в тексте всего документа. Попробуйте, если нужно, переделать его под разбивку слов только в выделенном тексте.
Код:
И еще одно маленькое замечание: Зачем нужно, чтобы этот текст не находил поиск? И еще одно: Программы на языке VBA называются макросами.
Лучше день потерять — потом за пять минут долететь!©
Последний раз редактировалось viter.alex; 28.05.2009 в 11:13. |
28.05.2009, 15:31 | #5 |
Пользователь
Регистрация: 02.07.2008
Сообщений: 15
|
макрос работает, но ворд вешается при больших объемах, хотя мой пк имеет 4гб памяти. удачно удалось обработать только 2страничный файл.
возможно ли изменить его так, чтобы пробелы он вставлял в слова в зависимости от их длины? например, если количество букв меньше, либо рано восьми - один пробел. больше - два пробела. я думаю, это должно ускорить процесс, а результат будет практически стопроцентно идентичным. то есть из каких слов состоит текст определить будет невозможно (для компьютера) без предварительной правки |
28.05.2009, 16:00 | #6 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Код, который делает то, что вы попросили, ниже. Изменение выделено красным пунктиром. Ненужная часть кода закомментирована
Код:
Добавлено позже Я тут подумал, что если нужно будет проделать обратную операцию — убрать пробелы, то для этого и макрос не нужен. Все можно делать через стандартные Поиск и Замену (Ctrl+H): Найти: (пробел) и Формат→ Шрифт поставить размер 1пт Заменить: оставить пустым. Нажать «Заменить все».
Лучше день потерять — потом за пять минут долететь!©
Последний раз редактировалось viter.alex; 28.05.2009 в 21:11. |
28.05.2009, 21:50 | #7 |
Пользователь
Регистрация: 02.07.2008
Сообщений: 15
|
отличный результат! 10страничный документ отпарсился за 3-4 минуты с подвисанием vba-редактора. ежели количество времени, необходимое для обработки документа, увеличивается пропорционально количеству страниц в документе, то на этом все. премного благодарен
ELSE буду держать в курсе событий, как говориться |
29.05.2009, 14:11 | #8 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Время обработки будет увеличиваться пропорционально количеству слов в тексте.
Но, хоть убейте, не пойму зачем это делать! Что за секретность такая? Интересно, а программы оптического распознавания такой текст «возьмут»?
Лучше день потерять — потом за пять минут долететь!©
|
17.06.2009, 11:22 | #9 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Еще проще! Еще быстрее!
Придумался еще один вариант. Быстрее, как мне кажется.
То же самое можно сделать и макросом: Код:
Лучше день потерять — потом за пять минут долететь!©
|
25.09.2010, 13:57 | #10 |
Пользователь
Регистрация: 22.09.2010
Сообщений: 21
|
А можно ли такое же, но чтобы текст обрабатывался лишь в одной ячейке в Excel? Например, для А1...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Простенькая программа для ворда. Возможен заказ | shadowbat | Фриланс | 7 | 24.03.2009 06:27 |
Простенькая программа для ворда. Возможен заказ | shadowbat | Microsoft Office Word | 2 | 16.03.2009 13:01 |
Скрипт для голосования | Gopius | PHP | 11 | 11.01.2009 15:57 |
Скрипт для показа баннеров | phonograph | PHP | 1 | 18.08.2008 17:54 |