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

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


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

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

Выпуск № 259
от 12.04.2006, 16:05

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


Вопрос № 39645: Здравствуйте уважаемые эксперты. В коде VBA для блокировки меню "File" я записываю следующий код: ActiveDocument.CommandBars("menu bar").Controls("file").Enabled = False и так же для меню "Too...

Вопрос № 39.645
Здравствуйте уважаемые эксперты.
В коде VBA для блокировки меню "File" я записываю следующий код:

ActiveDocument.CommandBars("menu bar").Controls("file").Enabled = False

и так же для меню "Tools"

Меня интересует как себя поведет этот код для русской версии Офиса. И

как сделать, чтобы данная функция работала как для английской, так и

для русской версии - не выдавая ошибок на существование меню.
Заранее благодарю.
Отправлен: 07.04.2006, 14:50
Вопрос задал: Art7 (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: EPDSota
Здравствуйте, Art7!

у меня русский офис2003... работает так:
CommandBars("Menu Bar").Controls("файл").Enabled = False
то есть переведены только названия кнопок...

отключить ошибки:
on error resume next 'пропуск ошибочных строк
CommandBars("Menu Bar").Controls("файл").Enabled = False
CommandBars("Menu Bar").Controls("file").Enabled = False
on error goto 0 'восстановление ошибок

---------
Открыть глаза навстречу солнцу
Ответ отправил: EPDSota (статус: Специалист)
Ответ отправлен: 07.04.2006, 15:36
Оценка за ответ: 5
Комментарий оценки:
У меня еще одна проблемка. В редакторе VBA под Word на русском в Unicod пишутся вопросики "??????????". Какие только шрифты не пробовал - ничего не помогло.

Отвечает: Genyaa
Здравствуйте, Art7!

ActiveDocument.CommandBars("menu bar").Name - это имя такое же и в русской версии.

ActiveDocument.CommandBars("menu bar").NameLocal в русской версии = "Строка меню"

Debug.Print Application.International(wdProductLanguageID) - выдает значение 1049 для русской версии, т.е. можно в зависимости от этого значения устанавливать Enabled либо для Controls("File"), либо для Controls("Файл").

Но можно сделать и так:

ActiveDocument.CommandBars("menu bar").Controls(1).Enabled = False

, т.к. в обоих версиях контрол Файл/File первый в меню.
Ответ отправил: Genyaa (статус: 3-ий класс)
Ответ отправлен: 07.04.2006, 15:50
Оценка за ответ: 4

Отвечает: Залетин Виталий Викторович
Здравствуйте, Art7!
Можно вот так:
ActiveDocument.CommandBars("menu bar").Controls(1).Delete
---------
Учиться никогда не поздно. Особенно программированию!
Ответ отправил: Залетин Виталий Викторович (статус: Студент)
Ответ отправлен: 08.04.2006, 14:47


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

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

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

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

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


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


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.30 (beta) от 09.04.2006
Яндекс Rambler's Top100

В избранное