Перейти из форума на сайт.


Система IP-видеонаблюдения "Линия". Скачать бесплатную демо-версию для 16 камер. НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Word VBA

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

Открыть новую тему     Написать ответ в эту тему

Fsp050

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ptr73
это долго, а тем более такие работы писать часто приходится. Я могу и заплатить за макрос)) если вы способны его написать

Всего записей: 345 | Зарегистр. 02-04-2011 | Отправлено: 10:59 02-05-2015
ptr73

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
сорри, мне не интересна данная задача
но будем надеяться, что кто-то откликнется и вам поможет

Всего записей: 251 | Зарегистр. 03-07-2007 | Отправлено: 11:13 02-05-2015
polk90



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите, как в таблице убить первый и второй столбец? (или два раза первый)
(если поможет, таблица создается в резкльтате работы макроса, кроме этой таблицы на листе ничего нет)
 
upd. нашел Selection.Tables(1).Columns(1).Delete

Всего записей: 4624 | Зарегистр. 19-12-2002 | Отправлено: 20:41 17-06-2015 | Исправлено: polk90, 00:21 18-06-2015
polk90



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день,  
подскажите с макросом
есть таблица отсортированная по одному из столбцов, нужно разбить таблицу ориентируясь на группы получившиеся в отсортированном столбце.
чтоб было понятнее привел примеры того как есть и что должно получится,  
файл там http://rghost.ru/private/7VNT6lnZQ/e7c732f1d338a36a48d883feff7fa445

 
решил.

Всего записей: 4624 | Зарегистр. 19-12-2002 | Отправлено: 21:52 03-07-2015 | Исправлено: polk90, 19:44 05-07-2015
Leagnus

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Интересно, можно ли покрасить панель Навигации слева, где высвечиваются закладки / заголовки документа, страницы документа или просмотр результатов поиска, в тёмный цвет?

Всего записей: 146 | Зарегистр. 12-09-2008 | Отправлено: 12:07 11-07-2015
freed

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
А всё-таки, как разблокировать заблокированный проект VBA ("Project is unviewable")?

кому-нибудь  удалось это сделать

Всего записей: 967 | Зарегистр. 07-05-2005 | Отправлено: 21:25 19-08-2015
valmont



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
на vba заполняю шаблон, значения заношу в созданные закладки, в word 2003 всё работает нормально, а в 2007 то работает, то выдаёт "запрашиваемый номер семейства не существует" + копирует и вставляет не отформатированный текст, если таблица то без ячеек, хотя иногда!!! срабатывает как надо.
дур дом какой-то.
 
может с 2007 какие-то нюансы появились в работе?

Всего записей: 1107 | Зарегистр. 17-09-2002 | Отправлено: 17:12 19-11-2015
mrdime



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа, что за хрень???
На одном компе: Word 2010 (стоял раньше) и 2013 (стоит теперь) включен режим "Отключить все макросы с уведомлением об этом" (Disable all macros with notification)
Все макросы записаны в шаблоне Normal.dotm
Ворд запускается и все макросы работают без каких-либо предупреждений.
На другом компе:
Word 2010, все то же самое, НО когда Ворд запускается, получаю сообщение, о наличии макросов + кнопка "Включить содержимое". Жму кнопку - ничего не происходит, кнопки назначенные для моих макросов как не работали, так и не работают, появляется сообщение, что макрос не найден. Помогает только переход в режим включения всех без исключения макросов.
В чем дело? Почему ОДНИ И ТЕ ЖЕ настройки приводят совершенно к разным результатам на разных компах?
Первый раз с таким цирком сталкиваюсь.
На обоих стоит Windows 7 x64 Ultimate SP1

Всего записей: 2569 | Зарегистр. 04-01-2005 | Отправлено: 04:05 21-11-2015
alexvakula

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как реализовать выделения текста от слова, до слова?
Например:
Понедельник
бла,бла
бла,
 
Вторник
бла
 
Выделить текст мжеду понедельником и вторником

Всего записей: 1 | Зарегистр. 13-02-2016 | Отправлено: 16:19 13-02-2016
KDPoid



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Выделить, значит задать Selection.Start и Selection.End
Поискать позицию слова "Понедельник" можно функцией InStr()

Всего записей: 390 | Зарегистр. 08-08-2006 | Отправлено: 20:13 13-02-2016
svs123456789

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
не видел ли ктонибудь процедуры для
применения всем таблицам в файле свойств выравнивание по ширине окна + установить заголовки ?

Всего записей: 2416 | Зарегистр. 10-04-2003 | Отправлено: 15:27 29-08-2016
tezarius

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто сможет помочь:  
Есть документ, он изменяется в течении года вручную. Необходимо сравнить документ с предыдущим и занести изменения в базу данных (допустим Access) и с датой изменения.  
 
С чего начать? какие функции использовать?

Всего записей: 26 | Зарегистр. 16-02-2007 | Отправлено: 11:23 06-09-2016
Dronton2

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tezarius
сначала нужно понять, что вы подразумеваете под изменениями:
- поменяли что-то в тексте документа (т.е., изменения в последовательности букв)
- поменяли что-то в стилях + где-то в тексте поменяли размер шрифта, интервал, отступы и т.п.
- документ является формой, изменять можно только значения в полях формы.
 
и в каком виде изменения должны храниться в базе данных.
 
Исходники программ сравнения документов можно посмотреть на http://winmerge.org/ или http://kdiff3.sourceforge.net/

Всего записей: 452 | Зарегистр. 27-06-2005 | Отправлено: 13:20 06-09-2016
tezarius

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dronton2
1) загрузили документ Word.
2) сравнили с базой ( если база пустая, то добавили эталон для сравнения)
3) сохранили изменения для будущих сравнений.
 
- поменяли что-то в тексте документа (т.е., изменения в последовательности букв, слов)   - Да.
- поменяли что-то в стилях + где-то в тексте поменяли размер шрифта, интервал, отступы и т.п. -Нет
- документ является формой, изменять можно только значения в полях формы. - Нет
 
Хранить в базе должны только изменения. Хранить абзацами ( они определяются по началу - типа 1.1 , 1.2, 1.1.1), другим полем добавлять дату сохранения.
 
Как часть решения можно взять отсюда http://www.cyberforum.ru/vba/thread615562.html
 
P.S. http://winmerge.org/ это с++, хотелось бы все таки реализация на VBA.

Всего записей: 26 | Зарегистр. 16-02-2007 | Отправлено: 14:09 08-09-2016
Dronton2

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tezarius
Ну, если минимальный кусок равен абзацу (и нумерация абзацев упорядочена), то тогда WinMerge - излишне сложный инструмент. Но посмотреть общую логику их алгоритма нужно обязательно.

Цитата:
С чего начать? какие функции использовать?
Начать нужно не с поиска функций, а с составления алгоритма.
Представьте, что каждый абзац - это строка. Тогда документ представляет из себя список строк. Значит, вам нужно сравнить два списка строк и определить, какие строки были изменены, какие - удалены, и какие добавлены.
Если в документе не может быть одинаковых абзацев - задача проста:
1. Каждый абзац старого документа сравниваете с каждым абзацем нового документа. Если они равны, устанавливаете для этих абзацев флаг "равно".
2. Последовательно проходите по абзацам старого документа. Находите подряд идущие абзацы, без флага "равно". Сравниваете их количество с количеством соответствующих абзацев из нового документа. Если количество равно, то каждый из этих абзацев был изменён на соответствующий абзац из нового документа. Если в старом документе количество этих абзацев меньше, чем в новом, значит, часть абзацев была изменена, а часть - удалена. Если больше - значит, часть абзацев была изменена, а часть добавлена.
Таким образом, для каждого абзаца из старого документа установлен один из признаков:
- равен абзацу из нового документа
- изменён в новом документе (и указатель на соответствующиё абзац в новом документе)
- удалён
в новом документе нужен только один признак:
- добавлен
 
И сохраняете в базу данных: для всех абзацев из старого документа, у которых не установлен признак "равен" добавляете записи с указанием признака и:
- для удалённых: порядкового номера абзаца в старом документе
- для изменённых: порядкового номера абзаца в старом документе и текста соответствующего нового абзаца
- для добавленных: порядкового номера абзаца в старом документе, после которого добавляется новый абзац и его текста.
 
Это приблизительно и вкратце.
 
Если в документе может быть несколько одинаковых абзацев - задача сравнения существенно усложнится.

Всего записей: 452 | Зарегистр. 27-06-2005 | Отправлено: 15:28 08-09-2016
Dronton2

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tezarius
Похоже, что я сильно погорячился с простотой алгоритма.
Рассмотрим примитивный пример:
Пусть документ состоит из 4 абзацев. Каждый абзац - из 1 буквы:

Код:
A
B
C
D

Для удобства, запишем такой простой документ в виде строки:
ABCD
Допустим, что в изменённом документе все абзацы переставили в обратном порядке:
ABCD > DCBA
В этом случае - всё в порядке: есть 4 изменения: A>D, B>C, C>B, D>A.
Рассмотрим другой вариант изменённого документа: первый абзац переместили в конец документа:
ABCD > BCDA
Логично было бы предположить, что здесь всего 2 изменения: 1-й абзац удалён и после последнего абзаца добавлен абзац с текстом "A"
Но приведённый выше алгоритм скажет, что здесь 6 изменений:
1. Перед первым абзацем добавлен B.
2. Затем добавлен C
3. Затем добавлен D
4. После абзаца A удалён абзац B
5. Затем удалён абзац C
6. Затем удалён абзац D
 
Поэтому, лучше посмотреть исходники WinMerge и т.п. компонентов

Всего записей: 452 | Зарегистр. 27-06-2005 | Отправлено: 09:20 09-09-2016 | Исправлено: Dronton2, 09:20 09-09-2016
Masutin



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть группы 4-x строк (абзацев) простого текста c пустой строкой между группами. Можно ли применить к строкам стили Heading 1…4, как-то пометив строки или без меток? Способ без скрипта: добавление к строкам меток <h1>…<h4> и открытие как .htm.

Всего записей: 264 | Зарегистр. 23-02-2007 | Отправлено: 17:08 02-11-2016
svs123456789

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите пожалуйста, к
как заменить все вхожения выражения из
от 1 до 3 цифр подряд, затем точка , и снова от одной до трех цифр - все жирным текстом  
на пробел

Всего записей: 2416 | Зарегистр. 10-04-2003 | Отправлено: 19:48 03-12-2016
Vadim39



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
svs123456789
В строку поиска - <[0-9]{1;3}.[0-9]{1;3}>
указать: подстановочные знаки, полужирный шрифт
в строку замены - пробел

Всего записей: 986 | Зарегистр. 11-04-2002 | Отправлено: 23:20 03-12-2016 | Исправлено: Vadim39, 23:53 03-12-2016
angel1980

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Прошу прощения за столь простой вопрос, но - как вставить текст до или после имеющейся таблицы? Как ни крутил .InsertBefore/After, текст дописывается внутри таблицы, а не вне её.

Всего записей: 4 | Зарегистр. 15-06-2007 | Отправлено: 17:21 05-12-2016
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Word VBA

Имя:
Пароль:
Сообщение

Для вставки имени, кликните на нем.

Опции сообщенияДобавить свою подпись
Подписаться на получение ответов по e-mail
Добавить тему в личные закладки
Разрешить смайлики?
Запретить коды


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2018

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru