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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2014, 10:31   #1
Jaroslav
Форумчанин
 
Регистрация: 08.06.2009
Сообщений: 179
По умолчанию Workbook_Open и связи в ексель

Всем привет. В книге Excel в ЭтаКнига написал Private Sub Workbook_Open и программу, которая должна выполняться при открытии книги. Кроме того, в этой же книге создал модуль класса с таким кодом:

Код:
Public WithEvents App As Application

Private Sub App_WorkbookOpen(ByVal wb As Workbook)
    Application.DisplayAlerts = False
End Sub

Private Sub App_WorkbookBeforeClose(ByVal wb As Workbook, _
        Cancel As Boolean)
     ActiveWorkbook.Saved = True
End Sub
Эта книга содержит связи с другими книгами. При запуске книги выдает сообщение: "Эта книга содержит одну или несколько связей, которые не могут быть обновлены..." и 2 кнопки Продолжить и Изменить связи. После нажатия кнопки Продолжить запускается программа, которая написана в процедуре Private Sub Workbook_Open.

Вопрос: можно ли сделать так, чтобы при открытии книги сообщение: "Эта книга содержит одну или несколько связей, которые не могут быть обновлены..." не выдавалось, то есть, чтобы сразу запускалась программа, которая написана в процедуре Private Sub Workbook_Open?
Jaroslav вне форума Ответить с цитированием
Старый 29.04.2014, 11:41   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Цитата:
можно ли сделать так, чтобы при открытии книги сообщение: "Эта книга содержит одну или несколько связей, которые не могут быть обновлены..."
Есть 2 варианта:
1) удалить все эти связи с другими файлами
2) в настройках Excel (файл - параметры - безопасность - параметры центра безопасности) включить опцию «автоматическое обновление связей (без запроса)»
EducatedFool вне форума Ответить с цитированием
Старый 29.04.2014, 11:50   #3
Jaroslav
Форумчанин
 
Регистрация: 08.06.2009
Сообщений: 179
По умолчанию

EducatedFool, прилагаю скрин. У меня Excel 2003. Галочка возле опции "Запрашивать об обновлении автоматических связей" не стоит. Первый вариант не подходит. Еще возможны варианты?
Вложения
Тип файла: doc скрин.doc (36.0 Кб, 9 просмотров)
Jaroslav вне форума Ответить с цитированием
Старый 29.04.2014, 12:41   #4
Jaroslav
Форумчанин
 
Регистрация: 08.06.2009
Сообщений: 179
По умолчанию

Сервис-Параметры-Правка галочка возле опции "Запрашивать об обновлении автоматических связей" не стоит.
Сервис-Параметры-Вычисления галочки возле опций "сохранять значения внешних связей" и "обновлять удаленные ссылки" не стоят. Но при открытии книги галочку возле опции "сохранять значения внешних связей" Excel ставит автоматически. Ее можно убрать?
Jaroslav вне форума Ответить с цитированием
Старый 29.04.2014, 14:26   #5
Jaroslav
Форумчанин
 
Регистрация: 08.06.2009
Сообщений: 179
По умолчанию

Вот ответ: Если Вы используете MS Excel XP-2003, то в меню Правка выберите команду Связи, в появившемся стандартном диалоговом окне Изменение связей кликните кнопку Запрос на обновление связей и выберите второй или третий вариант.
Jaroslav вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача в ексель Елена23101995 Microsoft Office Excel 16 23.01.2014 19:59
Ексель время EL_MArio Microsoft Office Excel 15 22.10.2013 14:33
Перенос макроса в новую книгу в Workbook_open() Daren Microsoft Office Excel 4 05.04.2011 13:27
Не работает Workbook_Open kipish_lp Microsoft Office Excel 6 24.11.2010 14:00
Функции в Ексель Юра_ Microsoft Office Excel 5 16.12.2008 14:26