Произошла исключительная ситуация microsoft word метод или свойство недоступны поскольку эту команду

   Cancell

06.12.16 — 11:41

Всем привет, такая проблема, есть внешняя обработка с макетом active document, при открытии сохраняю макет в файл:

    Если ЗначениеЗаполнено(Каталог) Тогда

        Попытка

            ПолноеИмяФайла = Каталог;

            Макет = РеквизитФормыВЗначение(«Объект»).ПолучитьМакет(«ПФ_MXL_МОЛ»);

            Макет.Записать(ПолноеИмяФайла);

            Возврат ПолноеИмяФайла;                      

        Исключение

            Сообщение = Новый СообщениеПользователю;

            Сообщение.Текст = «Не удалось записать файл в каталог пользователя «+ОписаниеОшибки();      

            Сообщение.Сообщить();

            Возврат Неопределено;          

        КонецПопытки;            

    Иначе

        Сообщение = Новый СообщениеПользователю;

        Сообщение.Текст = «Не указан каталог. Сохранение файла невозможно»;

        Сообщение.Сообщить();

        Возврат Неопределено;

    КонецЕсли;    

Потом открываю файл —

    Попытка

        ШаблонВорд = Word.Documents.Open(МакетВорд);//ПолучитьCOMОбъект(МакетВорд);

    Исключение

        Сообщение = Новый СообщениеПользователю;

        Сообщение.Текст = ОписаниеОшибки();

        Сообщение.Сообщить();

        Возврат;

    КонецПопытки;  

После этого пытаюсь делать замену в документе через закладки —

    КомОбъект.Bookmarks(«ДатаДоговора»).Select();

    КомОбъект.Application.Selection.TypeText(Формат(ПолучитьДату(СсылкаДок),»ДЛФ=DD»));    

И выдается ошибка —

Произошла исключительная ситуация (Microsoft Word): Метод или свойство недоступны, поскольку эту команду нельзя использовать в режиме чтения.

В настройках ворда поотключал все режимы безопасности, но даже если я не программно открываю этот файл то он все равно открывается в режиме только чтение.

   MUXACb

1 — 06.12.16 — 11:54

(0) А не повис-ли у вас, абсолютно случайно, лишний процесс Word, связанный с открываемым файлом?

   Cancell

2 — 06.12.16 — 11:55

(1) те что виснут обрубаю потом и пробую заново.

   Cancell

3 — 06.12.16 — 11:56

(1) файл каждый раз создается новый, так что блокировок не должно быть

   Масянька

4 — 06.12.16 — 11:56

(2) Уверен? Что Word не висит?

Права на док-т, папку…?

   Масянька

5 — 06.12.16 — 11:56

(3) Проверь все-таки.

   Cancell

6 — 06.12.16 — 11:58

(5) файл задается так —

    //задаем имя сохранения на диск

    КлючУникальности = Новый УникальныйИдентификатор;    

    Каталог = «C:Temp»+КлючУникальности+»MOL.doc»;

каждый раз файл точно новый.

(2) права на папку у сервера 1С есть

тут на самом деле даже когда я просто открываю этот файл он уже в режиме только чтения, после того как его из макета сохраняю

   Cancell

7 — 06.12.16 — 11:59

(2) — > (4)

   Vladal

8 — 06.12.16 — 12:01

(6) А в самом макете он у тебя случаем не read-only? Или макет — это табличный документ?

   Cancell

9 — 06.12.16 — 12:01

(8) макет это active document, грузил из ворда вроде не было таких ограничений…

   Масянька

10 — 06.12.16 — 12:02

(7) Три кнопки нажми и посмотри не висит Word.

(8) Вариант…

   Vladal

11 — 06.12.16 — 12:03

(9) Сохрани его еще раз, проверь атрибуты, загрузи.

   Vladal

12 — 06.12.16 — 12:03

(9) Стопни отладчиком место открытия Word, посмотри файл — он у тебя с каким атрибутами?

   devpro100

13 — 06.12.16 — 12:07

(3) Это ведь не важно — новый, не новый. Если после записи макета активный документ остался открытым, то при новом открытии конечно он будет только в режиме чтения. Попробуй записать, вырубить все процессы в менеджере задач и открыть. Если пройдет, значит процесс таки блокирует твой документ и не дает с ним работать.

   Cancell

14 — 06.12.16 — 14:33

(11) перезагрузил документ в макет — без изменений

(12) отладчиком увидел:ШаблонВорд.ReadOnly = Истина …

как с этим быть?

   Cancell

15 — 06.12.16 — 14:34

это после ШаблонВорд = Word.Documents.Open(МакетВорд);

   Cancell

16 — 06.12.16 — 15:32

(15) проверил на всяк, но не прокатило =

{Форма.Форма.Форма(56)}: Поле объекта недоступно для записи (ReadOnly)

    ШаблонВорд.ReadOnly = Ложь;

   Масянька

17 — 06.12.16 — 15:43

(16) У тя сам макет ReadOnly. Сохрани макет нормально.

  

Cancell

18 — 06.12.16 — 17:23

(17) в итоге нашел рабочую обработку через двоичные данные.

Всем спасибо!

Проблема

При попытке использовать Microsoft Visual Basic for Applications (VBA) для изменения свойств документа появляется одно из приведенных ниже сообщений об ошибке.

Ошибка при выполнении ‘4248’:

Команда недоступна, так как нет открытых документов

Ошибка при выполнении ‘4605’:
Метод или свойство недоступны, поскольку окно документа не активно

или

Ошибка при выполнении ‘5941’:
Запрашиваемый номер семейства не существует

Причина

Проблема возникает, когда нет открытых документов или не открыт документ, на который сделана ссылка. В программе Word предусмотрено изменение свойств только открытых документов.

Примечание. Такие сообщения об ошибках могут появиться также в том случае, если открыт документ, у которого свойство Видимый имеет значение Ложь.

