Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/ОТключение системных сообщений - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » ОТключение системных сообщений (Макросы/Sub)
ОТключение системных сообщений
leskris Дата: Вторник, 14.07.2015, 10:35 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 90
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016 (Office 365)
Добрый день! подскажите пожалуйста как можно с помощью макроса отключить сообщение о циклической ссылке в файле при его открытии? ну или хотя бы забиндив на кнопку? У меня циклический алгоритм, и мне не нравится постоянное вылетание ошибки, которой нет на самом деле. Через отключение вручную в настройках - не устраивает.


Сообщение отредактировал leskris - Вторник, 14.07.2015, 10:40
 
Ответить
СообщениеДобрый день! подскажите пожалуйста как можно с помощью макроса отключить сообщение о циклической ссылке в файле при его открытии? ну или хотя бы забиндив на кнопку? У меня циклический алгоритм, и мне не нравится постоянное вылетание ошибки, которой нет на самом деле. Через отключение вручную в настройках - не устраивает.

Автор - leskris
Дата добавления - 14.07.2015 в 10:35
RAN Дата: Вторник, 14.07.2015, 10:45 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Не проверял, но 99% - никак.
Excel сначала обрабатывает свои сообщения, и только потом события VBA.
Так что, даже при наличии макроса, сначала вывалится сообшение, и только потом запустится макрос, его блокирующий.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеНе проверял, но 99% - никак.
Excel сначала обрабатывает свои сообщения, и только потом события VBA.
Так что, даже при наличии макроса, сначала вывалится сообшение, и только потом запустится макрос, его блокирующий.

Автор - RAN
Дата добавления - 14.07.2015 в 10:45
leskris Дата: Вторник, 14.07.2015, 12:17 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 90
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016 (Office 365)
а макрос который будет при всплывании такого сообщения нажимать "окей" автоматически реально сделать??? тоесть как-то реагировать на событие?
 
Ответить
Сообщениеа макрос который будет при всплывании такого сообщения нажимать "окей" автоматически реально сделать??? тоесть как-то реагировать на событие?

Автор - leskris
Дата добавления - 14.07.2015 в 12:17
ikki Дата: Вторник, 14.07.2015, 12:30 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
а у меня сообщение при открытии файла не выскакивает... %)
К сообщению приложен файл: 7427954.xlsx (8.8 Kb)


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Вторник, 14.07.2015, 12:30
 
Ответить
Сообщениеа у меня сообщение при открытии файла не выскакивает... %)

Автор - ikki
Дата добавления - 14.07.2015 в 12:30
leskris Дата: Вторник, 14.07.2015, 12:39 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 90
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016 (Office 365)
У меня в твоем файле ошибку выдало, У тебя наверное в настройках отключено сообщение об ошибки!! я вот и хочу узнать можно как-то автоматом прописать в настройках отключить вывод этого сообщения или в экселе это заблокировано.


Сообщение отредактировал leskris - Вторник, 14.07.2015, 12:40
 
Ответить
СообщениеУ меня в твоем файле ошибку выдало, У тебя наверное в настройках отключено сообщение об ошибки!! я вот и хочу узнать можно как-то автоматом прописать в настройках отключить вывод этого сообщения или в экселе это заблокировано.

Автор - leskris
Дата добавления - 14.07.2015 в 12:39
ikki Дата: Вторник, 14.07.2015, 12:44 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
в настройках отключено сообщение об ошибки!!
не нашел - где это?
если речь о "включить итеративные вычисления" - то галка снята.
Excel 2010


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщение
в настройках отключено сообщение об ошибки!!
не нашел - где это?
если речь о "включить итеративные вычисления" - то галка снята.
Excel 2010

Автор - ikki
Дата добавления - 14.07.2015 в 12:44
leskris Дата: Вторник, 14.07.2015, 12:46 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 90
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016 (Office 365)
[vba]
Код


Option Explicit
Dim objFSO, objExcel, ExcelPath, wb

Set objFSO = CreateObject("Scripting.FileSystemObject")  
ExcelPath = objFSO.GetParentFolderName(WScript.ScriptFullName)  
Set objExcel = CreateObject("Excel.Application")
Set wb = objExcel.Workbooks.Open (ExcelPath & "\ИмяПрограммы.xls")
objExcel.Visible = False
Set objExcel = Nothing

[/vba]
Нашел в инете, что можно вставить скрипт в файл с расширением *.vbs и скрипт игнорирует настройки макросов, может можно такое для ошибок сделать.
Но я реально в этом совсем ноль. Может кто подскажет че делать?
 
Ответить
Сообщение[vba]
Код


Option Explicit
Dim objFSO, objExcel, ExcelPath, wb

Set objFSO = CreateObject("Scripting.FileSystemObject")  
ExcelPath = objFSO.GetParentFolderName(WScript.ScriptFullName)  
Set objExcel = CreateObject("Excel.Application")
Set wb = objExcel.Workbooks.Open (ExcelPath & "\ИмяПрограммы.xls")
objExcel.Visible = False
Set objExcel = Nothing

