powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Свое меню в WebBrowser
15 сообщений из 15, страница 1 из 1
Свое меню в WebBrowser
    #37034540
TpaBka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Загружаю в WebBrowser документ Word
Все пока что нравится, но вот только WebBrowser в упор отказывается отображать моё меню (CommandBar) (т.е. вообще какое-то меню).
Причем следующий код отрабатывается без ошибок

Код: plaintext
1.
2.
3.
4.
5.
6.
Dim DocWord As Word.Document

Set DocWord = Me.WebBrowser1.Document

DocWord.Application.CommandBars.Add Name:="MyMenu", _
        Position:= 1 , Temporary:=True
DocWord.Application.CommandBars("MyMenu").Visible = True
Открываю параллельно Word, смотрю, меню создается, а вот галочка на отображение = False
Пробовал даже записать макрос в Wordе и запускать из VB –эффект тот же.(False)

Единственное что получилось отобразить в WebBrowser это «Стандартное меню», но мне такой вариант не подходит:
Код: plaintext
WebBrowser1.ExecWB OLECMDID_HIDETOOLBARS, OLECMDEXECOPT_DONTPROMPTUSER

Может кто-то сталкивался с данной проблемой?
Дайте, пожалуйста, совет что делать.
Спасибо
...
Рейтинг: 0 / 0
Свое меню в WebBrowser
    #37034834
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Визуальная часть CommandBars остались в ворде, не обессудь. Да и задумка их не предполагает: раз WebBrowser на форме, зачем ему какие-то меню? Кому надо, сами налепят на той же форме.
...
Рейтинг: 0 / 0
Свое меню в WebBrowser
    #37034909
TpaBka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а это ведь работает:
Код: plaintext
WebBrowser1.ExecWB OLECMDID_HIDETOOLBARS, OLECMDEXECOPT_DONTPROMPTUSER
...
Рейтинг: 0 / 0
Свое меню в WebBrowser
    #37034934
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прячет тулбары?
...
Рейтинг: 0 / 0
Свое меню в WebBrowser
    #37034938
TpaBka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyПрячет тулбары?
Если спрятан то показывает
и на оборот
...
Рейтинг: 0 / 0
Свое меню в WebBrowser
    #37034950
TpaBka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А да только "Сдандартый" можно
Конечно можно наверно сделать типа свой тулбар из "Сдандартого" поудалять ненужные кнопки и повстовлять свои но Я до токго пока ещё не дошол :)
И при выгрузки все вернуть
Я расчитывал на более простое решение
...
Рейтинг: 0 / 0
Свое меню в WebBrowser
    #37040106
TpaBka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче добился от меню такого вида, который хотел (путем добавления в меню форматирования кнопки печати):
Код: plaintext
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.
Private Sub Form_Load()
Set DocWord = Nothing

Call WebBrowser1.Navigate2(VB.App.Path & DocP)

Set DocWord = Me.WebBrowser1.Document

If DocWord.Application.CommandBars("Formatting").Controls( 1 ).ID <>  2521  Then
WebBrowser1.Document.CommandBars("Formatting").Controls.Add Type:=msoControlButton, ID:= _
        2521 , Before:= 1 , Temporary:=True
End If

End Sub

Private Sub WebBrowser1_NavigateComplete2(ByVal pDisp As Object, URL As Variant)
WebBrowser1.ExecWB OLECMDID_HIDETOOLBARS, OLECMDEXECOPT_DONTPROMPTUSER
WebBrowser1.Document.CommandBars("Standard").Visible = False
End Sub

Private Sub WebBrowser1_OnQuit()
If DocWord.Application.CommandBars("Formatting").Controls( 1 ).ID =  2521  Then
DocWord.Application.CommandBars("Formatting").Controls( 1 ).Delete
End If

WebBrowser1.Navigate "about:blank"
End Sub

Private Sub Form_Unload(Cancel As Integer)
Set DocWord = Nothing
End Sub

Понятно, что очень сыро, но результат разрушает мифы типа:
AntonariyВизуальная часть CommandBars остались в ворде, не обессудь. Да и задумка их не предполагает: раз WebBrowser на форме, зачем ему какие-то меню? Кому надо, сами налепят на той же форме.

