Как легко определить, будет ли мой код Excel 2007 работать в более ранних версиях Excel?

Я записал макрос в Excel 2007, в котором использовались TintAndShade и PatternTintAndShade. Мне неизвестно, эти две функции не поддерживаются в более ранних версиях Excel, но благодаря StackOverflow я нашел обходной путь.

Или я так думал. Есть (видимо) другие функции, не поддерживаемые 2003. Я говорю "видимо", потому что у меня нет доступа к Excel 2003, но коллега сказал мне, что макрос не работает. Я начал просить его сказать мне, где макрос терпит неудачу, а затем решать это (и повторять), но это медленный процесс.

Есть ли более простой способ? Есть ли, например. список новых команд в Excel 2007 или простая проверка совместимости?


person Reinstate Monica - Goodbye SE    schedule 05.03.2012    source источник
comment
Вы пытались открыть лист 2003 года в режиме совместимости и запустить свой макрос? Несовместимая часть вашего кода может дать сбой, что поможет вам найти проблемы...   -  person assylias    schedule 05.03.2012


Ответы (2)


По совпадению я наткнулся на это, что может помочь: http://blogs.msdn.com/b/eric_carter/archive/2009/03/19/object-model-changes-for-developers-between-excel-2003-and-excel-2007.aspx

В MSDN также есть страница для Excel 2010, которая, хотя и не имеет прямого отношения, может также помочь: http://msdn.microsoft.com/en-us/library/ee836187.aspx

person markblandford    schedule 06.03.2012
comment
Теперь это то, что я ищу! Но почему не упоминается TintAndShade? - person Reinstate Monica - Goodbye SE; 06.03.2012

Нет, не совсем, и я сомневаюсь, что есть полностью составленный список изменений объекта.

Лучшим решением было бы разработать в 2003 году, в 2003 году очень мало объектов, которых нет в более поздних версиях - поиск файлов - единственный, о котором я могу думать навскидку. Однако в '07 есть множество вещей, недоступных в более ранних версиях, особенно примечательны новые функции, включенные в '07.

У вас правда нет возможности проявится в 03 не можете установить? На самом деле не существует надежного способа гарантировать, что ваша книга будет работать правильно в более ранних версиях Excel, если только она не была разработана в более ранней версии (или это действительно просто)

person SWa    schedule 05.03.2012
comment
Спасибо. Нет, у меня только Excel 2007. Как ни странно, мне нужно было разрабатывать в старой версии Excel... - person Reinstate Monica - Goodbye SE; 05.03.2012
comment
Другим очевидным отличием является лента, которой не существует в 2003 году. Все, что создает пользовательскую ленту в 2007 году, не будет работать в 2003 году. - person assylias; 05.03.2012
comment
О да, не знаю, как я пропустил это ;) @Wikis, не совсем, в общем, это хорошая практика - работать с самыми низкими характеристиками пользовательской машины, чтобы сделать ее максимально совместимой. - Хотя вы, вероятно, можете исключить что-либо меньшее, чем 03 - person SWa; 05.03.2012