[/vba]
Нашел в инете, что можно вставить скрипт в файл с расширением *.vbs и скрипт игнорирует настройки макросов, может можно такое для ошибок сделать.
Но я реально в этом совсем ноль. Может кто подскажет че делать?

Автор - leskris
Дата добавления - 14.07.2015 в 12:46
leskris Дата: Вторник, 14.07.2015, 12:56 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 90
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016 (Office 365)
не нашел - где это?

в Разделе формулы в настройках, но реально там нет отключения ошибок с циклическими ссылками, остальные ошибки можно отключить, а эту нет, странно я был уверен что раньше такое отключал, может в 2003 это было возможно?!
 
Ответить
Сообщение
не нашел - где это?

в Разделе формулы в настройках, но реально там нет отключения ошибок с циклическими ссылками, остальные ошибки можно отключить, а эту нет, странно я был уверен что раньше такое отключал, может в 2003 это было возможно?!

Автор - leskris
Дата добавления - 14.07.2015 в 12:56
miver Дата: Вторник, 14.07.2015, 13:36 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 190
Репутация: 37 ±
Замечаний: 0% ±

Excel 2010
leskris, Пробуй
[vba]
Код

Private Sub Workbook_Open()
      Application.Iteration = True
End Sub
[/vba]
 
Ответить
Сообщениеleskris, Пробуй
[vba]
Код

Private Sub Workbook_Open()
      Application.Iteration = True
End Sub
[/vba]

Автор - miver
Дата добавления - 14.07.2015 в 13:36
Саня Дата: Вторник, 14.07.2015, 14:22 | Сообщение № 10
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
Нашел в инете, что можно вставить скрипт в файл с расширением *.vbs и скрипт игнорирует настройки макросов, может можно такое для ошибок сделать.
Но я реально в этом совсем ноль. Может кто подскажет че делать?


[vba]
Код
Dim objFSO, objExcel, ExcelPath, wb
Dim wbTmp

Set objFSO = CreateObject("Scripting.FileSystemObject")   
ExcelPath = objFSO.GetParentFolderName(WScript.ScriptFullName)   

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set wbTmp = objExcel.Workbooks.Add

iter_on
Set wb = objExcel.Workbooks.Open (ExcelPath & "\Книга4.xlsm")
objExcel.OnTime Now + TimeSerial(0, 0, 3), "iter_off"

wbTmp.Close

'---------------------------------
Sub iter_on()
     objExcel.Iteration = True
End Sub

Sub iter_off()
     objExcel.Iteration = False
End Sub
[/vba]

создай vbs-файл, положи его в папку с твоим файлом и запусти
 
Ответить
Сообщение
Нашел в инете, что можно вставить скрипт в файл с расширением *.vbs и скрипт игнорирует настройки макросов, может можно такое для ошибок сделать.
Но я реально в этом совсем ноль. Может кто подскажет че делать?


[vba]
Код
Dim objFSO, objExcel, ExcelPath, wb
Dim wbTmp

Set objFSO = CreateObject("Scripting.FileSystemObject")   
ExcelPath = objFSO.GetParentFolderName(WScript.ScriptFullName)   

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set wbTmp = objExcel.Workbooks.Add

iter_on
Set wb = objExcel.Workbooks.Open (ExcelPath & "\Книга4.xlsm")
objExcel.OnTime Now + TimeSerial(0, 0, 3), "iter_off"

wbTmp.Close

'---------------------------------
Sub iter_on()
     objExcel.Iteration = True
End Sub

Sub iter_off()
     objExcel.Iteration = False
End Sub
[/vba]

создай vbs-файл, положи его в папку с твоим файлом и запусти

Автор - Саня
Дата добавления - 14.07.2015 в 14:22
leskris Дата: Вторник, 14.07.2015, 15:22 | Сообщение № 11
Группа: Пользователи
Ранг: Участник
Сообщений: 90
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016 (Office 365)
Ни один вариант не работает! сообщение об ошибки вылазит все равно!! "Предупреждение о циклической ссылке... бла... бла .бла..."
 
Ответить
СообщениеНи один вариант не работает! сообщение об ошибки вылазит все равно!! "Предупреждение о циклической ссылке... бла... бла .бла..."

Автор - leskris
Дата добавления - 14.07.2015 в 15:22
leskris Дата: Вторник, 14.07.2015, 15:54 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 90
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016 (Office 365)
включил вручную в настройках "итеративные вычисления" сообщения о циклической ссылке пропало, но можно все-таки как-то автоматически это сделать чтобы при загрузке на других компах не выдавало эту ошибку?
 
Ответить
Сообщениевключил вручную в настройках "итеративные вычисления" сообщения о циклической ссылке пропало, но можно все-таки как-то автоматически это сделать чтобы при загрузке на других компах не выдавало эту ошибку?