Я кстати натыкался на подобные ответы в форумах по делфи
А чуть не забыл, IE >= 5!
вот что пишут на Майкрософте ( http://support.microsoft.com/kb/243058/)

Но у меня появились уже большие сомнения на счет WebBrowser (до него Я уже отказался от OLE контейнера и FramerControl)

И так Вопрос № 2 по WebBrowser
Как убрать это окно диалога

(Этот документ изменился. Сохранить изменения)

Диалог появляется после того, как, отредактировать загруженный документ word в WebBrowserе и затем вызвать метод WebBrowser1.Navigate2 (т.е сменить шаблон документа word )

Интересное наблюдение:
1 Если тупо закрыть форму с отредактированным шаблоном, то диалог не появится.
2 При первом вызове метода Navigate2 диалог тоже не выпадает

Пока что нашел только такие советы:
Править реестр!

Если кто-то знает, как и что править в реестре из VB что бы не было этого окна
или же, как обойтись меньшей кровью,
напишите плиз!
...
Рейтинг: 0 / 0
Свое меню в WebBrowser
    #37040213
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TpaBka,

В статье с микрософта, говорится о том что Что следует учесть при использовании элемента управления WebBrowser в приложениях пакета Microsoft Office 2003 или более ранних версий OfficeЭлемент управления WebBrowser не поддерживает объединение меню. Если элементы меню документа должны выводиться в меню Visual Basic, следует использовать элемент управления OLE-контейнера., а судя по расширению doc у тебя именно 2003 или ниже офис.

Теперь к вопросу о диалоге, в той-же статье написано как получать доступ к исходному приложению или получать ссылку при событии WebBrowser1_NavigateComplete2 или Чтобы получить ссылку на объект документа Office, используйте свойство Document объекта имея ссылку на документ получаешь ссылку на приложение и говоришь ему что-бы не выводил глупых вопросов манипулируя свойством DisplayAlerts
...
Рейтинг: 0 / 0
Свое меню в WebBrowser
    #37040613
TpaBka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению
Код: plaintext
DocWord.Application.DisplayAlerts = wdAlertsNone 
- не убирает диалог
Возможно из за того что он принадлежит не ворду а браузеру
А следующий код:
Код: plaintext
DocWord.Close False
или даже так:
Код: plaintext
WebBrowser1.Document.Close False
вызывает ошибку 4605 (Метод или свойство недоступны, поскольку данный документ находится в другом приложении)
...
Рейтинг: 0 / 0
Свое меню в WebBrowser
    #37041045
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TpaBkaВозможно из за того что он принадлежит не ворду а браузеруВозможно поможет WebBrowser.Silent = true
Но лучше DocWord.Saved = True.
...
Рейтинг: 0 / 0
Свое меню в WebBrowser
    #37041388
TpaBka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyВозможно поможет WebBrowser.Silent = true
Но лучше DocWord.Saved = True.
Нет не то
Вообще Мне надо, что бы шаблон ворда по умолчанию не сохранял изменения
...
Рейтинг: 0 / 0
Свое меню в WebBrowser
    #37041550
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то то. Saved = true не сохраняет документ, а делает отметку, что он сохранен, то есть не изменен с момента последнего редактирования.
...
Рейтинг: 0 / 0
Свое меню в WebBrowser
    #37045808
TpaBka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мда
Чё то не получается у меня избавится от этого гнусного диалога
Может, кому-то пригодится как вариант:
Код: plaintext
1.
2.
WebBrowser1.Navigate2 ………'- здесь WB начинает смену шаблона и появляется диалог 
SendKeys "{RIGHT}"
SendKeys "{ENTER}"  '-То есть отменяем сохранения в шаблоне 
Кстати видел интересный глюк в 7-е
Команда SendKeys почему-то не хочет работать.
Почему?
...
Рейтинг: 0 / 0
Свое меню в WebBrowser
    #37046064
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TpaBkaМда
Кстати видел интересный глюк в 7-е
Команда SendKeys почему-то не хочет работать.
Почему?

Как то же обсуждали эти две строки
SendKeys "{DELETE}" 'имитация нажатия на кнопку DELETE
SendKeys "{ENTER}" 'имитация нажатия на кнопку ENTER
У меня на ХР тоже не работают и не ругается, просто проходит и ничего не делает, чудо SP3 на свой Ворд 2003 поставил, не помогло!!!!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Свое меню в WebBrowser
    #39361651
MsDatabaseru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
отключает гнусный диалог

Me.WebBrowser1.Navigate "about:blank"
Me.WebBrowser1.Document.DesignMode = "off"

...

Me.WebBrowser1.Document.write HTML
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Свое меню в WebBrowser
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]