Руководство пользователя для инспектора совместимости кода Microsoft Office
Применимо к: Office 2010
Последнее изменение раздела: 2012-01-27
Инспектор совместимости кода Microsoft Office предназначен для устранения неполадок, связанных с совместимостью, в макросах и надстройках Microsoft Visual Basic для приложений (VBA).
С помощью этого средства можно проверить код VBA, созданный в предыдущих версиях Microsoft Office, и обеспечить совместимость вызовов API-интерфейса Windows с 64-разрядным выпуском Microsoft Office 2010.
Содержание:
Общие сведения об инспекторе
Установка
Проверка кода VBA
Проверка кода VSTO
Использование инспектора
Дополнительные ресурсы
Общие сведения об инспекторе
Инспектор совместимости кода Microsoft Office предназначен для крупных и малых организаций и обеспечивает обновление кода Visual Basic для приложений (VBA) и набора средств Visual Studio Tools for Office в целях обеспечения совместимости с Office 2010. Инспектор не выполняет исправление кода — он обеспечивает проверку кода и комментирует отдельные строки кода, в которых содержатся ссылки на каким-либо образом измененные или устаревшие элементы. В коде VBA это средство также комментирует операторы Declare для совместимости с 64-разрядными средами. После проверки можно изменить код в соответствии с комментариями или просмотреть соответствующие ресурсы в Интернете с помощью ссылок, приводимых в комментариях.
Повторимся, любые изменения можете вносить только вы.
К основным функциональным возможностям инспектора совместимости кода Office относятся следующие:
Четыре надстройки, загружающихся в соответствующие приложения (Excel 2010, PowerPoint 2010, Word 2010 и Visual Studio 2008).
Работа с индивидуальными пользователями или документами. Пользователи VBA открывают документ и запускают это средство с вкладки Разработчик. В проектах Visual Studio разработчик запускает это средство из меню Сервис.
Проверка проектов в текущем документе или решении Visual Studio с использованием простого текстового поиска сочетаний
parentObject.Property
, а также проверка выражений Declare на предмет совместимости с 64-разрядными средами (в VBA).Добавление комментариев в код при обнаружении потенциальных проблем.
Отображение сводки и подробного отчета по результатам поиска по завершении проверки.
Это средство не поддерживает проверку кода из приложений Microsoft Outlook или Microsoft Access. Однако с его помощью можно проверить код Excel, PowerPoint или Word на предмет взаимодействия с объектной моделью Outlook.
Установка
Для установки инспектора совместимости кода Office выполните следующие действия:
Загрузите версию 1 обновления для средства OCCI со страницы загрузки инспектора совместимости Office 2010 (Возможно, на английском языке) (https://go.microsoft.com/fwlink/?linkid=171093\&clcid=0x419) (Возможно, на английском языке). Сохраните загруженный файл на рабочем столе или в любом другом удобном месте и откройте его, чтобы начать установку.
Можно выбрать установку только надстройки Visual Studio.
Можно выбрать установку только надстроек Office.
При необходимости можно установить надстройки для обеих сред.
Следуйте выводимым на экран инструкциям. По завершении установки нажмите кнопку Готово.
Отображение вкладки вкладки "Разработчик"
Для каждого приложения Office, для которого планируется использовать данное средство, выполните указанные ниже действия.
Откройте приложение Excel 2010, PowerPoint 2010 или Word 2010, если оно еще не открыто.
На вкладке Файл нажмите кнопку Параметры.
Выберите команду Настройка ленты.
В списке Выбрать команды из в левой части диалогового окна выберите элемент Часто используемые команды.
В области Настройка ленты в правой части диалогового окна выберите элемент Основные вкладки и установите флажок Разработчик.
Нажмите кнопку ОК.
Включение доступа к проектам VBA
Для каждого приложения Office, для которого планируется использовать данное средство, выполните указанные ниже действия.
Откройте приложение Excel 2010, PowerPoint 2010 или Word 2010, если оно еще не открыто.
На вкладке Файл нажмите кнопку Параметры.
Щелкните элемент Центр управления безопасностью.
Щелкните элемент Параметры центра управления безопасностью.
На вкладке Параметры макросов выберите пункт Доверять доступ к объектной модели проектов VBA.
Проверка кода VBA
Чтобы проверить документ на совместимость, выполните указанные ниже действия:
Откройте документ в приложении Excel 2010, PowerPoint 2010 или Word 2010.
На вкладке Разработчик выберите команду Изучить код VBA.
Рис. 1. Параметры инспектора совместимости кода на вкладке "Разработчик"
В диалоговом окне Изучение проекта VBA установите или снимите нужные флажки, а затем нажмите кнопку Проверить.
Рис. 2. Диалоговое окно "Изучение проекта VBA"
Установите флажок Изучить проекты Visual Basic для приложений, чтобы проверить проекты VBA на наличие измененных или удаленных элементов объектной модели.
Установите флажок Изучить операторы Declare, если проект будет выполняться только в Office 2010 или, возможно, будет выполняться в системе с 64-разрядным выпуском Office 2010.
Установите флажок Добавить примечания, чтобы добавить в код комментарии в тех местах, где средство обнаружило потенциальные проблемы с совместимостью. Инспектор добавляет комментарии, подобные приведенным ниже.
'<VBA_INSPECTOR> ' <DEPRECATION> ' <MESSAGE>Potentially contains ... </MESSAGE> ' <ITEM>AnswerWizard.ResetFileList</ITEM> ' <URL>https://go.microsoft.com/fwlink/?linkid=171730&clcid=0x419
Установите флажок Подробный отчет, чтобы по завершении проверки создать отчет. Отчет представляет собой текстовый файл, подобный приведенному ниже.
SUMMARY: ======== Document scanned: c:\TestFile.xls Date Scanned: Thursday, November 12, 2009 Total lines scanned: 101 Total items found: 1 Deprecated items: 0 Changed items: 1 Redesigned items: 0 Declare statements: 0 DETAILS: ======== MODULE: Module1 FUNCTION: Macro1 LINE: 19 TYPE: CHANGE ITEM: Workbook.VBProject URL: https://go.microsoft.com/fwlink/?linkid=170116&clcid=0x419: For Each comp In ActiveWorkbook.VBProject.VBComponents
По завершении проверки будет выведен сводный отчет, подобный приведенному ниже.
Рис 2 (а). Сводный отчет инспектора совместимости кода
Общее число просканированных строк — общее число проверенных строк кода VBA в документе.
Общее число найденных элементов — общее число обнаруженных инспектором элементов с потенциальными проблемами, включая требующие обновления выражения Declare, измененные, устаревшие элементы и элементы с измененной структурой.
Устаревших элементов — число элементов в коде, которые были удалены из объектной модели или более не поддерживаются в ней. Если в коде используются устаревшие элементы, необходимо переписать соответствующие фрагменты кода.
Измененные элементы — элементы в коде, где используются команды, синтаксис которых был изменен. Если в коде используется устаревший синтаксис, код необходимо обновить.
Модернизированные элементы — элементы в коде, у которых изменился не синтаксис, а структура, что может привести к непредвиденным результатам. Например, форматирование определенного текстового поля могло измениться из-за появления новых текстовых служб; в результате в коде будет по-прежнему создаваться текстовое поле, однако расположение текста в нем может отличаться от предыдущих версий.
Операторы Declare — общее число операторов Windows API, обнаруженных в VBA-коде и обновленных для обеспечения совместимости с 64-разрядными системами путем добавления ключевого слова PTRSAFE.
Проверка кода Visual Studio
Чтобы проверить документ на совместимость, выполните указанные ниже действия:
Откройте решение, которое требуется проверить, в наборе средств Visual Studio Tools for Office.
В меню Сервис выберите пункт Изучить код VSTO.
Рис. 3. Меню "Сервис" VSTO
В диалоговом окне Изучение проекта VSTO установите или снимите нужные флажки, а затем нажмите кнопку Проверить.
Рис. 4. Диалоговое окно "Изучение проекта VSTO"
Установите флажок Изучить исходный код Visual Studio Tools for Office (VB.NET и C#), чтобы проверить проект Visual Studio Tools for Office на наличие измененных или удаленных элементов объектной модели.
Установите флажок Добавить примечания, чтобы добавить в код комментарии в тех местах, где средство обнаружило потенциальные проблемы с совместимостью. Инспектор добавляет комментарии, подобные приведенным ниже.
//<VSTO_INSPECTOR> // <DEPRECATION> // <MESSAGE>Potentially contains removed items...</MESSAGE> // <ITEM>[mso]AnswerWizard.ResetFileList</ITEM> // <URL>https://go.microsoft.com/fwlink/?linkid=171730&clcid=0x419
Установите флажок Подробный отчет, чтобы по завершении проверки создать отчет. Отчет представляет собой текстовый файл, подобный приведенному ниже.
SUMMARY: ======== Solution scanned: ExcelAddIn1 Date scanned: Thursday, November 12, 2009 Total lines scanned: 43 Total items found: 3 Deprecated items: 3 Changed items: 0 Redesigned items: 0 DETAILS: ======== MODULE: ThisAddIn.cs FUNCTION: ThisAddIn_Startup LINE: 17 TYPE: DEPRECATION APP: mso ITEM: AnswerWizard URL: https://go.microsoft.com/fwlink/?linkid=171730&clcid=0x419: xlApp.AnswerWizard.ResetFileList(); MODULE: ThisAddIn.cs FUNCTION: ThisAddIn_Startup LINE: 19 TYPE: DEPRECATION APP: xls ITEM: SmartTagRecognizers URL: https://go.microsoft.com/fwlink/?linkid=170614&clcid=0x419: xlApp.SmartTagRecognizers.Recognize = true; MODULE: ThisAddIn.cs FUNCTION: ThisAddIn_Startup LINE: 22 TYPE: DEPRECATION APP: xls ITEM: SmartTags URL: https://go.microsoft.com/fwlink/?linkid=170617&clcid=0x419: MessageBox.Show(r.SmartTags.Count.ToString());
Установите флажок Резервное копирование, чтобы выполнить резервное копирование файлов проекта перед проверкой кода.
По завершении проверки будет выведен сводный отчет, подобный приведенному ниже.
Рис 5. Сводный отчет инспектора совместимости кода
Общее число просканированных строк — общее число проверенных строк кода Visual Basic .NET or C# в документе.
Общее число найденных элементов — общее число обнаруженных инспектором элементов с потенциальными проблемами, включая измененные, устаревшие элементы и элементы с измененной структурой.
Устаревших элементов — число элементов в коде, которые были удалены из объектной модели или более не поддерживаются в ней. Если в коде используются устаревшие элементы, необходимо переписать соответствующие фрагменты кода.
Измененные элементы — элементы в коде, где используются команды, синтаксис которых был изменен. Если в коде используется устаревший синтаксис, код необходимо обновить.
Модернизированные элементы — элементы в коде, у которых изменился не синтаксис, а структура, что может привести к непредвиденным результатам. Например, форматирование определенного текстового поля могло измениться из-за появления новых текстовых служб; в результате в коде будет по-прежнему создаваться текстовое поле, однако расположение текста в нем может отличаться от предыдущих версий.
Операторы Declare — общее число операторов Windows API, обнаруженных в VBA-коде и обновленных для обеспечения совместимости с 64-разрядными системами путем добавления ключевого слова PTRSAFE.
Использование инспектора
Если инспектор обнаруживает в коде элементы со статусом Измененный, Устаревший или Переработанный, необходимо выполнить отладку кода и устранить возникшие проблемы. Рекомендуется выполнить полный тестовый прогон кода и проверить каждую функцию. В процессе отладки кода проверяйте комментарии инспектора совместимости кода Office, расположенные над содержащими проблемы строками кода. Эти комментарии позволят определить проблему, обнаруженную в соответствующей строке кода. Если проблему не удается определить сразу, воспользуйтесь приведенным в комментарии URL-адресом для просмотра дополнительных сведений по ней в браузере.
Удаление комментариев в VBA
Чтобы удалить комментарии из кода после завершения обработки и проверки кода на совместимость с Office 2010, выберите команду Удалить комментарии на вкладке Разработчик в приложении Office 2010.
Все комментарии, добавленные инспектором в проект VBA, удаляются. Отображается уведомление о числе удаленных элементов.
Рис. 6. Сообщение, указывающее количество удаленных элементов
Удаление комментариев в Visual Studio
Чтобы удалить комментарии из кода после завершения обработки и проверки кода на совместимость с Office 2010, выберите команду Удалить комментарии инспектора VSTO в меню Сервис Visual Studio.
Все комментарии, добавленные инспектором в проект Visual Studio Tools for Office, удаляются. Отображается уведомление о числе удаленных элементов.
Рис. 6 (а). Сообщение, указывающее количество удаленных элементов
Дополнительные ресурсы
Дополнительные сведения см. в следующих ресурсах:
Средство OEAT: совместимость Office (Возможно, на английском языке) (https://go.microsoft.com/fwlink/?linkid=171092\&clcid=0x419, страница может быть на английском языке)
Руководство пользователя средства оценки среды Office для Office 2010
Обзор диспетчера планирования миграции Office (OMPM) для Office 2010
Центр ресурсов совместимости на сайте TechNet (https://go.microsoft.com/fwlink/?linkid=186766\&clcid=0x419, страница может быть на английском языке)