|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.03.2014, 09:29 | #1 |
Форумчанин
Регистрация: 22.02.2010
Сообщений: 325
|
Запрет режима преобразования файлов excel 2007 для excel 2003
Здравствуйте Уважаемые программисты!
Подскажите пожалуйста, есть ли решение для следующей ситуации: На компьютере пользователя установлен Excel 2003 и "FileFormatConverters" (это утилита MS для открытия файлов office 2007 версии в режиме преобразования). Есть следующий код в книге Excel2007 (файл XLSM): Private Sub Workbook_Open() If Application.Version Like "12*" Then '... Else MsgBox "Из-за проблем с совместимостью, файл будет закрыт.", vbCritical Dim wb As Workbook: Application.ScreenUpdating = False For Each wb In Workbooks If wb Is ThisWorkbook Then wb.Close False Next wb End If End Sub Когда я открываю эту книгу xlsm через Excel 2003 (в котором нет других открытых книг), то код работает и книга xlsm закрывается. Но когда в Excel 2003 уже есть открытые книги, то при открытии xlsm код не работает - книга xlsm остается открытой. Подскажите пожалуйста, как поправить код? Возможно дело в том, что когда книга xlsm открывается в excel 2003, то сначала происходит ее преобразование? Заранее спасибо. |
28.03.2014, 10:01 | #2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
так попробуйте
Код:
|
28.03.2014, 10:27 | #3 |
Форумчанин
Регистрация: 22.02.2010
Сообщений: 325
|
Спасибо работает!
Подскажите пожалуйста, как поправить то что у меня после действия в этом коде: MsgBox "Из-за проблем с совместимостью, файл будет закрыт.", vbCritical ThisWorkbook.Close False ' закрываем этот файл в моей книге на событии "Workbook_BeforeClose" стоит вывод окна: Select Case MsgBox("Вы хотите СОХРАНИТЬ изменения в файле '" & Me.Name & "' перед его закрытием ?", vbYesNo + vbQuestion, "Выход") Case vbYes: ActiveWorkbook.Save Case vbNo: ActiveWorkbook.Saved = True End Select Как можно обойти (запретить) этот Msgbox (при закрытии книги) или инициировать нажатие "Нет"? Спасибо! |
28.03.2014, 11:32 | #4 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Цитата:
вроде, Excel сам предлагает сохранить файл при закрытии, без подобного кода... Для решения проблемы, в обработчике события Workbook_BeforeClose, первой строкой добавьте проверку версии Excel: Код:
|
|
28.03.2014, 12:20 | #5 |
Форумчанин
Регистрация: 22.02.2010
Сообщений: 325
|
Спасибо, решение найдено!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
excel 2007, Регистрация библиотеки от excel 2003 | maksim_serg | Microsoft Office Excel | 1 | 12.01.2011 14:05 |
Excel 2003-2007 ??? | Александр82 | Microsoft Office Excel | 6 | 04.10.2010 19:19 |
Совместимость Excel 2003 и 2007 | 1134 | Microsoft Office Excel | 9 | 19.07.2010 14:08 |
Как запретить запуск программы на VBA Excel 2003 в Excel 2007 | kovalevskivf | Microsoft Office Excel | 2 | 15.05.2009 16:47 |