Rozpoczęcie rozwoju VSTO

Jestem dość zdezorientowany z tym, jakie są niezbędne narzędzia do VSTO rozwoju. W szczególności chcę programowo manipulować dokumentami Excel 2003/2007. Zrobiłem sporo VBA wcześniej, jeśli chcesz odnieść jakąś odpowiedź do tego.

Kilka pytań, które mam na temat VSTO:

  1. Czy Mogę do tego używać Visual Studio 2008 Express Edition C# / C++?
  2. Czy muszę mieć zainstalowany. NET framework?
  3. czy wynikowy program VSTO musi mieć kopię pakietu Office zainstalowanego w tym samym systemie do uruchomienia?

Bezpośrednie linki do odpowiednich narzędzi/wtyczek/IDE będą mile widziane.

Uwaga: jestem zupełnie nowy w VSTO i. NET, ale jestem użytkownikiem biurowym. Mam doświadczenie w programowaniu COM.

Author: Todd Main, 2010-01-14

3 answers

Tak, to może być mylące, zwłaszcza biorąc pod uwagę konwencje nazewnictwa skip-level, itp. Zasadniczo będziesz potrzebował:

  • Pełna wersja (nie ekspresowa) Visual Studio i wersja. Net, którą kierujesz.
  • jeden z czasów uruchomienia VSTO (VSTO 2003, VSTO 2005, VSTO 2005 SE, VSTO 2008, VSTO 2010). O co prosisz, VSTO 2005 SE to chyba najlepsza opcja.
  • podczas dystrybucji aplikacji, będziesz Potrzebujesz więcej, takich jak PIAs i wersja. Net, którą targetowałeś. Dla VSTO 2010, nie potrzebujesz PIAs (tylko to, czego używasz, zostanie automatycznie spakowane z Twoją aplikacją).

Kilka porad:

  • idąc z VBE wewnątrz biura VSTO powinno być płynnym ruchem jeśli korzystałeś z. Net w dużym stopniu.
  • wersje VSTO obiektu modele dla dowolnego programu (Excel, PowerPoint itp.) może być kilka więcej sposobów robienia rzeczy, które są inny / lepszy niż w VBA wersja modelu obiektowego. Na przykład, Zakładka kontrola dla Word w VSTO 2008 to nie to samo co ten, który jest rodzimy dla jednego dostęp przez VBA.
  • dystrybucja aplikacji może być uciążliwa. To jest właśnie powód, dla którego VSTO dla Visual Studio 2010 nie wymaga aby dołączyć pełne pliki interop (PIA) z Twoją paczką.
  • targetowanie różnych wersji Office z tym samym rozwiązaniem nie jest oficjalnie wspierany na pre-VSTO 2010. Są sposoby wokół tej kwestii, że niektórzy ludzie rozmawialiśmy o tym, ale nie dostaniesz much wsparcie ze strony MSFT NA it.

Jest kilka stron, na które warto zajrzeć:

Wreszcie, aby zachować najlepsze na koniec, jest to książka, którą czytałem, gdy dopiero zaczynałem i była bardzo pomocna: VSTO for Mere Mortals (TM): a VBA Developer ' s Guide to Microsoft Office Development Using Visual Studio 2005 Tools for Office

 64
Author: Todd Main,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-09 19:08:50

SpreadsheetGear dla. Net jest komponentem arkusza kalkulacyjnego zgodnym z programem Excel dla. NET, który będzie działał z edycjami Visual Studio Express, wymaga. NET 2.0 lub nowszego, nie wymaga instalowania pakietu Office lub Excel i pozwala na bezpłatną dystrybucję na nieograniczoną liczbę komputerów klienckich i / lub serwerów.

Możesz zobaczyć próbki na żywo tutaj i pobrać bezpłatną wersję próbną tutaj.

Zastrzeżenie: posiadam SpreadsheetGear LLC

 4
Author: Joe Erickson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-14 14:08:22

Możesz utworzyć excel za pomocą edycji Express przy użyciu tego komponentu Excel. NET . Nie wymaga automatyzacji VSTO, ADO ani MS Excel.

Komponent Excel Jetcell. NET umożliwia odczyt zapisu arkusza kalkulacyjnego excel. Tutaj znajdziesz wiele Excel VB.NET oraz C# examples . Na przykład zobacz VB.NET kod do utworzenia arkusza kalkulacyjnego excel z tablicy:

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")
 0
Author: Barry Byrd,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-21 12:19:04