Проблемы совместимости Visual Studio 2017 VB.Net Office 2010

Я создал программу в Visual Studio 2017 с использованием VB.net, которая берет данные формы и создает документ Word с графиком Excel. Я использую Win 10 и Office 2016. Я успешно запустил программу в Windows 7–10 (32 или 64) как в Office 2013, так и в Office 2016. Однако мне нужно, чтобы программа работала на машине Win 10, Office 2010. Любая версия Windows с Office 2010 просто сообщает, что программа/приложение прекратили работу.

Судя по тому, что я нашел на этом сайте и на других сайтах, похоже, что такая программа может работать в Office 2010 с определенной версией .NET и установленными инструментами Visual Studio 2010 для среды выполнения Office. Вот ссылка: https://msdn.microsoft.com/en-us/library/bb772080.aspx

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

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


person Community    schedule 25.07.2017    source источник
comment
Возможно, ваша программа написана для более новой версии .net, а в ваших системах с Office 2010 установлена ​​только более старая версия. Вы можете попробовать скомпилировать программу для более старой версии .net или установить более новую версию в системах с Office 2010. Чтобы скомпилировать программу для использования более старой версии, щелкните правой кнопкой мыши имя своего проекта в обозревателе решений. Откроется новая вкладка. В левой части окна вкладки выберите Приложение. Щелкните раскрывающийся список Target Framework и выберите нужную версию .net. Для Office 2010 я думаю, что это должно быть 3.5.   -  person David Wilson    schedule 25.07.2017
comment
Ваш код может не скомпилироваться в более старую версию, в зависимости от того, какие функции .net используются в вашем коде, но попробовать стоит.   -  person David Wilson    schedule 25.07.2017
comment
Вы правы, это должна быть версия 3.5. Я установил эту целевую структуру, и она по-прежнему работает на компьютерах с Office 2013 и Office 2016, но теперь программа перестает работать еще раньше. Раньше я мог заставить свою форму появиться, но когда я нажал кнопку для создания документа Word, программа вылетела. Теперь он вылетает, просто дважды щелкнув значок. Я пробовал как установить свою программу, так и просто использовать EXE-файл, и оба метода дали один и тот же результат. Несмотря на то, что это не сработало, спасибо за вашу помощь до сих пор.   -  person    schedule 26.07.2017


Ответы (1)


Мой код отлично работал на компьютерах с Office 2013 или 2016, но некоторые изменения, внесенные с 2010 по 2013 год, привели к тому, что часть моего кода стала недействительной при попытке работать на компьютерах с Office 2010. Код Word был в порядке, но код Excel имел три вопросы. Вот какие они были и как я их исправил:

  1. Office 2010 и более ранние версии не позволяют изменять ширину метки данных Excel, поэтому я компенсировал это, увеличив общую ширину диаграммы.

  2. Метод FullSeriesCollection для моей серии Excel недействителен для Office 2010, поэтому вместо него я использовал метод SeriesCollection.

  3. Мне пришлось поместить свою переменную для диапазона диаграммы Excel над моей переменной для диаграммы Excel. Я точно не знаю, зачем это было нужно, потому что это отлично работало в Office 2013 и 2016.

person Community    schedule 10.08.2017