Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 07.06.2008, 16:48   #1
Bezdar
Форумчанин
 
Регистрация: 03.06.2008
Сообщений: 213
По умолчанию Не отключается системное сообщение

Помогите советом! Хочу при открытии файла отключить сообщение об обновлении связей (связь не обновляется, т.к. закрыт доступ к файлу). DisplayAlerts = false не работает, т.к. сообщение загружается раньше, чем макрос. Или я чего-то не понимаю?
Bezdar вне форума
Старый 07.06.2008, 23:05   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

как-то тоже возникал такой вопрос. Посмотрите Здесь, возможно найдете решение своей задачи.
и вот еще по теме
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 08.06.2008 в 00:16.
VictorM вне форума
Старый 09.06.2008, 12:34   #3
Bezdar
Форумчанин
 
Регистрация: 03.06.2008
Сообщений: 213
По умолчанию

----------

Последний раз редактировалось Bezdar; 09.06.2008 в 12:41.
Bezdar вне форума
Старый 09.06.2008, 12:39   #4
Bezdar
Форумчанин
 
Регистрация: 03.06.2008
Сообщений: 213
По умолчанию

Насколько я могу понять ответ - это отключение обновления внешних связей. А мне нужно, чтобы связи обновлялись, а сообщение не выскакивало.
Bezdar вне форума
Старый 09.06.2008, 12:56   #5
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Не могу к сожалению сечас проверить, нет подходящего файла со связями, но мне кажется, что вот это
Код:
Sub OpenExcelLinks()
    iExcelLinks = ThisWorkbook.LinkSources(xlExcelLinks)
    With Application
        .ScreenUpdating = False
        .EnableEvents = False
        ReDim iOpenWb(1 To .Workbooks.Count)
        For iCount& = 1 To .Workbooks.Count
            iOpenWb(iCount&) = .Workbooks(iCount&).FullName
        Next
        For Each iFileName In iExcelLinks
            On Error Resume Next
            If Dir(iFileName) <> "" Then
               If .IsError(.Match(iFileName, iOpenWb, 0)) = True _
               Then .Workbooks.Open FileName:=iFileName, UpdateLinks:=0
            End If
        Next
        .EnableEvents = True
        .ScreenUpdating = True
    End With
End Sub
как раз и обновит все связи ни очем не спрашивая.
Попробуйте поместите процедуру в Private Sub Workbook_Open()...
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума
Старый 09.06.2008, 13:40   #6
Bezdar
Форумчанин
 
Регистрация: 03.06.2008
Сообщений: 213
По умолчанию

VictorM
Чего бы я ни сажала на workbook_open, сообщение об обновлении выскакивает раньше, чем запускается любой макрос.
Bezdar вне форума
Старый 09.06.2008, 14:20   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

может в реестре
HKEY_CURRENT_USER\Software\Microsof t\Office\11.0\Excel\Options
RefreshAlert с 1 на 0 заменить? и для чистоты эксперимента перегрузить компьютер.

это чистой воды предположение. а вдруг...
если что - можно все обратно вернуть.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 09.06.2008, 15:28   #8
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

еще есть такое предложение, опять же не могу проверить
Правка > Связи > Запрос на обновление связей > Не задавать вопрос и обновлять связи
Попробуйте, мож оно...
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума
Старый 09.06.2008, 15:57   #9
Bezdar
Форумчанин
 
Регистрация: 03.06.2008
Сообщений: 213
По умолчанию

IgorGO
Не хотелось бы лезть в реестры юзеров...
VictorM
Запрос на обновление связей уже отключен стандартными Excel-скими методами. Но т.к.
одну из нескольних связей Excel обновить не в состоянии, то и ругается соответственно, раздражая этим самым пользователей.
Bezdar вне форума
Старый 10.06.2008, 06:03   #10
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Дело действительно в том, что связи Excel обновляет раньше, чем обрабатывает событие Workbook_Open(). К тому же, отключение вывода сообщений Application.DisplayAlerts = False работает до тех пор, пока не будет явно переключено в True, либо до окончания работы той процедуры, откуда было произведено это отключение. Поэтому, в Вашем случае все это не поможет.
Можно поступить следующим образом:
В Правка->Связи->Запрос на обновление связей - установить "Не задавать вопрос и не обновлять связи". А в модуле книги прописать:
Код:
Private Sub Workbook_Open()

    Application.DisplayAlerts = False
    On Error Resume Next
    ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources
    
End Sub
Т.е. запрещаем вывод сообщений (для того, чтобы Excel не запрашивал путь к несуществующему по пути прописанному в связи файлу). Затем безусловно обновляем все связи, предварительно отключив обработчик ошибок. Таким образом, будут обновлены все существующие связи. Все не найденные будут проигнорированы без вывода каких-либо сообщений.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Системное программирование: Delphi или С++ nazavrik Свободное общение 7 03.09.2008 11:12
Системное время???Помогите???(Delphi) Dinarochka Помощь студентам 5 28.05.2008 12:11
Системное время TyoshA Общие вопросы Delphi 2 05.02.2008 23:41
Системное время Terran Общие вопросы Delphi 5 02.01.2008 20:12