Временное решение

Корпорация Microsoft предлагает примеры программного кода только для иллюстрации и не предоставляет явных или подразумеваемых гарантий относительно их корректной работы в конкретных случаях и в пользовательских приложениях. Примеры в данной статье рассчитаны на пользователя, имеющего достаточный уровень знаний соответствующего языка программирования, а также необходимых средств разработки и отладки. Специалисты служб технической поддержки Microsoft могут пояснить назначение тех или иных конструкций кода в конкретном примере, но модификация примеров и их адаптация к задачам разработчика не поддерживается. Если вам требуется дополнительная консультация по вопросам программирования, вы можете обратиться в службу консалтинга Microsoft или связаться с сертифицированными партнерами компании Microsoft. Дополнительную информацию о партнерах корпорации Microsoft можно найти в Интернете по следующему адресу:

http://www.microsoft.com/partner/referral/ За дополнительной информацией обратитесь к веб-узле корпорации Microsoft по адресу:

http://support.microsoft.com/default.aspx?scid=fh;RU;CNTACTMSЗа дополнительной информацией об использовании приведенных в этой статье примеров обратитесь к следующей статье Microsoft Knowledge Base:

290140 How to Run Sample Code from Knowledge Ниже приведен пример макроса на языке Visual Basic for Applications для изменения значения поля Заголовок в диалоговом окне Свойства. Пример содержит специальный программный код для перехвата ошибок на случай, если нет открытых документов, и вывода соответствующего сообщения.

Sub ChangeDocProperties()

On Error GoTo ErrHandler
ActiveDocument.BuiltInDocumentProperties("Title") = "My Title"
Exit Sub

ErrHandler:
If Err <> 0 Then
'
' Display an error message.
'
MsgBox Err.Description
'
' Clear the error.
'
Err.Clear
Resume Next

End If

End Sub

Приведенный ниже программный код предусмотрен для выполнения следующих целей.

  • Перехват ошибок, если нет открытых документов

    и

  • Создание нового документа при перехвате ошибки

    и

  • Возобновление нормальной работы в строке, вызвавшей появление ошибки

Sub ChangeDocProperties()

On Error GoTo ErrHandler
ActiveDocument.BuiltInDocumentProperties("Title") = "My Title"
Exit Sub

ErrHandler:
If Err <> 0 Then
'
' Add a document.
'
Documents.Add
'
' Clear the error.
'
Err.Clear
'
' Run the code that caused the error.
'
Resume

End If

End Sub

Ссылки

Для получения помощи по работе с Visual Basic обратитесь к следующей статье Microsoft Knowledge Base:

305326 Programming Resources for Visual Basic for Applications

Нужна дополнительная помощь?

Переодически на некоторых компьютерах возникает следующая ошибка:

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. —> System.Runtime.InteropServices.COMException: Метод или свойство Open недоступны, потому что разрешение на работу с
данным документом ограничено.

   — End of inner exception stack trace —

   at System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters)

   at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)

при попытке вызова следующих строчек

app = GetObject(«Word.Application»,
out created);

documents = GetPropertyValue(app,
«Documents»);

Type type = documents.GetType();

return type.InvokeMember(
“Open” , BindingFlags.GetProperty,
null, obj, new
object
[0]);

Не подскажете в чем проблема?

  • Remove From My Forums
  • Question

  • Hi All,

    I am trying to copy a content from word document and paste it to another word document using vb.net.I have been using visual studio 2015 and referencing the dll Microsoft.Office.Interop.Word , in dev machine we have Windows 8 and it is working fine.

    But the users machine is installed with Office 2016 , there it is throwing error as «This method or property is not available because this command is not available for reading.» and stack trace is «

      at Microsoft.Office.Interop.Word.Selection.PasteAndFormat(WdRecoveryType Type)
       at PCReportsPDF.CommonMethods.splitWord(String wdDoclocation, String newWdDoclocation, String shortnameSearch, String partnernameSearch, String& DestLocation) in C:AdventTFSPCReportsPDF2PCReportsPDFCommonMethods.vb:line 216

    «

    I dont find any solution in internet to resolve this.Anyone is facing this kind of issues and have workaround please help me in resolving this issue.Please find below the code 

     wdDoc = wdApplication.Documents.Open(wdDoclocation, [ReadOnly]:=True)
                wdApplication.Visible = False
                newWdDoc = wdApplication.Documents.Open(newWdDoclocation, [ReadOnly]:=True)
                wdApplication.Visible = False
                Dim r As Word.Range
                r = wdDoc.Range
                r = wdDoc.Content
                r.Find.Execute(FindText:=CType(shortnameSearch, Object), Forward:=True, MatchWholeWord:=True)
                wdDoc.Bookmarks.Add(«searchStart», CType(r, Object))
                r = wdDoc.Content
                r.Find.Execute(FindText:=CType(partnernameSearch, Object), Forward:=False, MatchWholeWord:=True)
                wdDoc.Bookmarks.Add(«searchEnd», CType(r, Object))
                wdDoc.Range(CType(wdDoc.Bookmarks(«searchStart»).Range.Start, Object), CType(wdDoc.Bookmarks(«searchEnd»).Range.Start, Object)).Select()
                wdDoc.ActiveWindow.Selection.Copy()
                newWdDoc.Activate()
                wdApplication.Selection.PasteAndFormat(Word.WdRecoveryType.wdPasteDefault)

    • Moved by

      Tuesday, January 9, 2018 10:06 AM
      Moved from vb.net forum

Проблема

При попытке использовать Microsoft Visual Basic for Applications (VBA) для изменения свойств документа появляется одно из приведенных ниже сообщений об ошибке.

Ошибка при выполнении ‘4248’:

Команда недоступна, так как нет открытых документов

Ошибка при выполнении ‘4605’:
Метод или свойство недоступны, поскольку окно документа не активно

или

