Начало развития ВСТО - PullRequest
       21

Начало развития ВСТО

44 голосов
/ 14 января 2010

Я совершенно не понимаю, какие инструменты необходимы для развития VSTO . В частности, я хочу манипулировать документами Excel 2003/2007 программно. Я делал довольно много VBA раньше, если вы хотите связать любой ответ с этим.

У меня есть несколько вопросов о VSTO:

  1. Могу ли я использовать для этого Visual Studio 2008 Express Edition C # / C ++?
  2. Нужно ли устанавливать .NET Framework?
  3. Нужно ли для запуска программы VSTO иметь копию Office, установленную в той же системе?

Будем благодарны за прямые ссылки на соответствующие инструменты / плагины / IDE.

Примечание: я совершенно новичок в VSTO и .NET, но опытный пользователь Office. У меня есть опыт программирования COM.

Ответы [ 3 ]

65 голосов
/ 14 января 2010

Да, это может сбить с толку, особенно с учетом соглашений об именовании на уровне пропуска и т. Д. По сути, вам потребуется:

  • Полная версия (не экспресс) Visual Studio и версия .NET, на которую вы нацелены.
  • Один из периодов работы VSTO (VSTO 2003, VSTO 2005, VSTO 2005 SE, VSTO 2008, VSTO 2010). За что просишь, ВСТО 2005 SE, вероятно, ваш лучший выбор.
  • При распространении вашего приложения вы будете нужно больше, например, PIA и .NET-версия, на которую вы нацелены. Для VSTO 2010 вам не нужны PIA (только то, что вы используете, будет автоматически упаковано с вашим приложением).

Пара советов:

  • Выход из VBE внутри офиса ВСТО должен быть плавным ходом если вы использовали .NET в значительной степени.
  • VSTO версии объекта модели для любой программы (Excel, PowerPoint и т. Д.) Может быть несколько больше способов делать то, что отличается / лучше, чем в VBA версия объектной модели. За Например, элемент управления Bookmark для Слово в VSTO 2008 не совпадает с тот, который является родным для одного доступ через VBA.
  • Распространение вашего приложения может быть проблемой. Это та самая причина, по которой VSTO для Visual Studio 2010 не требует от вас включить файлы полного взаимодействия (PIA) с вашей посылкой.
  • Ориентация на разные версии Офис с таким же решением не официально поддерживается до начала 2010 года. Есть способы вокруг этого вопроса, что некоторые люди говорили, но вы не получите много поддержки со стороны MSFT.

Есть несколько сайтов, на которые стоит взглянуть:

И наконец, чтобы сохранить лучшее на последнем месте, это книга, которую я прочитал, когда только начинал, и она была очень полезна: VSTO для простых смертных (TM): разработчик VBA Руководство по разработке Microsoft Office с использованием инструментов Visual Studio 2005 для Office

4 голосов
/ 14 января 2010

SpreadsheetGear для .NET - это совместимый с Excel компонент электронной таблицы для .NET, который будет работать с выпусками Visual Studio Express, требует .NET 2.0 или более позднюю версию, не требует установки Office или Excel и выполняет разрешить бесплатное распространение роялти на неограниченное количество клиентских и / или серверных компьютеров.

Вы можете посмотреть живые образцы здесь и загрузить бесплатную пробную версию здесь .

Отказ от ответственности: я владею SpreadsheetGear LLC

0 голосов
/ 21 июня 2011

Вы можете создать Excel с помощью Express Edition, используя этот компонент Excel .NET . Не требует автоматизации VSTO, ADO или MS Excel.

Компонент Excel Jetcell .NET позволяет читать электронные таблицы в формате Excel. Здесь вы можете найти множество примеров Excel VB.NET и C # . Например, см. Код VB.NET для создания электронной таблицы Excel из массива:

Imports DTG.Spreadsheet
...
Dim WBook = New ExcelWorkbook()
WBook.Worksheets.Add("ArrayValues")
For i As Short = 0 To 10
   For j As Short = 0 To 10
      WBook.Worksheets(0).Cells[i,j].Value = arr(i,j)
      j = j + 1
   Next j
   i = i + 1
Next i
WBook.WriteXLSX("ExcelSpreadsheet.xlsx")
...