|
VB.Net-диалог с WebBrowser из события Word
|
|||
---|---|---|---|
#18+
В моём приложении из VB.Net загружаются документы Word. Необходимо осуществить открытие диалогового окна (VB.Net-формы) при событии нажатия пользователем правой кнопки в вордовском документе. В принципе всё работает, но столкнулся с одной проблемой, модель которой представлена в простеньком коде: При подключённой сборке Word созданы две стандартные формы: Form1 (c кнопкой Button1) и Dialog1. Код программы такой: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
При нажатии кнопки №1 открывается документ Word. При клике правой кнопкой мыши в создавшемся документе открывается диалоговое окно Dialog1. В данное окно можно поместить любые контролы и они будут прекрасно работать, за исключением WebBrowser. Если в Dialog1 поместить WebBrowser, то при обработке события WindowBeforeRightClick выскакивает ошибка: Ошибка при создании формы. См. Exception.InnerException. Ошибка: «Создание экземпляра элемента ActiveX "8856f961-340a-11d0-a96b-00c04fd705a2" невозможно: текущий поток не находится в однопоточном контейнере.» Почему эта ошибка возникает только с браузером и как всё-таки при обработке вордовского события подгружать форму с работающим браузером? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2012, 20:55 |
|
VB.Net-диалог с WebBrowser из события Word
|
|||
---|---|---|---|
#18+
Да, это тот самый WebBrowser от MS... А если элемент помещать на форму динамически, уже после создания инстанса Word2003? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2012, 22:39 |
|
VB.Net-диалог с WebBrowser из события Word
|
|||
---|---|---|---|
#18+
Извиняюсь, конечно - синтаксис не .NET. Но управление вам, насколько я понимаю, нужно экземпляром Word <= 2003... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2012, 22:42 |
|
VB.Net-диалог с WebBrowser из события Word
|
|||
---|---|---|---|
#18+
AndreTM, Да я уже и пробовал: Private Sub Dialog1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim wb As New WebBrowser Me.Controls.Add(Me) End Sub Выдаёт ошибку: «Создание экземпляра элемента ActiveX "8856f961-340a-11d0-a96b-00c04fd705a2" невозможно: текущий поток не находится в однопоточном контейнере.» Только уже в самой подпограмме загрузки диалогового окна. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2012, 23:09 |
|
VB.Net-диалог с WebBrowser из события Word
|
|||
---|---|---|---|
#18+
А попробовать, как я написАл? С явным указанием объекта из библиотеки? Код: vbnet 1.
? Если же "ошибка повторяется" - попробуйте воспроизвести данный код на другом компе/под другой ОС ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2012, 23:16 |
|
VB.Net-диалог с WebBrowser из события Word
|
|||
---|---|---|---|
#18+
AndreTM, SET, насколько я знаю, не поддерживается в VB.NET. Но и при создании нового браузера через DIM : Dim wb = New Me.Controls.Add("Forms.WebBrowser.1", "WebBrowser1") выдаёт ошибку (подчёркивает Me). Вроде как не правильный синтаксис, или может я не правильно Вас понял... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2012, 23:32 |
|
VB.Net-диалог с WebBrowser из события Word
|
|||
---|---|---|---|
#18+
Кстати, если вы используете позднее связывание, - к проекту подключена библиотека MS Forms 2.0 ? Ну и насчёт команд в VB.NET - просто Код: vbnet 1. 2. 3. 4.
что выдает? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2012, 23:51 |
|
VB.Net-диалог с WebBrowser из события Word
|
|||
---|---|---|---|
#18+
AndreTM, Ошибка 1 Невозможно преобразовать значение типа "String" в "System.Windows.Forms.Control" Ошибка 2 Слишком большое число аргументов у "Public Overridable Sub Add(value As System.Windows.Forms.Control)". Короче требует задавать исключительно тип соответствующего контрола :( ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2012, 00:16 |
|
VB.Net-диалог с WebBrowser из события Word
|
|||
---|---|---|---|
#18+
Подключил Microsoft Forms 2.0 - результат тот же. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2012, 00:20 |
|
|
start [/forum/topic.php?fid=60&gotonew=1&tid=2157456]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
10ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 284ms |
total: | 425ms |
0 / 0 |