Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как с помощью vbs изменить главное меню word 
V
    Опции темы
andrx
Дата 3.5.2006, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Андрей
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 16.12.2005
Где: Киев

Репутация: нет
Всего: 4



Добрый день !
Помогите пожалуйста разрешить проблему.
Необходимо с помощью VBS добавить в главное меню ворда новый пункт выпадающего меню, так чтобы получилось МОЕ_МЕНЮ|Операция1, МОЕ_МЕНЮ|Операция2, ...

Никак не могу добавить контрол с типом CommandBarPupop
Вот код с комментариями :

Код

'Предполагается, что ворд уже выполняется
Dim oWord
Set oWord = GetObject(,"Word.Application")

Dim myMenu

'Следующая строка вызывает ошибку - Недопустимый вызов или аргумент процедуры
'Set myMenu= oWord.CommandBars.ActiveMenuBar.Controls.Add(msoControlPopup,1,1,oWord.CommandBars.ActiveMenuBar.Controls.Count+1,False)

'Недопустимый аргумент попытался заменить индексом. В результате :
'Следующая строка выполняется без ошибок
'но с помощью индекса у меня получается создать контролы с типами
'1 - CommandBarButton
'2 - CommandBarComboBox (без кнопки выпадающего списка, т.е просто поле ввода)
'3 - CommandBarComboBox (с кнопкой выпадающего списка)
'4 - CommandBarComboBox (с кнопкой выпадающего списка и выпадающим списком)
'Типы проверял с помощью : Msgbox TypeName(oWord.CommandBars.ActiveMenuBar.Controls(oWord.CommandBars.ActiveMenuBar.Controls.Count))

Set myMenu= oWord.CommandBars.ActiveMenuBar.Controls.Add(1,1,1,oWord.CommandBars.ActiveMenuBar.Controls.Count+1,False)
Msgbox TypeName(oWord.CommandBars.ActiveMenuBar.Controls(oWord.CommandBars.ActiveMenuBar.Controls.Count))

 
--------------------
Лучше скажи мало, но хорошо. (Козьма Прутков)
PM MAIL ICQ   Вверх
Akina
Дата 3.5.2006, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Попробуй прямую подстановку значений констант:

Код

msoControlPopup=10
msoControlGraphicPopup=11
msoControlButtonPopup=12
msoControlSplitButtonPopup=13
msoControlSplitButtonMRUPopup=14
 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
andrx
Дата 3.5.2006, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Андрей
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 16.12.2005
Где: Киев

Репутация: нет
Всего: 4



Akina спасибо ! smile 
да я тоже уже нашел smile

если кому надо, 
здесь http://www.wizardwrx.com/CommonTypelibs/O2002_MSO.CSV
есть значения других констант

буду пробывать ! 
--------------------
Лучше скажи мало, но хорошо. (Козьма Прутков)
PM MAIL ICQ   Вверх
Akina
Дата 3.5.2006, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Выкладываю то же, но отконвертированное в .BAS-модуль.  

Это сообщение отредактировал(а) Akina - 3.5.2006, 14:35

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  O2002_MSO.rar 8,54 Kb


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
andrx
Дата 3.5.2006, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Андрей
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 16.12.2005
Где: Киев

Репутация: нет
Всего: 4



Akina  еще раз спасибо !  Низкий поклон ! (На большее пока что не способен - постов малова-то)
Все работает.

Код

'Предполагается, что ворд уже выполняется
Dim oWord
Set oWord = GetObject(,"Word.Application")

'добавить выпадающее меню в главном меню
Set myMenu = oWord.CommandBars.ActiveMenuBar.Controls.Add(10,1,1,oWord.CommandBars.ActiveMenuBar.Controls.Count+1,False)
myMenu .Caption = "Мое меню"

'добавить пункт меню в выпадающее меню
Set p = myMenu .Controls.Add(1)
 p.Caption = "Операция 1"


 
--------------------
Лучше скажи мало, но хорошо. (Козьма Прутков)
PM MAIL ICQ   Вверх
cardinal
Дата 3.5.2006, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Цитата(andrx @  3.5.2006,  13:53 Найти цитируемый пост)
На большее пока что не способен - постов малова-то

Я способен на большее... smile  


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.1646 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.