Runtime error 2147021892 80070bbc

Вопрос: Я пытаюсь открыть excel файлы в событии button_click. Я не сталкиваюсь с ошибками с первыми четырьмя файлами excel, которые я открыл, но когда мой макрос открывает пятый, он останавливается и показывает эту ошибку во время выполнения: Run-time error '-2147021892 (80070bbc)': office has detected a problem with this file. To help protect your computer this

Вопрос:

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

Run-time error '-2147021892 (80070bbc)':

office has detected a problem with this file.
To help protect your computer this file cannot be opened.

Здесь мой код для открытия файлов excel:

    Set wb = Workbooks.Open(fileName:=fileName, UpdateLinks:=True)

Лучший ответ:

Возможные резолюции

Служба поддержки Microsoft – сообщение об ошибке в Office, когда файл заблокирован параметрами политики реестра, дает несколько механизмов для того, как можно обойти эту ошибку, если вы доверяете содержимому документа.

Некоторые ключевые примечания:

Для Excel 2010 или 2013

Измените параметры Файлового блока, чтобы отключить ограничение определенных типов файлов через “Файл” → “Параметры” → “Центр доверия” → “Параметры доверия”

Для Excel 2003 или 2007

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

Для Excel 2007:

HKEY_CURRENT_USERSoftwarePoliciesMicrosoftOffice12.0ExcelSecurityFileOpenBlock

Для Excel 2003:

HKEY_CURRENT_USERSoftwarePoliciesMicrosoftOffice11.0ExcelSecurityFileOpenBlock

Подключи должны быть следующими:

FileOpenBlock registry subkeys

Почему это происходит

Из поддержки Microsoft:

СИМПТОМЫ

Вы выполняете одно из следующих действий в приложении Microsoft Office 2010:

• Открыть встроенный объект

• Выполнение слияния

• Открыть файл из программы просмотра

В этой ситуации появляется следующее сообщение об ошибке:

Office обнаружил проблему с этим файлом. Чтобы защитить ваш компьютер, этот файл не открывается.

ПРИЧИНА

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

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

Ответ №1

У меня такая же проблема. Файл был поврежден, и VBA открыла эту ошибку. В качестве возможного решения я нашел это (фанаме – это строка с дорожкой):

Workbooks.Open FileName:= fname, UpdateLinks:=False, ReadOnly:=True, _
IgnoreReadOnlyRecommended:=True, Password:="", Editable:=FALSE, _
CorruptLoad:= xlExtractData

Важной частью является “CorruptLoad: = xlExtractData”, которая позволяет загружать данные из поврежденных файлов, не вызывая эту ошибку. Остальные вещи здесь, чтобы файл не мог что-то сделать… вместе с

Application.DisplayAlerts = False
Application.AskToUpdateLinks = False
Application.EnableEvents = False
Application.AutomationSecurity = msoAutomationSecurityForceDisable
Application.Calculation = xlCalculationManual

Так же, как предосторожность перед открытием файла… если вы это сделаете, не забудьте отменить его до того, как закончится ваш Macro (это мои стандартные настройки, используйте свой собственный! Вы можете найти их с помощью Debug.Print в окне Immediate ):

Application.DisplayAlerts = True
Application.AskToUpdateLinks = True
Application.EnableEvents = True
Application.Calculation = xlNormal
Application.AutomationSecurity = msoAutomationSecurityLow

Будьте осторожны, каковы ваши настройки безопасности на самом деле, и не слепо копируйте эти изменения настроек… Также лучше всего ловить ошибки (“On Error…”) и прекратить сбрасывать предыдущие настройки.

Ответ №2

Я пробовал строку кода выше с моим “поврежденным” файлом. Результат был катастрофическим (но оригинал был скопирован). Все листы Excel (13) теперь имеют текст, и все около 93 страниц кода VBA исчезли. Стили = 17: Размер файла <2000 КБ.

Одна ячейка с измененным форматом ячейки вызывает печально известный текст ошибки M/S. Я не думаю, что это испорчено, но может быть слишком много программирования для Excel (ов).

Ответ №3

Возможно, файл загружается/копируется из внешнего источника, например, через Интернет. На следующей странице обсуждалось, как “разблокировать” такие файлы программно через VBA. https://answers.microsoft.com/en-us/msoffice/forum/msoffice_excel-msoffice_custom/how-to-unblock-file-using-vba/bed82938-6a57-403c-afcf-fa76a26a1ac6

См. Решение Андреаса Киллера. он отметил, что то, что вы очищаете, не является атрибутом файла, вы удаляете альтернативный поток данных “Zone.Identifier” из файла. И дает следующие ссылки: – Вики-ссылка… en.wikipedia.org/wiki/NTFS#Alternate_data_streams_.28ADS.29 http://vb.mvps.org/samples/Streams/

Над 2-й ссылкой на сайт Карла Э. Петерсона представлен файл Streams.zip, который содержит класс CStreams, который необходимо импортировать в ваш проект и использовать функцию KillStream.

Sub Test()
Dim C As New CStreams
Dim i As Integer
With C
.FileName = "C:test.txt"
For i = 1 To .Count - 1
Debug.Print .KillStream(i)
Next
End With
End Sub

-Credit для Андреаса Киллера

Надеюсь это поможет.

04-23-2015, 01:42 AM


#1

VBA code of Excel 2013 is not working in Excel 2010