Ошибка при выполнении ‘5941’:
Запрашиваемый номер семейства не существует

Причина

Проблема возникает, когда нет открытых документов или не открыт документ, на который сделана ссылка. В программе Word предусмотрено изменение свойств только открытых документов.

Примечание. Такие сообщения об ошибках могут появиться также в том случае, если открыт документ, у которого свойство Видимый имеет значение Ложь.

Временное решение

Корпорация Microsoft предлагает примеры программного кода только для иллюстрации и не предоставляет явных или подразумеваемых гарантий относительно их корректной работы в конкретных случаях и в пользовательских приложениях. Примеры в данной статье рассчитаны на пользователя, имеющего достаточный уровень знаний соответствующего языка программирования, а также необходимых средств разработки и отладки. Специалисты служб технической поддержки Microsoft могут пояснить назначение тех или иных конструкций кода в конкретном примере, но модификация примеров и их адаптация к задачам разработчика не поддерживается. Если вам требуется дополнительная консультация по вопросам программирования, вы можете обратиться в службу консалтинга Microsoft или связаться с сертифицированными партнерами компании Microsoft. Дополнительную информацию о партнерах корпорации Microsoft можно найти в Интернете по следующему адресу:

http://www.microsoft.com/partner/referral/ За дополнительной информацией обратитесь к веб-узле корпорации Microsoft по адресу:

http://support.microsoft.com/default.aspx?scid=fh;RU;CNTACTMSЗа дополнительной информацией об использовании приведенных в этой статье примеров обратитесь к следующей статье Microsoft Knowledge Base:

290140 How to Run Sample Code from Knowledge Ниже приведен пример макроса на языке Visual Basic for Applications для изменения значения поля Заголовок в диалоговом окне Свойства. Пример содержит специальный программный код для перехвата ошибок на случай, если нет открытых документов, и вывода соответствующего сообщения.

Sub ChangeDocProperties()

On Error GoTo ErrHandler
ActiveDocument.BuiltInDocumentProperties("Title") = "My Title"
Exit Sub

ErrHandler:
If Err <> 0 Then
'
' Display an error message.
'
MsgBox Err.Description
'
' Clear the error.
'
Err.Clear
Resume Next

End If

End Sub

Приведенный ниже программный код предусмотрен для выполнения следующих целей.

  • Перехват ошибок, если нет открытых документов

    и

  • Создание нового документа при перехвате ошибки

    и

  • Возобновление нормальной работы в строке, вызвавшей появление ошибки

Sub ChangeDocProperties()

On Error GoTo ErrHandler
ActiveDocument.BuiltInDocumentProperties("Title") = "My Title"
Exit Sub

ErrHandler:
If Err <> 0 Then
'
' Add a document.
'
Documents.Add
'
' Clear the error.
'
Err.Clear
'
' Run the code that caused the error.
'
Resume

End If

End Sub


Ссылки

Для получения помощи по работе с Visual Basic обратитесь к следующей статье Microsoft Knowledge Base:

305326 Programming Resources for Visual Basic for Applications

Нужна дополнительная помощь?

 

MrViper

Пользователь

Сообщений: 60
Регистрация: 01.01.1970

Excel 2010  

  Возникает ошибка 4605 — «Метод или свойства не доступны, поскольку буфер обмена пуст или содержит неверные данные» в VBA при ставки таблицы из Excel в Word такой строкой:  

  wordApp.Selection.PasteExcelTable False, False, False, где wordapp объект Word  

   Пробовал так — после ошибки код останавливаю, и пытаюсь через Ctrl+V вставить в Word — не выходит; такой ощущение что буфер пуст. Причем на листе Excel копируемая область показана (обведена мегающим диапазоном). НО! вставляю на любой лист Excel и чудесным образом буфер опять заполнился, но в word всталять все равно не хочет. Как быть?

 

MrViper

Пользователь

Сообщений: 60
Регистрация: 01.01.1970

Вот небольшой примерчик  
Повторясь  — Excel 2010

 

subtlety

Пользователь

Сообщений: 375
Регистрация: 01.01.1970

не очень понятно, там цикл.  

  Так работает:  

  Private Sub w_word_go()  

  Set wordApp = CreateObject(«word.application»)  
   wordApp.Visible = False   ‘False  
   wordApp.Documents.Add NewTemplate:=False, DocumentType:=0  
   Application.ScreenUpdating = False  

         ‘For i = 1 To 30  
       Range(Cells(1, 1), Cells(5, 10)).Copy  
       wordApp.Selection.PasteExcelTable False, False, False  
       wordApp.Selection.TypeParagraph  
   ‘Next i  

         Application.ScreenUpdating = True  
   wordApp.Visible = True  
End Sub

 

subtlety

Пользователь

Сообщений: 375
Регистрация: 01.01.1970

*зачем там цикл, я  имел в виду, конечно.

 

MrViper

Пользователь

Сообщений: 60
Регистрация: 01.01.1970

Просто ошибка возникает не всегда на первой вставки, иногда посредине, иногда и во все не возникает

 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

MrViper, у меня никакой ошибки не возникает. Хоть с циклом, хоть без. Значит, ошибка не в коде. С увеличением числа форумов, куда Вы запостили вопрос, шансы получить исправленный код не увеличатся. Кривая инсталляция Офиса, загнанная система и т.д..

Я сам — дурнее всякого примера! …

 

MrViper

Пользователь

Сообщений: 60
Регистрация: 01.01.1970

Не то чтобы получить исправленный код…скорее получить ответ, почему в 2003 офисе тот же код пашет, а в 2010 нет. У меня к Вам KukLP только 1 вопрос — Вы смотрели в 2010 офисе?

 

subtlety

Пользователь

Сообщений: 375
Регистрация: 01.01.1970

