LEADERSOFT.ru
Разработка на заказ программ и сайтов
Разработка
Заказ программы
Прайс-лист
Техническое задание
Проектная документация
Наши клиенты
Реклама и продвижение
Магазин
Перейти в магазин
Новинки магазина
Бизнес программы
Финансовый учет
Документооборот
Исходные коды
Интернет решения
Обучение
Перейти в раздел
Форумы по разработке
Примеры на Access
Рассылка статей
Магазин IT литературы
Блог
Все статьи
Microsoft Access (VBA)
Microsoft Access (Проекты)
Microsoft ASP.NET
Сервисы Google
Технические задания
Новости IT технологий
Сервисы
Форумы разработчика
Контакты
О компании
Регистрация на сайте
Подписка на новости по Email
Сообщество Google+
Подписка subscribe.ru
Новости в формате Атом
Загрузить
Загрузить каталог программ
Форумы по информационным технологиям
Начало
Forums
Регистрация
|
Вход
Forums
Обновлено ::
06 февраля 2005
Форумы
Поиск
Список форумов
Программирование
Microsoft Access. Файлы mdb и accdb
Тема: Вопрос по...
Тема: Вопрос по удалению объекта
15.06.2007 21:07:52
All
4316 сообщения
Тема: Вопрос по удалению объекта
В модуле для автоматизации образую объект.
Public APPW As Word.Application
Затем в подпрограмме в В ЭТОМ ЖЕ МОДУЛЕ работаю с ним.
Подпрогамма вызывается из формы.
Sub My_sub ()
On Error GoTo NoHaveAPPW
'Здесь я работаю с APPW после чего печатаю документ
APPW.PrintOut
Exit Sub
NoHaveAPPW:
Select Case Err.Number
Case 91
strDOC_DOG = CurrentProject.Path & "\" & "ResumeSB.doc" ' Назначаем имя документа
Set APPW = New Word.Application ' Создаем документ
APPW.Visible = False ' Скрываем документ
APPW.Documents.Add 'Добавляем документ
Err.Clear
Resume
Case Else
MsgBox "Ошибка при печати " & Err.Description & " номер ошибки " & Err.Number
MsgBox "Ошибка при печати " & " источник ошибки " & Err.Source
Err.Clear
Exit Sub
End Select
End Sub
Эта подрограмма запускается из формы.
При выходе из формы, мне необходимо закрыть объект APPW
Из формы запускается подпрограмма CloseAPPWord
Call CloseAPPWord
расположена подпрограмма CloseAPPWord В ТОМ ЖЕ МОДУЛЕ, что и My_sub
Sub CloseAPPWord()
'On Error Resume Next 'Может здесь чего подправить???
If Err Then GoTo 999
APPW.Quit
Set APPW = Nothing
Exit Sub
999:
MsgBox "Закрытие" & Err.Description
Err.Clear
End Sub
Все работает, но только для одного цикла повтора. Образование APPW - затем его уничтожение. (Причем уничтожается на самом деле, Word-а нет)
При повторном запуске такой последовательности действий получаю ошибку из подпрограммы My_sub:
Ошибка при печати. The remote server machine does not exist or is unavailable номер ошибки 462
Ошибка при печати источник ошибки db1
Хотя APPW образуется. Заетем удалить его толком не удается. Получаю ошибку 91 из CloseAPPWord
Если закрыть Access, а затем снова повторить, то все опять работает, но только для одного цикла повтора.
Посоветуйте где надо подправить. Используется Access 2000, Word 2000, Win98.
Спасибо.
Евгений.
P.S. Клиенты автоматизации
Автор:
Евгений
от 0:00:00
Источник ...
15.06.2007 21:07:52
ТимурРахимов
16 сообщения
RE: Вопрос по удалению объекта
Посмотрел я на код и очень удивился: в нём я не увидел фрагмента, которым должен создаваться экземпляр (instance) программы в памяти, вот примерно так:
Public APPW As Word.Application
Set APPW = CreateObject("Word.Application")
APPW.Visible = True
После этого я призадумался: а как вообще (хоть и с причудами) этот код работал? Почему Word всё-таки запускался и с ним устанавливалась связь? Пришлось немного порыться в MS Knowledge Base. Вот смотрите, это, по моему мнению, имеет отношение к вашему случаю (цитирую с сокращениями):
PRB: Automation Error Calling Unqualified Method or Property
ID: Q189618
SYMPTOMS
While running code that uses Automation to control Microsoft Word 97 or Word 2000, you may receive one of the following error messages:
Run-time error '-2147023174' (800706ba)
Automation error
-or-
Run-time error '462': The remote server machine does not exist or is unavailable
CAUSE
Visual Basic has established a reference to Word due to a line of code that calls a Word object, method, or property without qualifying it with a Word object variable. Visual Basic does not release this reference until you end the program. This errant reference interferes with automation code when the code is run more than once.
RESOLUTION
Modify the code so that each call to a Word object, method, or property is qualified with the appropriate object variable.
MORE INFORMATION
... When you write code to use a Word object, method, or property, you should always precede the call with the appropriate object variable. If you do not, Visual Basic uses a hidden global variable reference which it sets to the currently running instance. If Word is shutdown, or if the declared object variable is released, the hidden global variable will now reference an invalid (i.e., destroyed) object. When running the automation code again, calls to this hidden object variable will fail with the aforementioned error.
P.S. Клиенты автоматизации
Автор:
Тимур Рахимов
от 12.01.2004 2:33:51
Источник ...
15.06.2007 21:07:52
All
4316 сообщения
RE: Вопрос по удалению объекта
Я заменил строчку
Set APPW = New Word.Application
на
Set APPW = CreateObject("Word.Application")
Но ничего не получается. Я получаю все ту же ошибку: Run-time error '462': The remote server machine does not exist or is unavailable
Подскажите еще чего надо сделать.
Евгений.
P.S. Клиенты автоматизации
Автор:
Евгений
от 0:00:00
Источник ...
15.06.2007 21:07:52
All
4316 сообщения
RE: Вопрос по удалению объекта
Я заменил строчку
Set APPW = New Word.Application
на
Set APPW = CreateObject("Word.Application")
Но ничего не получается. Я получаю все ту же ошибку: Run-time error '462': The remote server machine does not exist or is unavailable
Подскажите еще чего надо сделать.
Евгений.
P.S. Клиенты автоматизации
Автор:
Евгений
от 0:00:00
Источник ...
15.06.2007 21:07:52
All
4316 сообщения
RE: Вопрос по удалению объекта
Я заменил строчку
Set APPW = New Word.Application
на
Set APPW = CreateObject("Word.Application")
Но ничего не получается. Я получаю все ту же ошибку: Run-time error '462': The remote server machine does not exist or is unavailable
Подскажите еще чего надо сделать.
Евгений.
P.S. Клиенты автоматизации
Автор:
Евгений
от 0:00:00
Источник ...
Страница 1 из 2
1
2
Следующий
Программирование
Microsoft Access. Файлы mdb и accdb
Тема: Вопрос по...
Одноуровневый вид
Древовидная структура
Самый старый из новых
Новейший из старых
Поиск
Список форумов
Начало
|
Forums
Copyright 2002-2016 Leadersoft.ru
::
Leadersoft
::
Соглашение о безопасности
::
Условия использования