Member 11438562 Ответов: 1

Способ -2147417851 ошибка '~' объекта '~' ошибка на VB6 с Word 2003


Здесь мы имеем очень странную ошибку, для которой мы не смогли найти никакого решения. Я надеюсь, что VB6 ,word expert, может помочь нам в этом.

У нас есть наш код в VB6. В коде есть функциональность, в которой мы отправляем документы word клиенту/пользователям через код. В Word documnets есть закладки. Во время операции отправки код создает объект word, генерирует закладки в ActiveDocument и отправляет их клиенту.

Тем не менее, пользователи получают ниже ошибки при отправке документов. Мы пробовали пробные сценарии пользователей на наших локальных машинах, но ошибка не воспроизводится. Ниже приведено описание ошибки через журнал для пользователя.

Описание ошибки -2147417851 метод '~' объекта '~' не удалось
Источник RevisionDLL CGCDocWordApp:Метод ActiveBookmarkSet
RevisionDLL CGCDocWordApp:Метод GetNextTypeBookmark
RevisionDLL IDocument:Метод GenerateDocument
DistribDll IDistribution::PrepareDoc
Примечание: ошибка возникает, когда документы находятся в связке. и эта ошибка непоследовательна. Мы проверили версию MDAC всех серверов. Версия MDAC соответствует

Который искал в Google все возможные решения, но ни одно из них не работает для нас.

CHill60

Я видел аналогичную ошибку, когда путь к документу word был "слишком длинным" - если вы используете полный путь dns, попробуйте сопоставить диск с местоположением файла и использовать его - если это работает, то проблема заключается в длине пути, и вам придется найти способ сократить его

Richard Deeming

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

Member 11438562

Всем Привет,

Спасибо Вам за ваш ответ, я буду имплиментировать решения, предоставленные всеми вами.

И пусть вы все знаете о статусе.

Огромное спасибо.:)

Member 11438562

Привет Ричард,
Ниже приведен код, который показан в описании ошибки.

Public Sub ActiveBookmarkSet(iIndex как целое число, необязательный szBookmark как строка = "")
При Ошибке GoTo ActiveBookmarkSetErr
Dim iErrorTimes как целое число

iErrorTimes = 0
Если нет moBookmarks это ничто тогда
Если iIndex > 0, то
Если miActiveBookmarkCount >= iIndex, то
Установите moBookmark = moBookmarks.Пункт(iIndex)
mszActiveBookmark = moBookmark
Конец, Если
ElseIf szBookmark < & gt; "" Тогда
Если moBookmarks.Существует(szBookmark) = True тогда
Установите moBookmark = moBookmarks.Товар(szBookmark)
mszActiveBookmark = moBookmark
Конец, Если
Конец, Если
Еще
mobjRevision.objError.RaiseError CWORDERR_BASE_NoActiveBookmarks, App.EXEName & "::CGCDocWordApp::ActiveBookmarkSet", ""
Конец, Если
Выход Из Субмарины
ActiveBookmarkSetErr:
iErrorTimes = iErrorTimes + 1
Если iErrorTimes < 6, то
Возобновиться
Конец, Если
& "::CGCDocWordApp:метод ActiveBookmarkSet", "")
Позвоните в mobjRevision.objError.RaiseError(Ошибаться, Приложение.EXEName &ампер; "::CGCDocWordApp:способ ActiveBookmarkSet", заблуждаются.Описание)
Конец Подводной Лодки

Member 11438562

Знает ли какой-нибудь орган, что может быть причиной этой непоследовательной ошибки?

Member 11438562

Обратите внимание, что мое приложение-это приложение на базе windows, работающее на сервере Citrix.

1 Ответов

Рейтинг:
2

Member 13278902

"Скачать COMMTB32.DLL и скопировать в тот же Каталог, что и VB6.exe-работал на меня.