{quote}{login=MrViper}{date=15.02.2012 12:36}{thema=Re: }{post}{quote}{login=subtlety}{date=15.02.2012 12:16}{thema=}{post}*зачем там цикл, я  имел в виду, конечно.{/post}{/quote}  

  Просто ошибка возникает не всегда на первой вставки, иногда посредине, иногда и во все не возникает{/post}{/quote}  

  теперь понял.  

  после строки:  
wordApp.Selection.PasteExcelTable False, False, False  
добавьте очистку буфера.  
       Application.CutCopyMode = False  

  To KuklP. У меня тоже выскакивает эта ошибка и тоже нестабильно.  
собственно, по запросу «PasteExcelTable error 4605»  
google выдает много тредов.

 

MrViper

Пользователь

Сообщений: 60
Регистрация: 01.01.1970

Спасибо subtlety;    

  Информации на заметку — на машинах с разной производительности код ведет себя по разному, где пролетает, а где выдает ошибку

 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

Сейчас пять раз подряд запускал в 2010 без очистки буфера, с циклом. Все работает, ошибок нет. 150 проходов без ошибок.

Я сам — дурнее всякого примера! …

 

MrViper

Пользователь

Сообщений: 60
Регистрация: 01.01.1970

Незнаю…возможно зависит от конретной машины и параметров системы. Я протестировал на другом, более мощном компьютере, без очистки буфера — тоже все нормально. Замечу, что ошибка ругается на том что буфер пуст, а не переполнен. Т.е как бы таблица в буфере есть, но для Word’a ее нет. Загадка какая-то.  

  Но предлагаю закрыть тему, дабы не гадать на кофейной гуще. Решение subtlety показал.

 

subtlety

Пользователь

Сообщений: 375
Регистрация: 01.01.1970

#12

15.02.2012 15:07:23

Пожалуйста.  
Думаю, никакой загадки нет. Какая-то тонкость работы с буфером.  
Можно пошерстить англоязычные ресурсы.

Icon Ex Номер ошибки: Ошибка 4605
Название ошибки: Microsoft Word Error 4605
Описание ошибки: Ошибка 4605: Возникла ошибка в приложении Microsoft Word. Приложение будет закрыто. Приносим извинения за неудобства.
Разработчик: Microsoft Corporation
Программное обеспечение: Microsoft Word
Относится к: Windows XP, Vista, 7, 8, 10, 11

Объяснение «Microsoft Word Error 4605»

«Microsoft Word Error 4605» часто называется ошибкой во время выполнения (ошибка). Разработчики, такие как Microsoft Corporation, обычно проходят через несколько контрольных точек перед запуском программного обеспечения, такого как Microsoft Word. Как и во всем в жизни, иногда такие проблемы, как ошибка 4605, упускаются из виду.

Ошибка 4605 также отображается как «Microsoft Word Error 4605». Это распространенная ошибка, которая может возникнуть после установки программного обеспечения. После того, как об ошибке будет сообщено, Microsoft Corporation отреагирует и быстро исследует ошибки 4605 проблемы. Команда программирования может использовать эту информацию для поиска и устранения проблемы (разработка обновления). Таким образом, когда ваш компьютер выполняет обновления, как это, это, как правило, чтобы исправить проблемы ошибки 4605 и другие ошибки внутри Microsoft Word.

Ошибки выполнения при запуске Microsoft Word — это когда вы, скорее всего, столкнетесь с «Microsoft Word Error 4605». Рассмотрим распространенные причины ошибок ошибки 4605 во время выполнения:

Ошибка 4605 Crash — Ошибка 4605 остановит компьютер от выполнения обычной программной операции. Это возникает, когда Microsoft Word не реагирует на ввод должным образом или не знает, какой вывод требуется взамен.

Утечка памяти «Microsoft Word Error 4605» — ошибка 4605 утечка памяти приводит к тому, что Microsoft Word постоянно использует все больше и больше памяти, увяская систему. Потенциальные триггеры могут быть бесконечным циклом, что приводит к тому, что работа программы запускается снова и снова.

Ошибка 4605 Logic Error — логическая ошибка возникает, когда компьютер производит неправильный вывод, даже если вход правильный. Это видно, когда исходный код Microsoft Corporation содержит недостаток в обработке данных.

Microsoft Corporation проблемы файла Microsoft Word Error 4605 в большинстве случаев связаны с повреждением, отсутствием или заражением файлов Microsoft Word. Основной способ решить эти проблемы вручную — заменить файл Microsoft Corporation новой копией. Помимо прочего, в качестве общей меры по профилактике и очистке мы рекомендуем использовать очиститель реестра для очистки любых недопустимых записей файлов, расширений файлов Microsoft Corporation или разделов реестра, что позволит предотвратить появление связанных с ними сообщений об ошибках.

Распространенные сообщения об ошибках в Microsoft Word Error 4605

Усложнения Microsoft Word с Microsoft Word Error 4605 состоят из:

  • «Ошибка в приложении: Microsoft Word Error 4605»
  • «Microsoft Word Error 4605 не является приложением Win32.»
  • «Извините за неудобства — Microsoft Word Error 4605 имеет проблему. «
  • «К сожалению, мы не можем найти Microsoft Word Error 4605. «
  • «Отсутствует файл Microsoft Word Error 4605.»
  • «Ошибка запуска в приложении: Microsoft Word Error 4605. «
  • «Microsoft Word Error 4605 не выполняется. «
  • «Отказ Microsoft Word Error 4605.»
  • «Неверный путь к программе: Microsoft Word Error 4605. «

Проблемы Microsoft Word Error 4605 с участием Microsoft Words возникают во время установки, при запуске или завершении работы программного обеспечения, связанного с Microsoft Word Error 4605, или во время процесса установки Windows. При появлении ошибки Microsoft Word Error 4605 запишите вхождения для устранения неполадок Microsoft Word и чтобы HelpMicrosoft Corporation найти причину.

Причины проблем Microsoft Word Error 4605