Автор - leskris
Дата добавления - 14.07.2015 в 15:54
SLAVICK Дата: Вторник, 14.07.2015, 16:26 | Сообщение № 13
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Попробуйте так:
[vba]
Код
Private Sub Workbook_Open()
Application.ErrorCheckingOptions.EvaluateToError = False
End Sub
[/vba]
Ошибка вылетит только первый раз - потом после повторного открытия вылетать не должна :D
это связано с :
Excel сначала обрабатывает свои сообщения, и только потом события VBA.


НО будьте осторожны, поскольку сообщение перестанет вылазить во всех файлах...
Мое имхо - лучше убрать неверные формулы, зачем они нужны, если вычисляются неверно <_<
К сообщению приложен файл: 7427954.xlsm (14.7 Kb)


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Вторник, 14.07.2015, 16:34
 
Ответить
СообщениеПопробуйте так:
[vba]
Код
Private Sub Workbook_Open()
Application.ErrorCheckingOptions.EvaluateToError = False
End Sub
[/vba]
Ошибка вылетит только первый раз - потом после повторного открытия вылетать не должна :D
это связано с :
Excel сначала обрабатывает свои сообщения, и только потом события VBA.


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

Автор - SLAVICK
Дата добавления - 14.07.2015 в 16:26
leskris Дата: Вторник, 14.07.2015, 17:00 | Сообщение № 14
Группа: Пользователи
Ранг: Участник
Сообщений: 90
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016 (Office 365)
спасибо!
 
Ответить
Сообщениеспасибо!

Автор - leskris
Дата добавления - 14.07.2015 в 17:00
ShAM Дата: Среда, 15.07.2015, 02:37 | Сообщение № 15
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
лучше убрать неверные формулы, зачем они нужны, если вычисляются неверно
Ярослав, класс. Почему-то все начали учить ТС "плохому". :)
Конечно нужно удалять не сообщение об ошибке, а причину, вызвавшую это сообщение.
 
Ответить
Сообщение
лучше убрать неверные формулы, зачем они нужны, если вычисляются неверно
Ярослав, класс. Почему-то все начали учить ТС "плохому". :)
Конечно нужно удалять не сообщение об ошибке, а причину, вызвавшую это сообщение.

Автор - ShAM
Дата добавления - 15.07.2015 в 02:37
leskris Дата: Среда, 15.07.2015, 03:17 | Сообщение № 16
Группа: Пользователи
Ранг: Участник
Сообщений: 90
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016 (Office 365)
Ярослав, класс. Почему-то все начали учить ТС "плохому". :)
Конечно нужно удалять не сообщение об ошибке, а причину, вызвавшую это сообщение.

Проблема в том что они вычисляются верно, а чтобы избежать цикличной сылке мне пришлось бы в 5 раз больше кода писать!! я точно знаю что там все впорядке...
 
Ответить
Сообщение
Ярослав, класс. Почему-то все начали учить ТС "плохому". :)
Конечно нужно удалять не сообщение об ошибке, а причину, вызвавшую это сообщение.

Проблема в том что они вычисляются верно, а чтобы избежать цикличной сылке мне пришлось бы в 5 раз больше кода писать!! я точно знаю что там все впорядке...

Автор - leskris
Дата добавления - 15.07.2015 в 03:17
ikki Дата: Среда, 15.07.2015, 03:32 | Сообщение № 17
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
Почему-то все начали учить ТС "плохому".
потому что ТС с самого начала написал
У меня циклический алгоритм


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщение
Почему-то все начали учить ТС "плохому".
потому что ТС с самого начала написал
У меня циклический алгоритм

Автор - ikki
Дата добавления - 15.07.2015 в 03:32
ShAM Дата: Среда, 15.07.2015, 05:33 | Сообщение № 18
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
Ну, мало ли, может, алгоритм поменять.
 
Ответить
СообщениеНу, мало ли, может, алгоритм поменять.

Автор - ShAM
Дата добавления - 15.07.2015 в 05:33
SLAVICK Дата: Среда, 15.07.2015, 12:00 | Сообщение № 19
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Ярослав, класс. Почему-то все начали учить ТС "плохому"

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

лично я так и делаю beer
А в циклических алгоритмах тоже можно прописать проверки для перескока или выхода из цикла... конечно код вырастет, но лучше один раз сделать правильно B)
Мне иногда присылают отчеты с такими ссылками, поэтому я себе тоже отключил сообщение - так проще, чем заставить переделать отчет :D


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Среда, 15.07.2015, 12:01
 
Ответить
Сообщение
Ярослав, класс. Почему-то все начали учить ТС "плохому"

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

лично я так и делаю beer
А в циклических алгоритмах тоже можно прописать проверки для перескока или выхода из цикла... конечно код вырастет, но лучше один раз сделать правильно B)
Мне иногда присылают отчеты с такими ссылками, поэтому я себе тоже отключил сообщение - так проще, чем заставить переделать отчет :D

Автор - SLAVICK
Дата добавления - 15.07.2015 в 12:00
Мир MS Excel » Вопросы и решения » Вопросы по VBA » ОТключение системных сообщений (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!