Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 808
от 23.10.2008, 15:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 249, Экспертов: 22
В номере:Вопросов: 1, Ответов: 1

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 147542: Коллеги. Необходима помощь по настройке списка закладок в пользовательском меню по положению их в тексте документа. Итак, есть свой пункт меню (код ниже) для Word 2003, который содержит вложенное меню со списком команд. Первая команда предназначен...

Вопрос № 147.542
Коллеги. Необходима помощь по настройке списка закладок в пользовательском меню по положению их в тексте документа.
Итак, есть свой пункт меню (код ниже) для Word 2003, который содержит вложенное меню со списком команд. Первая команда предназначена для сортировки. Вторая и последующая команды представляют собой список имен закладок (имеющихся в документе). Эти закладки по умолчанию отсортированы по алфавиту.

Задача: по клику на команде "Сортировать по положению" список закладок в меню обновляется в соответствии с их размещением в тексте документа. У команды появляется флажок (иконка), показывающая пользователю, что установлена эта сортировка. Повторный клик на команде восстанавливает сортировку по алфавиту и убирает иконку.

Для того, чтобы получить список по положению, нужно заменить оператор "For Each bm In ActiveDocument.Bookmarks" на "For Each bm In ActiveDocument.Range.Bookmarks". Но вот как это организовать в коде по вызову команды OnAction - я не могу сообразить. Что именно написать в вызываемой по OnAction процедуре? Как реализовать такую сортировку по выбору команды меню?
Подскажите пожалуйста.
Спасибо за помощь.

Приложение:

Отправлен: 17.10.2008, 15:05
Вопрос задал: Кокин Антон Вадимович (статус: 6-ой класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Alec Perle
Здравствуйте, Кокин Антон Вадимович!
Вам необходимо объявить переменную для хранения выбранного пользователем способа сортировки (напр. BookmarkOnRange As boolean)
Для замены порядка следования команд меню необходимо его перерисовать, а в коде прорисовки использовать значение этой переменной.
В Вашем случае можно для выбора коллекции в зависимости от виде сортировки воспользоваться оператором Iif.
Для обработки команды меню каждой команде устанавливается свойство OnAction, которое содержит название процедуры, выполняемой при нажатии пункта меню.
Процедура для изменения типа меню должна менять значение переменной BookmarkOnRange и вызывать создание меню заново.

Приложение:

Ответ отправил: Alec Perle (статус: Студент)
Ответ отправлен: 18.10.2008, 15:26
Оценка за ответ: 5
Комментарий оценки:
Alec, огромное спасибо за помощь. Попробую реализовать, просто реальный код макроса сложнее и меню у меня вложенные. Спасибо.


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале

∙ Версия системы: 5.6 от 14.10.2008

Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru
RusIRC.ru | Kalashnikoff.ru | RadioLeader.ru

В избранное