Проблемы Microsoft Word Error 4605 могут быть отнесены к поврежденным или отсутствующим файлам, содержащим ошибки записям реестра, связанным с Microsoft Word Error 4605, или к вирусам / вредоносному ПО.

Особенно ошибки Microsoft Word Error 4605 проистекают из:

  • Поврежденные ключи реестра Windows, связанные с Microsoft Word Error 4605 / Microsoft Word.
  • Файл Microsoft Word Error 4605 поврежден от вирусной инфекции.
  • Microsoft Word Error 4605 злонамеренно или ошибочно удален другим программным обеспечением (кроме Microsoft Word).
  • Другая программа, конфликтующая с Microsoft Word Error 4605 или другой общей ссылкой Microsoft Word.
  • Поврежденная установка или загрузка Microsoft Word (Microsoft Word Error 4605).

Продукт Solvusoft

Загрузка
WinThruster 2022 — Проверьте свой компьютер на наличие ошибок.

Совместима с Windows 2000, XP, Vista, 7, 8, 10 и 11

Установить необязательные продукты — WinThruster (Solvusoft) | Лицензия | Политика защиты личных сведений | Условия | Удаление

14 / 14 / 5

Регистрация: 24.02.2014

Сообщений: 84

1

21.03.2014, 14:47. Показов 5318. Ответов 3


Добрый день, уважаемые гуру vba.
Надеюсь снова на вашу помощь. Настроил файл для переноса из Excel в Word данных, таблиц, картинок. Но теперь возникает ошибка «Run-time erroe ‘4605’: в разных местах кода при вставке таблицы из Excel в Word PasteSpecial . Не знаю, как от неё избавиться.
Возможно сталкивались с подобной проблемой и сможете мне помочь. Файлы в приложении.
Оба файла разархивировать необходимо и указать путь в шаблону .dot в excel файле.

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

0

15131 / 6405 / 1730

Регистрация: 24.09.2011

Сообщений: 9,999

21.03.2014, 15:07

2

Цитата
Сообщение от sernik
Посмотреть сообщение

Возможно сталкивались

Сталкивался. При каких-то действиях с Selection, когда ничего не было выделено.
От Selection вообще надо избавляться. А качать 7 метров не хочется.

1

sernik

14 / 14 / 5

Регистрация: 24.02.2014

Сообщений: 84

21.03.2014, 15:37

 [ТС]

3

У меня вроди не идет selection, но в разных r.PasteSpecial выдает ошибку. Может как то очищать буфер, либо разным переменным задавать копируемые данные?
Пример куска кода, идут однотипные строки, с одной и той же целью скопировать и вставить данные. Может быть подскажите, что можно сделать с ними, что бы избижать/обойти данную ошибку?

Visual Basic
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
30
31
 Set r = .Bookmarks.Item("Износ").Range
         N = r.Start
         If r.Tables.Count Then r.Tables(1).Delete
       Sheets("Износ").Range("A7:C11").Copy
        r.PasteSpecial
        r.Start = N
        .Bookmarks.Add "Износ", r
 
   Set r = .Bookmarks.Item("Отделка").Range
         N = r.Start
         If r.Tables.Count Then r.Tables(1).Delete
    Sheets("Отделка").Range("A1:H8").Copy
        r.PasteSpecial
        r.Start = N
        .Bookmarks.Add "Отделка", r
    
   Set r = .Bookmarks.Item("Описание_АН").Range
         N = r.Start
         If r.Tables.Count Then r.Tables(1).Delete
     Sheets("Описание АН").Range("A1:E17").Copy
        r.PasteSpecial
        r.Start = N
        .Bookmarks.Add "Описание_АН", r
    
   Set r = .Bookmarks.Item("СП").Range
         N = r.Start
         If r.Tables.Count Then r.Tables(1).Delete
     Sheets("СП").Range("A1:J26").Copy
        r.PasteSpecial
        r.Start = N
        .Bookmarks.Add "СП", r

0

sernik

14 / 14 / 5

Регистрация: 24.02.2014

Сообщений: 84

21.03.2014, 17:22

 [ТС]

4

В общем, как решил мою проблему, возможно кому то пригодится, да и у меня будет в закладках на память.
Вынес в отдельнкую функцию замену закладок Word на диапазон ячеек в Excel
clearClipboard должна помогать очищать буфер
ErrorHandler: обработчик возникающей ошибки, который повторно прогоняет код (ошибки возникают, но не зацикливаются, повторный прогон по коду не вызывает ошибки).

Visual Basic
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
Public Sub relaseBookmark(bookmarkName, sheetName, ranges As String)
Call clearClipboard
        
On Error GoTo ErrorHandler
 
With app.ActiveDocument
   Set r = .Bookmarks.Item(bookmarkName).Range
         N = r.Start
         If r.Tables.Count Then r.Tables(1).Delete
        Sheets(sheetName).Range(ranges).Copy
 
        r.PasteSpecial
        r.Start = N
        .Bookmarks.Add bookmarkName, r
End With
Exit Sub
 
ErrorHandler:
Call clearClipboard
Call relaseBookmark(bookmarkName, sheetName, ranges)
 
End Sub
 
Public Sub clearClipboard()
        OpenClipboard 0&
        EmptyClipboard
        CloseClipboard
End Sub

Вложения

Тип файла: rar 21.03.2014.rar (7.42 Мб, 20 просмотров)

1

Environment: Word 2016 for Mac.

The following code (which works fine in Word 2007 and 2010 for PC and Word 2011 for Mac) throws run time error 4605 at the point of the paste:

Set oSubRange = wdDoc.Sections(i).Range ' we are in a loop...            
oSubRange.End = oSubRange.End - 1 
oSubRange.Copy
Set wdSubDoc = Documents.Add
wdSubDoc.Activate
Set oRange = wdSubDoc.Content
oRange.Collapse (wdCollapseEnd)
oRange.PasteAndFormat (wdFormatOriginalFormatting)

My thoughts were that maybe this was a sandboxing problem, but I don’t think so because I have had no issues with saving files, and this is not at the point of save anyhow. Other thoughts were that the clipboard was not copying, that perhaps there was a timing issue. I tried inserting a DoEvents() after the copy as I have seen this suggested in different error 4605 scenarios (different error though). Also tried using ActiveDocument.Range.PasteAndFormant(wdFormatOriginalFormatting) which was suggested in another forum by a MS MVP (again, different error 4605). None of these solutions worked.

So, I am stuck.

Environment: Word 2016 for Mac.

The following code (which works fine in Word 2007 and 2010 for PC and Word 2011 for Mac) throws run time error 4605 at the point of the paste:

Set oSubRange = wdDoc.Sections(i).Range ' we are in a loop...            
oSubRange.End = oSubRange.End - 1 
oSubRange.Copy
Set wdSubDoc = Documents.Add
wdSubDoc.Activate
Set oRange = wdSubDoc.Content
oRange.Collapse (wdCollapseEnd)
oRange.PasteAndFormat (wdFormatOriginalFormatting)

My thoughts were that maybe this was a sandboxing problem, but I don’t think so because I have had no issues with saving files, and this is not at the point of save anyhow. Other thoughts were that the clipboard was not copying, that perhaps there was a timing issue. I tried inserting a DoEvents() after the copy as I have seen this suggested in different error 4605 scenarios (different error though). Also tried using ActiveDocument.Range.PasteAndFormant(wdFormatOriginalFormatting) which was suggested in another forum by a MS MVP (again, different error 4605). None of these solutions worked.

So, I am stuck.

Я новичок в использовании элементов управления содержимым и разрабатываю форму Word для работы. В текущей форме текст справки для элементов управления содержимым скрыт (у меня включена опция отображения скрытых элементов управления на моем компьютере); однако я хочу убедиться, что пользователи формы могут видеть эти элементы управления при открытии формы. Проблема в том, что когда текст справки не скрыт, он печатается в форме. Есть ли способ настроить элементы управления таким образом, чтобы текст справки не печатался, но по-прежнему был виден пользователям при открытии формы?

Я попытался использовать следующий код, но столкнулся с проблемами. Код работал на моем компьютере, но когда коллега проверил его, появилось сообщение об ошибке, и я не мог понять, почему. Единственная строка кода была выделена, но, поскольку код работал на моем компьютере, я не знаю, как это исправить (я также новичок в Visual Basic).

Sub AutoOpen()

    ActiveWindow.View.ShowHiddenText = True

End Sub

Я надеялся, что когда другой пользователь откроет документ, он увидит скрытый текст, как если бы он не был скрыт; однако, когда другой пользователь открывает документ, они получают эту ошибку:

«Ошибка выполнения «4605»:

Метод или свойство ShowHiddenText недоступны, так как эта команда недоступна для чтения».

1 ответ

Сообщение об ошибке появляется из-за того, что Word открывает документ в режиме чтения, а не в режиме печати. Это часто бывает, например, когда документ открывается из электронной почты.

Добавление следующей строки перед строкой для скрытого текста должно помочь, так как это заставит документ переключиться в режим макета печати:

ActiveWindow.View = wdPrintView

Так

Sub AutoOpen()
  Dim vw as View
  Set vw= ActiveWindow.View
  vw = wdPrintView
  vw.ShowHiddenText = True
End Sub


0

Cindy Meister
20 Июн 2019 в 13:49

Sub МакросСписки()

Dim Par As Paragraph, lstlevel As ListLevel, i As Long

    For Each list In ActiveDocument.Lists
        list.ListParagraphs(1).SelectNumber
        Selection.Font.Size = list.ListParagraphs(1).Range.Characters(1).Font.Size
        Selection.Font.Name = list.ListParagraphs(1).Range.Characters(1).Font.Name
        Selection.Font.Bold = list.ListParagraphs(1).Range.Characters(1).Font.Bold
        Selection.Font.Italic = list.ListParagraphs(1).Range.Characters(1).Font.Italic
    Next list

    ‘2. Удаление табуляторов с линейки.
    For i = 1 To ActiveDocument.ListParagraphs.count Step 1
        ActiveDocument.ListParagraphs(i).TabStops.ClearAll

        ActiveDocument.ListParagraphs(i).TabStops.add Position:=CentimetersToPoints(1.75), _
                                                       Alignment:=wdAlignTabLeft, Leader:=wdTabLeaderSpaces

    Next i

    ‘3. Замена символов «Табуляция» на пробелы.
    For i = 1 To ActiveDocument.Lists.count Step 1

        ‘ Vba-именование первого абзаца-списка.
        Set Par = ActiveDocument.Lists(i).ListParagraphs(1)

        ‘ Интересуют списки с нумерацией (не обычные маркированные).
        Select Case Par.Range.ListFormat.ListType
        Case wdListListNumOnly, wdListMixedNumbering, wdListOutlineNumbering, wdListSimpleNumbering
            ‘ Цикл по всем уровням списка.
            For Each lstlevel In Par.Range.ListFormat.ListTemplate.ListLevels

            lstlevel.NumberPosition = CentimetersToPoints(1.25)
            lstlevel.TextPosition = CentimetersToPoints(0)

                ‘ Проверка, есть ли пробел после номера.
                If lstlevel.TrailingCharacter <> wdTrailingSpace Then
                    ‘ Установка пробела в шаблоне списка.
                    lstlevel.TrailingCharacter = wdTrailingSpace
                End If
            Next lstlevel
        End Select
    Next i

‘сразу после любого оператора тут выводит ошибку 4605

End sub

[свернуть]

Как исправить время выполнения Ошибка 4605 Ошибка Microsoft Word 4605

В этой статье представлена ошибка с номером Ошибка 4605, известная как Ошибка Microsoft Word 4605, описанная как Ошибка 4605: Возникла ошибка в приложении Microsoft Word. Приложение будет закрыто. Приносим свои извинения за неудобства.

О программе Runtime Ошибка 4605

Время выполнения Ошибка 4605 происходит, когда Microsoft Word дает сбой или падает во время запуска, отсюда и название. Это не обязательно означает, что код был каким-то образом поврежден, просто он не сработал во время выполнения. Такая ошибка появляется на экране в виде раздражающего уведомления, если ее не устранить. Вот симптомы, причины и способы устранения проблемы.

Определения (Бета)

Здесь мы приводим некоторые определения слов, содержащихся в вашей ошибке, в попытке помочь вам понять вашу проблему. Эта работа продолжается, поэтому иногда мы можем неправильно определить слово, так что не стесняйтесь пропустить этот раздел!

  • Microsoft word — по вопросам программирования, связанным с редактором Microsoft Word.
Симптомы Ошибка 4605 — Ошибка Microsoft Word 4605

Ошибки времени выполнения происходят без предупреждения. Сообщение об ошибке может появиться на экране при любом запуске %программы%. Фактически, сообщение об ошибке или другое диалоговое окно может появляться снова и снова, если не принять меры на ранней стадии.

Возможны случаи удаления файлов или появления новых файлов. Хотя этот симптом в основном связан с заражением вирусом, его можно отнести к симптомам ошибки времени выполнения, поскольку заражение вирусом является одной из причин ошибки времени выполнения. Пользователь также может столкнуться с внезапным падением скорости интернет-соединения, но, опять же, это не всегда так.

Fix Ошибка Microsoft Word 4605 (Error Ошибка 4605)
(Только для примера)

Причины Ошибка Microsoft Word 4605 — Ошибка 4605

При разработке программного обеспечения программисты составляют код, предвидя возникновение ошибок. Однако идеальных проектов не бывает, поскольку ошибки можно ожидать даже при самом лучшем дизайне программы. Глюки могут произойти во время выполнения программы, если определенная ошибка не была обнаружена и устранена во время проектирования и тестирования.

Ошибки во время выполнения обычно вызваны несовместимостью программ, запущенных в одно и то же время. Они также могут возникать из-за проблем с памятью, плохого графического драйвера или заражения вирусом. Каким бы ни был случай, проблему необходимо решить немедленно, чтобы избежать дальнейших проблем. Ниже приведены способы устранения ошибки.

Методы исправления

Ошибки времени выполнения могут быть раздражающими и постоянными, но это не совсем безнадежно, существует возможность ремонта. Вот способы сделать это.

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

Обратите внимание: ни ErrorVault.com, ни его авторы не несут ответственности за результаты действий, предпринятых при использовании любого из методов ремонта, перечисленных на этой странице — вы выполняете эти шаги на свой страх и риск.

Метод 1 — Закройте конфликтующие программы

Когда вы получаете ошибку во время выполнения, имейте в виду, что это происходит из-за программ, которые конфликтуют друг с другом. Первое, что вы можете сделать, чтобы решить проблему, — это остановить эти конфликтующие программы.

  • Откройте диспетчер задач, одновременно нажав Ctrl-Alt-Del. Это позволит вам увидеть список запущенных в данный момент программ.
  • Перейдите на вкладку «Процессы» и остановите программы одну за другой, выделив каждую программу и нажав кнопку «Завершить процесс».
  • Вам нужно будет следить за тем, будет ли сообщение об ошибке появляться каждый раз при остановке процесса.
  • Как только вы определите, какая программа вызывает ошибку, вы можете перейти к следующему этапу устранения неполадок, переустановив приложение.

Метод 2 — Обновите / переустановите конфликтующие программы

Использование панели управления

  • В Windows 7 нажмите кнопку «Пуск», затем нажмите «Панель управления», затем «Удалить программу».
  • В Windows 8 нажмите кнопку «Пуск», затем прокрутите вниз и нажмите «Дополнительные настройки», затем нажмите «Панель управления»> «Удалить программу».
  • Для Windows 10 просто введите «Панель управления» в поле поиска и щелкните результат, затем нажмите «Удалить программу».
  • В разделе «Программы и компоненты» щелкните проблемную программу и нажмите «Обновить» или «Удалить».
  • Если вы выбрали обновление, вам просто нужно будет следовать подсказке, чтобы завершить процесс, однако, если вы выбрали «Удалить», вы будете следовать подсказке, чтобы удалить, а затем повторно загрузить или использовать установочный диск приложения для переустановки. программа.

Использование других методов

  • В Windows 7 список всех установленных программ можно найти, нажав кнопку «Пуск» и наведя указатель мыши на список, отображаемый на вкладке. Вы можете увидеть в этом списке утилиту для удаления программы. Вы можете продолжить и удалить с помощью утилит, доступных на этой вкладке.
  • В Windows 10 вы можете нажать «Пуск», затем «Настройка», а затем — «Приложения».
  • Прокрутите вниз, чтобы увидеть список приложений и функций, установленных на вашем компьютере.
  • Щелкните программу, которая вызывает ошибку времени выполнения, затем вы можете удалить ее или щелкнуть Дополнительные параметры, чтобы сбросить приложение.

Метод 3 — Обновите программу защиты от вирусов или загрузите и установите последнюю версию Центра обновления Windows.

Заражение вирусом, вызывающее ошибку выполнения на вашем компьютере, необходимо немедленно предотвратить, поместить в карантин или удалить. Убедитесь, что вы обновили свою антивирусную программу и выполнили тщательное сканирование компьютера или запустите Центр обновления Windows, чтобы получить последние определения вирусов и исправить их.

Метод 4 — Переустановите библиотеки времени выполнения

Вы можете получить сообщение об ошибке из-за обновления, такого как пакет MS Visual C ++, который может быть установлен неправильно или полностью. Что вы можете сделать, так это удалить текущий пакет и установить новую копию.

  • Удалите пакет, выбрав «Программы и компоненты», найдите и выделите распространяемый пакет Microsoft Visual C ++.
  • Нажмите «Удалить» в верхней части списка и, когда это будет сделано, перезагрузите компьютер.
  • Загрузите последний распространяемый пакет от Microsoft и установите его.

Метод 5 — Запустить очистку диска

Вы также можете столкнуться с ошибкой выполнения из-за очень нехватки свободного места на вашем компьютере.

  • Вам следует подумать о резервном копировании файлов и освобождении места на жестком диске.
  • Вы также можете очистить кеш и перезагрузить компьютер.
  • Вы также можете запустить очистку диска, открыть окно проводника и щелкнуть правой кнопкой мыши по основному каталогу (обычно это C :)
  • Щелкните «Свойства», а затем — «Очистка диска».

Метод 6 — Переустановите графический драйвер

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

  • Откройте диспетчер устройств и найдите драйвер видеокарты.
  • Щелкните правой кнопкой мыши драйвер видеокарты, затем нажмите «Удалить», затем перезагрузите компьютер.

Метод 7 — Ошибка выполнения, связанная с IE

Если полученная ошибка связана с Internet Explorer, вы можете сделать следующее:

  1. Сбросьте настройки браузера.
    • В Windows 7 вы можете нажать «Пуск», перейти в «Панель управления» и нажать «Свойства обозревателя» слева. Затем вы можете перейти на вкладку «Дополнительно» и нажать кнопку «Сброс».
    • Для Windows 8 и 10 вы можете нажать «Поиск» и ввести «Свойства обозревателя», затем перейти на вкладку «Дополнительно» и нажать «Сброс».
  2. Отключить отладку скриптов и уведомления об ошибках.
    • В том же окне «Свойства обозревателя» можно перейти на вкладку «Дополнительно» и найти пункт «Отключить отладку сценария».
    • Установите флажок в переключателе.
    • Одновременно снимите флажок «Отображать уведомление о каждой ошибке сценария», затем нажмите «Применить» и «ОК», затем перезагрузите компьютер.

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

Другие языки:

How to fix Error 4605 (Microsoft Word Error 4605) — Error 4605: Microsoft Word has encountered a problem and needs to close. We are sorry for the inconvenience.
Wie beheben Fehler 4605 (Microsoft Word-Fehler 4605) — Fehler 4605: Microsoft Word hat ein Problem festgestellt und muss geschlossen werden. Wir entschuldigen uns für die Unannehmlichkeiten.
Come fissare Errore 4605 (Errore di Microsoft Word 4605) — Errore 4605: Microsoft Word ha riscontrato un problema e deve essere chiuso. Ci scusiamo per l’inconveniente.
Hoe maak je Fout 4605 (Microsoft Word-fout 4605) — Fout 4605: Microsoft Word heeft een probleem ondervonden en moet worden afgesloten. Excuses voor het ongemak.
Comment réparer Erreur 4605 (Erreur Microsoft Word 4605) — Erreur 4605 : Microsoft Word a rencontré un problème et doit se fermer. Nous sommes désolés du dérangement.
어떻게 고치는 지 오류 4605 (마이크로소프트 워드 오류 4605) — 오류 4605: Microsoft Word에 문제가 발생해 닫아야 합니다. 불편을 끼쳐드려 죄송합니다.
Como corrigir o Erro 4605 (Erro 4605 do Microsoft Word) — Erro 4605: O Microsoft Word encontrou um problema e precisa fechar. Lamentamos o inconveniente.
Hur man åtgärdar Fel 4605 (Microsoft Word-fel 4605) — Fel 4605: Microsoft Word har stött på ett problem och måste avslutas. Vi är ledsna för besväret.
Jak naprawić Błąd 4605 (Błąd Microsoft Word 4605) — Błąd 4605: Microsoft Word napotkał problem i musi zostać zamknięty. Przepraszamy za niedogodności.
Cómo arreglar Error de 4605 (Error 4605 de Microsoft Word) — Error 4605: Microsoft Word ha detectado un problema y debe cerrarse. Lamentamos las molestias.

The Author Об авторе: Фил Харт является участником сообщества Microsoft с 2010 года. С текущим количеством баллов более 100 000 он внес более 3000 ответов на форумах Microsoft Support и создал почти 200 новых справочных статей в Technet Wiki.

Следуйте за нами: Facebook Youtube Twitter

Последнее обновление:

17/01/23 11:50 : Пользователь Windows 10 проголосовал за то, что метод восстановления 2 работает для него.

Рекомендуемый инструмент для ремонта:

Этот инструмент восстановления может устранить такие распространенные проблемы компьютера, как синие экраны, сбои и замораживание, отсутствующие DLL-файлы, а также устранить повреждения от вредоносных программ/вирусов и многое другое путем замены поврежденных и отсутствующих системных файлов.

ШАГ 1:

Нажмите здесь, чтобы скачать и установите средство восстановления Windows.

ШАГ 2:

Нажмите на Start Scan и позвольте ему проанализировать ваше устройство.

ШАГ 3:

Нажмите на Repair All, чтобы устранить все обнаруженные проблемы.

СКАЧАТЬ СЕЙЧАС

Совместимость

Требования

1 Ghz CPU, 512 MB RAM, 40 GB HDD
Эта загрузка предлагает неограниченное бесплатное сканирование ПК с Windows. Полное восстановление системы начинается от $19,95.

ID статьи: ACX08342RU

Применяется к: Windows 10, Windows 8.1, Windows 7, Windows Vista, Windows XP, Windows 2000

Like this post? Please share to your friends:
  • Произошла исключительная ситуация microsoft word запрашиваемый номер семейства не существует
  • Производными называются данные таблицы excel
  • Произошла исключительная ситуация microsoft word данная команда недоступна
  • Производными данными таблицы excel называются
  • Произошла исключительная ситуация microsoft office excel нет доступа к файлу