Ошибка «Вызов был отклонен» при печати
Иногда при попытке печати может возникать ошибка с текстом «Вызов был отклонен». При этом печать в MS Word (или MS Excel) прерывается.
Чаще всего причиной такой ошибки является появившееся диалоговое окно в программе MS Word. Это может быть окно активации MS Word или какое-либо сообщение.
Работает это следующим образом. При вызове печати программа ExaRent обращается к MS Word и последовательно отправляет ему команды вывода текста, вставки таблиц, установки форматирования и другие. По какой-либо причине MS Word может отобразить сообщение пользователю — модальное окно. ExaRent не знает о появившемся сообщении и отправляет очередную команду MS Word, на что тот отвечает, что эта команда не принята. ExaRent прерывает работу с MS Word и показывает сообщение «Вызов был отклонен».
Исправляем ошибку
Для исправления ошибки нужно избавиться от появления такого окна в MS Word. Решение зависит от того, какое окно появляется.
Попробуйте найти в интернете исправление ошибки по тексту в окне сообщения MS Word.
Например, если в офисной программе вы видите сообщение «Неверно указана единица измерения», то решения можно посмотреть здесь:
http://wasidlow.blogspot.com/2013/07/office-word-2007.html
http://fb.ru/article/394238/kak-ispravit-oshibku-neverno-ukazana-edinitsa-izmereniya-v-word
Для сообщения «Interface not supported» есть решение здесь:
https://stackoverflow.com/questions/43400794/interface-not-supported-error-when-attempting-to-open-excel-from-delphi
Мы стараемся как можно оперативнее обеспечивать вас актуальной справочной информацией. Ввиду частых обновлений приложения информация в этом материале может не совсем соответствовать или быть неполной. Благодарим за понимание.
Не нашли ответа на ваш вопрос? Напишите по электронному адресу info@exaoffice.ru — мы ответим максимально быстро.
← →
Picco
(2003-04-15 11:09)
[0]
Поможите чем можите
Проблемма в следующем:
вызываю Word
MsWord:=CreateOleObject(«Word.Application»);
на некоторых машинах все нормально, на некоторых ошибка
«Вызов был отклонен», при этом в списке запущенных задач обнаруживаю три экземпляра запущенных Word
При кратком изучении ситуации в силу поверхностных знаний ActiveX технологий нахожу на в реестре машинах с ошибкой три
зарегистрированных объекта Word:
Word.Application
Word.Application.8
Word.Application.10
Все попытки с инициализацией каждого по имени CreateOleObject(«Word.Application.8..10»);
из вышеперечисленных
ситуация та же «Вызов был отклонен» и запуск трёх Word»ов сразу.
Может кто знает как по другому его вызывать или обрабатывать сию ситуацию.
Спасибо за внимание
← →
Shirson
(2003-04-15 12:23)
[1]
Нет, проблема не в трёх зарегистрированных объектах, у меня их тоже три (только не 10, а 9) и всё нормально работает.
Может в коде у тебя что не так?
← →
Rol
(2003-04-15 12:38)
[2]
Код в студию!
← →
Picco
(2003-04-15 13:09)
[3]
На входе программы текстовый файл с подстановочными полями
типа <ДИРЕКТОР>=»Иванов И.И» и второй параметр шаблон Word на основе документа которого она будет искать и заменять поля.
procedure TForm1.FormCreate(Sender: TObject);
var
F: TextFile;
i,j: integer;
S,S1,s2:string;
Template,FileInput:string;
MsWord,myRange:OleVariant;
begin
try
MsWord:=CreateOleObject(«Word.Application»);
FileInput:=LowerCase(ParamStr(1));
Template:=LowerCase(ParamStr(2));
MsWord.Documents.Add(Template,EmptyParam);
i:=0;
AssignFile(F,FileInput);
Reset(F);
if not RxMemoryData1.Active then RxMemoryData1.Active:=true;
while not eof(f) do
begin
ReadLn(F,S);
S:=OemToAnsiStr(S);
S1:=ExtractWord(1,S,[«=»]);
S2:=ExtractWord(2,S,[«=»]);
RxMemoryData1.Append;
RxMemoryData1.FieldByName(«names»).AsString:=S1;
RxMemoryData1.FieldByName(«values»).AsString:=S2;
RxMemoryData1.Post;
end;
myRange:=MsWord.ActiveDocument.Content;
with RxMemoryData1 do
begin
First;
While not eof do
begin
myRange.Find.Execute(RxMemoryData1.FieldByName («names»).AsString, EmptyParam, EmptyParam, EmptyParam,EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,Trim(RxMemoryData1.FieldByName(«values»).AsString),wdReplaceAll);
Next;
end;
end;
CloseFile(F);
MsWord.Visible:=True;
Application.Terminate;
except
begin
ShowMessage(«Неудачная попытка печати»);
Application.Terminate;
end;
end;
end;
← →
V-A-V
(2003-04-15 15:03)
[4]
Да кстати у меня такая же бяка на некоторых машинах случается, и тоже никак поймать не могу отчего…
Хотелось бы послушать мнения народа по этому поводу.
← →
Shirson
(2003-04-15 15:33)
[5]
И на какой строке вываливается ошибка?
P.S. Я у себя ворд объявляю не как OleVariant, а как просто Variant.
← →
Picco
(2003-04-15 16:20)
[6]
Пробовал я и с variant то же самое
а на строке CreateOleObject(«Word.Application») конечно вываливается,странно но с Excel подобных бяк не встречал.
← →
Ozone
(2003-04-16 09:39)
[7]
Дык, Word после работы закрывать надо — MsWord.Quit;
< MsWord.Documents.Add(Template,EmptyParam); >
По-моему, лучше использовать для этого variant»скую переменную.
Что-то типа WordDocument:=MsWord.Documents.Add;
← →
Shirson
(2003-04-16 10:29)
[8]
>Ozone
Если у Picco при первом обращении вываливается ошибка, то о каком закрытии ворда идёт речь?
Кстати ворд закрывается командой
MsWord.Application.Quit(false,0)
И команда
MsWord.Documents.Add
тоже воплне прекрасно работает.
Проблемы
В Microsoft Office Accounting Professional или в Microsoft Office Accounting Express могут возникнуть указанные ниже проблемы.
-
Появляется следующее сообщение об ошибке:
Произошла следующая ошибка Word: вызов был отвергнут абонентом. (Исключение из HRESULT: 0x80010001 (RPC_E_CALL_REJECTED)).
-
Специалист по учету перестает отвечать на запросы.
-
Финансовый расчет перестает отвечать на запросы.
Эта проблема возникает, если выполняется одно из указанных ниже условий.
-
Документ экспортируется в Microsoft Office Word.
-
Документ экспортируется в сообщение электронной почты.
Причина
Эта проблема возникает из-за того, что в Word не включена команда Показать все окна на панели задач .
Решение
Чтобы устранить эту проблему, установите флажок Показать все окна на панели задач в Word. Для этого воспользуйтесь одним из указанных ниже способов в зависимости от того, какая версия Word используется.
Microsoft Office Word 2007
-
Откройте документ в Microsoft Office Word 2007.
-
Нажмите кнопку Microsoft Office, нажмите кнопку Параметры Wordи выберите пункт Дополнительно.
-
В разделе экранустановите флажок Показать все окна на панели задач .
-
Нажмите кнопку ОК.
Microsoft Office Word 2003
-
Откройте документ в Microsoft Office Word 2003.
-
В меню Сервис выберите пункт Параметры.
-
На вкладке вид установите флажок в поле Windows на панели задач .
-
Нажмите кнопку ОК.
Нужна дополнительная помощь?
Я написал код C# в консольном приложении, чтобы открыть два excels и скопировать и вставить данные из одного excel в другой excel. Он работал нормально, пока видимость Excel назначения не была истинной. Но мне нужно скрыть excel во время выполнения. Поэтому я изменил видимость в false. Как,
_destExcelApp = new Excel.ApplicationClass();
_destExcelApp.Visible = false;
теперь он показывает исключение, как
вызов был отклонен. (Исключение из HRESULT: 0x80010001 (RPC_E_CALL_REJECTED))
Как решить эту проблему?
6 ответов
Я столкнулся с этой же ошибкой, когда я развернул свое приложение на машине без полностью активированной и лицензированной установки Excel. Я потратил часы, пытаясь диагностировать проблему. Убедитесь, что вы проверяете установки Office, чтобы убедиться, что они завершены.
Я столкнулся с той же ошибки, и многие предложенные решения не работают для меня.
У меня было приложение, работающее в windows 8, и я обнаружил, что проблема в Excel всегда просит выбрать приложение по умолчанию для расширений «xlsx».
При выполнении приложения диалогового окна не появилось, просто была показана ошибка.
Я решил проблему собирается Панель Управления > Программы > Программы По Умолчанию и установка Microsoft Office Excel 2016 в качестве программы по умолчанию для xlsx файлы.
Я столкнулся с этой проблемой с Word, и моим решением было удаление OpenOffice. Я не уверен, есть ли другое решение, но, скорее всего, связано с dll и конфликтом с обработчиком файлов по умолчанию для конкретных файлов, которые вы генерируете программно.
вы копирование информации из одного документа в другой, или вы идете назад и вперед между 2 документов копирование ячеек? Excel однопоточный, поэтому, если вы идете туда и обратно, это может вызвать эту проблему.
убедитесь, что MS Word/Excel не отображает диалоговое окно, требующее ответа.
Я установил точку останова на линии, которая вызвала сбой, затем установите .Visible
true в PowerShell, чтобы найти вот это:
$word.Visible = $true
после того, как я нажал » да » и обновил настройки, после того, как я повторно запустил свои скриптовые com-взаимодействия, они преуспели.
Я столкнулся с этой ошибкой сегодня в Excel 2016.
мы узнали, что на компьютере с этой проблемой были активированы некоторые надстройки.
странно, что один компьютер занял века, чтобы начать excel. после деактивации надстроек наша программа работала нормально.
странно, мы не могли воспроизвести это на наших компьютерах dev.
I have word incorporated in my winform and I get the following error:
System.Runtime.InteropServices.COMException (0x80010001): Call was rejected by callee. (Exception from HRESULT: 0x80010001 (RPC_E_CALL_REJECTED))
at Microsoft.Office.Interop.Word.DocumentClass.Activate()
when the code execute the line of code «doc.ActiveWindow». Does anyone know or have any idea of how to catch this exception and not display it or how to resolve it? I’ve been banging my head on this for a few days and is stuck.
asked Feb 13, 2013 at 19:49
0
Load 5 more related questions
Show fewer related questions