Dear,
Can anybody know why VBA code of Excel 2013 «workbooks.open» not working with Excel 2010?
I found below error. Please let me know.
Error 1: System Error &H80070BBC (-2147021892).
Error 2: Run-timeerror ‘-2147021892 (80070bbc)’:
Automation error
An AddJob call was not issued.
Please find below code that is working fine with Excel 2013 where give errors in Excel 2010
———————————————————————————————————

Sub Update_Click()
     Dim path As String
    Dim currentWb As Workbook
    Dim openWb As Workbook
    Dim openWs As Worksheet
     path = "C:Users20049467DesktopKP-I1-0201.xls"

     Set currentWb = ThisWorkbook
    Set openWb = Workbooks.Open(path)
    Set openWs = openWb.Sheets("Cable_Schedule")
     openWs.Range("L6") = currentWb.Sheets("Document List").Range("B2")
    openWs.Range("L7") = currentWb.Sheets("Document List").Range("C2")
    openWs.Range("E19") = currentWb.Sheets("Document List").Range("D6")
     ActiveWorkbook.Save
            
    openWb.Close (False)
     ActiveSheet.Shapes("CCS").ControlFormat.Value = 0

 End Sub

fetchimage.axd.jpg
fetchimage.axd1.jpg

Last edited by Aussiebear; 04-23-2015 at 11:51 PM.

Reason: Hash tagged the code section


04-23-2015, 11:28 PM


#4

Thanks for Reply «VBA code of Excel 2013 is not working in Excel 2010»

Quote Originally Posted by Aflatoon
View Post

I can’t see anything there that would be incompatible. Is there any code in the workbook you are opening?

There is no code in the workbook that I am opening.


Если вы ищете как runtime error исправить — вы попали по адресу.

Причин появления таковой может быть огромное множество.

Чаще всего причина состоит в том, что выходит новая версия того или иного приложения/игры и она устанавливается прямо поверх старой.

Хотя это далеко не единственная ситуация, которая может вызвать ее появление.

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

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

Как выглядит ошибка

Способ №1. CCleaner

Самое простое решение заключается в том, чтобы воспользоваться программой для чистки реестра. Как это работает?

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

Лучшей по праву считается CCleaner, хотя вы можете воспользоваться и другой.

Чтобы использовать ее, сделайте вот что:

  1. Скачайте (вот ссылка на бесплатную) и установите программу.
  2. Запустите. Перейдите на вкладку «Реестр» на панели слева.
  3. В разделе «Целостность» поставьте галочки на всех возможных пунктах – никто не знает, в чем именно проблема.
  4. Нажмите кнопку «Поиск проблем». Когда этот процесс закончится, нажмите кнопку «Исправить…».

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

  1. Подождите, пока приложение исправит все проблемы. Перезагрузите компьютер.

После этого runtime error должен перестать появляться. Если нет, переходим к следующему решению.

Способ №2. DirectX

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

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

Для этого зайдите на сайт Microsoft, на страницу с возможностью скачать DirectX. Запустите скачанный файл и выполните все действия, подразумевающие установку исполняемых библиотек.

Здесь нет никаких особых рекомендаций – обычная.

Страница загрузки DirectX

Если после установки и перезагрузки компьютера ошибка не исчезла, идем дальше.

Способ №3. Visual C++

О распространяемом пакете Visual C++ в контексте рассматриваемой проблемы можно скачать то же самое, что и о библиотеках DirectX.

Возможно, какие-то файлы были повреждены или версия устарела.

Бывают в данном случае и другие ситуации, когда установленная C++ попросту не подходит для вашей операционной системы.

Ниже приведена таблица с вариантами, которые подходят для разных версий ОС.

Таблица 1. Требуемые версии Visual C++ для Windows

Операционная система Требуемая Visual C++
Windows XP и ниже C++2008
Windows 7 C++2010
Windows 8 и 10 Наиболее актуальная на данный момент

Так вот, в зависимости от того, какая у вас ОС, вам следует скачать и инсталировать на свой компьютер C++2008 (64-бит, 32-бит), C++2010 (64-бит, 32-бит) или же C++2015 обновление 3.

Это наиболее актуальная версия по состоянию на июнь 2017 года. В будущем выйдут новые, поэтому следите за новостями на официальном сайте Microsoft.

Скачивание происходит одинаково – выбираем язык распространяемого компонента и жмем кнопку «Скачать». После этого останется запустить загруженный файл.

После этого перезагрузите компьютер.

Страница загрузки Visual C++

Способ №4. Microsoft .NET Framework

Здесь все то же самое – Microsoft .NET Framework тоже может вызывать рассматриваемую проблему из-за отсутствия каких-то собственных файлов. И этот компонент также нужно скачать и установить.

Но есть определенный, правильный порядок ее инсталяции:

Сначала необходимо инсталируйте версию 2.0 (вот ссылка). Попробуйте запустить программу, в которой раньше возникала проблема, если она не исчезла, устанавливайте дальше.

После этого 3.0 (скачать).

Если не помогает, 4.0 (ссылка).

Наконец, если у вас Windows Vista SP2, 7 SP1, 8, 8.1, Server 2008 SP2, Server 2008 R2 SP1, Server 2012 или Server 2012 R2, установите 4.6.2 (скачать).

Скачивание происходит точно так же, как и в случае с пакетами Visual C++.

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

В крайнем случае, сделайте откат системы или вовсе переустановите ее.

Источник

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Runtime error 204 pascal
  • Runtime error 203 ошибка
  • Runtime error 203 at 000000003c4061e3 lost ark
  • Runtime error 202 pascal
  • Runtime error 201 pascal

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии