Почему надстройка Excel работает только наполовину? - PullRequest
0 голосов
/ 09 марта 2010

Я создал надстройку Excel с помощью Visual Studio 2008. Она имеет ленту, набор панелей и код, который добавляет листы и диапазоны и получает информацию, извлеченную из веб-страницы.

Когда я запускаю его на своем ПК разработчика, он работает отлично. Я использовал команду «Опубликовать» для ее публикации и установил ее на виртуальный ПК с Windows XP. Установка прошла нормально, и когда я открываю Excel, я вижу свою ленту. Если я нажимаю кнопку, которая отображает панель, появляется панель. Если я введу некоторые детали в панель, которая должна создать диапазон, и заполнит его данными с веб-страницы, диапазон будет создан, но веб-страница не будет посещена (я проверил, что у меня есть подключение). Одна из моих кнопок добавляет скрытый лист, а другая отображает или скрывает этот лист. Одна из этих кнопок не работает.

Я перепробовал все, что мог придумать. Мне интересно, есть ли какие-либо разрешения или проблемы с доверием, с которыми мне нужно иметь дело?

Ответы [ 2 ]

1 голос
/ 09 марта 2010

Одним из возможных объяснений является то, что происходит исключение и выполнение останавливается без предупреждения. В VSTO, насколько мне известно, нет простого способа централизовать обработку ошибок и, по крайней мере, выполнить регистрацию ошибок. Если код, генерирующий исключение, не окружен попыткой / отловом, исключение просто прервет выполнение.

Поэтому, если вы этого еще не сделали, я предлагаю вам окружить все точки входа выполнения, такие как обработчики событий, запускаемые действиями пользователя (нажатия кнопок и т. Д.), Попыткой / отловом и записать исключения.

Если у вас много таких случаев, вы можете проверить следующую статью (бесстыдный плагин) для возможного упрощения этого процесса.

Централизация управления исключениями VSTO с помощью PostSharp

0 голосов
/ 14 сентября 2012

Извините, я не думаю, что у меня есть разрешение на добавление ответа на пост Жоао Анджело.

Еще один способ найти сообщения об ошибках, выдаваемые в Excel, - добавить переменную среды, которая не будет подавлять сообщения об ошибках, которые выдает ваша надстройка. Я столкнулся с этой ошибкой и не смог определить причину сбоя надстройки.

  1. Выберите Пуск -> Щелкните правой кнопкой мыши на Мой компьютер и выберите Свойства.
  2. Выберите «Дополнительные параметры системы» -> появится диалоговое окно «Свойства системы».
  3. Выберите переменные среды и добавьте новую системную переменную .
    Имя переменной: VSTO_SUPPRESSDISPLAYALERTS Значение: 0 .

Любые ошибки теперь будут выводиться в диалоговое окно исключений Excel с полным сообщением об ошибке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...