Руководство пользователя для инспектора совместимости кода 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. Загрузите версию 1 обновления для средства OCCI со страницы загрузки инспектора совместимости Office 2010 (Возможно, на английском языке) (https://go.microsoft.com/fwlink/?linkid=171093\&clcid=0x419) (Возможно, на английском языке). Сохраните загруженный файл на рабочем столе или в любом другом удобном месте и откройте его, чтобы начать установку.

    • Можно выбрать установку только надстройки Visual Studio.

    • Можно выбрать установку только надстроек Office.

    • При необходимости можно установить надстройки для обеих сред.

  2. Следуйте выводимым на экран инструкциям. По завершении установки нажмите кнопку Готово.

Отображение вкладки вкладки "Разработчик"

Для каждого приложения Office, для которого планируется использовать данное средство, выполните указанные ниже действия.

  1. Откройте приложение Excel 2010, PowerPoint 2010 или Word 2010, если оно еще не открыто.

  2. На вкладке Файл нажмите кнопку Параметры.

  3. Выберите команду Настройка ленты.

  4. В списке Выбрать команды из в левой части диалогового окна выберите элемент Часто используемые команды.

  5. В области Настройка ленты в правой части диалогового окна выберите элемент Основные вкладки и установите флажок Разработчик.

  6. Нажмите кнопку ОК.

Включение доступа к проектам VBA

Для каждого приложения Office, для которого планируется использовать данное средство, выполните указанные ниже действия.

  1. Откройте приложение Excel 2010, PowerPoint 2010 или Word 2010, если оно еще не открыто.

  2. На вкладке Файл нажмите кнопку Параметры.

  3. Щелкните элемент Центр управления безопасностью.

  4. Щелкните элемент Параметры центра управления безопасностью.

  5. На вкладке Параметры макросов выберите пункт Доверять доступ к объектной модели проектов VBA.

Проверка кода VBA

Чтобы проверить документ на совместимость, выполните указанные ниже действия:

  1. Откройте документ в приложении Excel 2010, PowerPoint 2010 или Word 2010.

  2. На вкладке Разработчик выберите команду Изучить код VBA.

    Рис. 1. Параметры инспектора совместимости кода на вкладке "Разработчик"

    Параметры инспектора на вкладке "Разработчик"

  3. В диалоговом окне Изучение проекта VBA установите или снимите нужные флажки, а затем нажмите кнопку Проверить.

    Рис. 2. Диалоговое окно "Изучение проекта VBA"

    Диалоговое окно "Inspect VBA Project" (Проверка проекта VBA)

    1. Установите флажок Изучить проекты Visual Basic для приложений, чтобы проверить проекты VBA на наличие измененных или удаленных элементов объектной модели.

    2. Установите флажок Изучить операторы Declare, если проект будет выполняться только в Office 2010 или, возможно, будет выполняться в системе с 64-разрядным выпуском Office 2010.

    3. Установите флажок Добавить примечания, чтобы добавить в код комментарии в тех местах, где средство обнаружило потенциальные проблемы с совместимостью. Инспектор добавляет комментарии, подобные приведенным ниже.

      '<VBA_INSPECTOR>
      '      <DEPRECATION>
      '        <MESSAGE>Potentially contains ... </MESSAGE>
      '        <ITEM>AnswerWizard.ResetFileList</ITEM>
      '        <URL>https://go.microsoft.com/fwlink/?linkid=171730&clcid=0x419
      
    4. Установите флажок Подробный отчет, чтобы по завершении проверки создать отчет. Отчет представляет собой текстовый файл, подобный приведенному ниже.

      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
      
  4. По завершении проверки будет выведен сводный отчет, подобный приведенному ниже.

    Рис 2 (а). Сводный отчет инспектора совместимости кода

    Сводка инспектора совместимости кода

    • Общее число просканированных строк — общее число проверенных строк кода VBA в документе.

    • Общее число найденных элементов — общее число обнаруженных инспектором элементов с потенциальными проблемами, включая требующие обновления выражения Declare, измененные, устаревшие элементы и элементы с измененной структурой.

    • Устаревших элементов — число элементов в коде, которые были удалены из объектной модели или более не поддерживаются в ней. Если в коде используются устаревшие элементы, необходимо переписать соответствующие фрагменты кода.

    • Измененные элементы — элементы в коде, где используются команды, синтаксис которых был изменен. Если в коде используется устаревший синтаксис, код необходимо обновить.

    • Модернизированные элементы — элементы в коде, у которых изменился не синтаксис, а структура, что может привести к непредвиденным результатам. Например, форматирование определенного текстового поля могло измениться из-за появления новых текстовых служб; в результате в коде будет по-прежнему создаваться текстовое поле, однако расположение текста в нем может отличаться от предыдущих версий.

    • Операторы Declare — общее число операторов Windows API, обнаруженных в VBA-коде и обновленных для обеспечения совместимости с 64-разрядными системами путем добавления ключевого слова PTRSAFE.

Проверка кода Visual Studio

Чтобы проверить документ на совместимость, выполните указанные ниже действия:

  1. Откройте решение, которое требуется проверить, в наборе средств Visual Studio Tools for Office.

  2. В меню Сервис выберите пункт Изучить код VSTO.

    Рис. 3. Меню "Сервис" VSTO

    Меню "VSTO Tools" (Средства VSTO)

  3. В диалоговом окне Изучение проекта VSTO установите или снимите нужные флажки, а затем нажмите кнопку Проверить.

    Рис. 4. Диалоговое окно "Изучение проекта VSTO"

    Диалоговое окно "Inspect VSTO Project" (Проверка проекта VSTO)

    1. Установите флажок Изучить исходный код Visual Studio Tools for Office (VB.NET и C#), чтобы проверить проект Visual Studio Tools for Office на наличие измененных или удаленных элементов объектной модели.

    2. Установите флажок Добавить примечания, чтобы добавить в код комментарии в тех местах, где средство обнаружило потенциальные проблемы с совместимостью. Инспектор добавляет комментарии, подобные приведенным ниже.

      //<VSTO_INSPECTOR>
      //  <DEPRECATION>
      //      <MESSAGE>Potentially contains removed items...</MESSAGE>
      //      <ITEM>[mso]AnswerWizard.ResetFileList</ITEM>
      //      <URL>https://go.microsoft.com/fwlink/?linkid=171730&clcid=0x419
      
    3. Установите флажок Подробный отчет, чтобы по завершении проверки создать отчет. Отчет представляет собой текстовый файл, подобный приведенному ниже.

      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());
      
    4. Установите флажок Резервное копирование, чтобы выполнить резервное копирование файлов проекта перед проверкой кода.

  4. По завершении проверки будет выведен сводный отчет, подобный приведенному ниже.

    Рис 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 (а). Сообщение, указывающее количество удаленных элементов

Сообщение, указывающее количество удаленных элементов

Дополнительные ресурсы

Дополнительные сведения см. в следующих ресурсах: