1 / 34

Aplikacje oparte na VS/Office

Aplikacje oparte na VS/Office. Rozszerzanie VS , MSOffice. Cel: nowe narzedzia integracja środowisk pracy platforma aplikacyjna (MSOffice) Środki: Snippety Makra Własna strona startowa np.: TFS stats/ostatnie błędy/zadania Wtyczki A plikacje oparte na VS. Rozszerzanie VS - jak.

sona
Download Presentation

Aplikacje oparte na VS/Office

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Aplikacje oparte na VS/Office

  2. Rozszerzanie VS, MSOffice Cel: • nowe narzedzia • integracja środowisk pracy • platforma aplikacyjna (MSOffice) Środki: • Snippety • Makra • Własna strona startowa np.: TFS stats/ostatnie błędy/zadania • Wtyczki • Aplikacje oparte na VS

  3. Rozszerzanie VS - jak • Wtyczki i kreatorzy • natywny model obiektowy • obiekty ActiveX • projekt integracji VS (VSIP) (VS2008) • VSIX (VS2010) • MEF • VS SDK VS SDK Samples • MS VS Shell – tryb zintegrowany lub wydzielony • Visualization and Modeling Feature Pack

  4. VS - wtyczki Model COM : Wtyczka VS Dostęp obejmuje: • makra • narzędzi • ustawień • praktycznie wszystkich okien (m.in.Toolboxy, Code Editor, Solution Explorer itd.) • kontrolę np.: edycji kodu, debugingu, konfiguracji itd

  5. VS model automatyzacji

  6. Realizacja wtyczek

  7. Realizacja wtyczek • OnConnection – wywoływana jest w momencie ładowania dodatku • OnDisconnection – wywoływana w momencie wyłączenia dodatku • OnStartupComplete – wywoływana po załadowaniu się środowiska (Visual Studio, Word itd.) • OnAddInsUpdate – powiadomienie o zmianach w kolekcji dodatków • OnBeginShutdown – powiadomienie o zamykaniu środowiska; przydatne aby na przykład zapisać konfigurację

  8. OnConnection if (connectMode == Extensibility.ext_ConnectMode.ext_cm_UISetup || connectMode == Extensibility.ext_ConnectMode.ext_cm_Startup || connectMode == Extensibility.ext_ConnectMode.ext_cm_AfterStartup) • sprawdzenie trybu uruchamiania • zapamietanie obiektow globalnych • tworzenie elementow interfejsu

  9. QueryStatus public void QueryStatus(string commandName, vsCommandStatusTextWanted neededText, ref vsCommandStatus status, ref object commandText) { if(neededText == vsCommandStatusTextWanted.vsCommandStatusTextWantedNone) { if (commandName == "MyAddin1.Connect.MakeProperty") { status = vsCommandStatus)vsCommandStatus.vsCommandStatusSupported | vsCommandStatus.vsCommandStatusEnabled; } ... • aktualizacja stanu komend

  10. Exec publicvoid Exec(string commandName, EnvDTE.vsCommandExecOption executeOption, refobject varIn, refobject varOut, refbool handled) • punkt wejścia dla wszystkich komend

  11. Rejestracja • plik MyAddin.AddIn powinien zostać umieszczony w katalogu przeglądanym przez VS w poszukiwaniu wtyczek • lista przeszukiwanych katalogów dostępna przez:Tools | Options | Environment | Add-In/Macros Security

  12. Materiały MS o VS automation • http://msdn.microsoft.com/en-us/vsx/default.aspx • http://msdn.microsoft.com/pl-pl/library/xc52cke4(en-us).aspx • http://msdn.microsoft.com/en-us/library/tz746te4.aspx

  13. Makra • Pisane w VBA (podobnie jak MSOffice) • Nagrywanie makr – podglądanie możliwości VS

  14. Start Page • Można personalizowac jej zawartość (projekty/podzakładki/źródło newsów) • Można ją wyłączyć  • Można napisać nową np.: • TFS stats/ostatnie błędy/zadania • (XAML) -> VS Gallery -> Custom Start Page Project Template

  15. Szablon • Wbudowane: Program files (x86)/Microsoft/visual Studio 10.0/Common7/IDE/ • Własne: MyDocuments.../Visual Studio 2010\Templates\ • ItemTemplates • ProjectTemplates • 1 plik (zip) -> File/ExportTemplate • Pliki wewnatrz przetwarzanie z użyciem symboli: • $parameter$ • Np.: $projectname$, $safeprojectname$ • Wiecej tutaj: http://msdn.microsoft.com/en-us/library/eehb4faa%28v=vs.100%29.aspx

  16. Szablon - wdrożenie • Należy szablon umieścić w odpowiednim katalogu • Nazwy podkatalogów mozna wykorzystać do kategoryzacji • VS – galery->export VSIX • Export Template Wizard – rozszerzenie pozwalające exportować szablony w formacie VSIX

  17. VSIX • 1 plik (zip) zawiera kod, metadane, help, obrazki, manifest itd • Instalowalny / deinstalowany1 kliknięciem • Możliwe blokowanie bez deinstalacji • Projekt – dostepny po instalacji VS SDK • %VSDirectory%\Common7\IDE\Extensions\ • %VSDirectory%\Common7\IDE\CommonExtensions\ • %LocalAppData%\Microsoft\VisualStudio\10.0\Extensions\

  18. VS vs. MEF • Typy contentu • Klasyfikacja typów i formatów • Marginesy i paski przewijania • Tagi (np. dla linii/lub fragmentów – kolorowanie,sprawdzanie składni) • Dekoracje (elementy rysowane na obszarze edytora) • Obsługa myszy (np gesty) • Obsługa upuszczania • Opcje • IntelliSense i debugger

  19. Przykład • Do projektu typu Editor Margin • textViewHost.TextView.VisualElement.LayoutTransform = new RotateTransform(245); Editor extension points: http://technet.microsoft.com/en-us/query/dd885244%28v=vs.85%29

  20. VSIX - uruchamianie • Druga instancja działa z wydzielona konfiguracja • %LocalAppData%\Microsoft\VisualStudio\10.0Exp\Extensions\ • Dodatkowe logowanie: -i logfile • Można użyc deinstalatora, ale ważne w której instancji VS. • Prywatne galerie: • http://msdn.microsoft.com/en-us/library/hh266746.aspx

  21. Tagi ? przyklad

  22. VSShell • Integrated mode • Narzedzia i języki • Isolated mode: • Pusty" shell z funkcjonalnościa IDE (pliki/drukowanie itd) bez jezyków • Nie wymaga instalacji VS http://msdn.microsoft.com/en-us/library/bb685612.aspx

  23. Platforma aplikacyjna MS Office • VBA (W/E/PP/P/O/I/V/A) • VS Wtyczki dla aplikacji (W/E/PP/P/O/I/V) • Udostępnianie dodatkowej funkcjonalności na poziomie dokumentu (Menu, Actions Pane, SmartTags) • VS Personalizacje Dokumentów (Word/Excel) • Kompleksowe sterowanie aplikacją • kod VS może być wołany z poziomu VBA (i odwrotnie) • Open XML (E/W/PP)

  24. Rozszanie MSOffice • Visual Basic for Aplication • Obiekty COM (rejestrowane przez MS Office) • Zarządzane wrapery (PIO) instalowane z VSTO Witryna o MS Office based applications • http://msdn2.microsoft.com/en-us/office/aa905528.aspx

  25. OM OM VSTO Document-Centric Solutions MyCode MyTaskPane Office Application Solutions (Add-In) MyMenu MyCode

  26. MSOffice extensions Visual Studio Tools for Office • Microsoft.Office.Interop.Excel. Application • Microsoft.Office.Interop.InfoPath.Application • Microsoft.Office.Interop.Outlook.Application • Microsoft.Office.Interop.PowerPoint.Application • Microsoft.Office.Interop.MSProject.Application • Microsoft.Office.Interop.Visio.Application • Microsoft.Office.Interop.Word.Application

  27. Modele Office Object Model Excel Object Model Referencehttp://msdn.microsoft.com/en-us/library/bb149081.aspx Outlook Object Model Referencehttp://msdn.microsoft.com/en-us/library/bb176619.aspx PowerPoint Object Model Referencehttp://msdn.microsoft.com/en-us/library/bb251394.aspx Visio Automation Object Model Referencehttp://msdn.microsoft.com/en-us/library/aa730930.aspx Word Object Model Referencehttp://msdn.microsoft.com/en-us/library/bb244515.aspx

  28. Product Team Blogs Eric Carter: .NET4Office http://blogs.msdn.com/eric_carter/ Peter Torr: Office Development, Security, Randomness… http://blogs.msdn.com/ptorr/ Eric Lippert: Fabulous Adventures in Coding http://blogs.msdn.com/EricLippert Paul Stubbs: Office Development with .NET http://blogs.msdn.com/pstubbs/ VSTO Team Blog http://blogs.msdn.com/vsto/

  29. Integracja na poziomie dokumentow Rozwiazania firm 3 np. Aspose Wykorzystanie automatyzacji aplikacji Ms Office np.: via PIO (problem na serwerze) Dla dokumentów XML: reczne lub przez Open XML Format SDK -> http://msdn.microsoft.com/en-us/library/dd440953.aspx

  30. Dokumenty MS Office Tworzenie/czytanie dokumentów MS Office: XML vs MS Office: • Open Document - czesciowo zaimplementowany w MS Office 2007 standard Office Open XML . • WordXML, ExcelXML(SpreadSheetML) (MSOffice 2003) • Open XML SDK 2.0 for Microsoft Office (2007+) ≠ OpenDocument • XML Paper Specification (XPS) – zbliżony do Open XML ale opracowany dla reprezentacji przenośnego, trwałego dokumentu (np.: w XAML)

  31. Open XML SDK • Zbudowany w oparciu o System.IO.Packaging API • Wykorzystuje LINQ dla zapewniwnia silnie typowanego dostępu do zawartości XML-a • Upraszcza manipulacje pakietami oraz schema-mi w pakietach • Automatyzuje typowe zadania • Productivity Tool for Office – np.:generowanie kodu w oparciu o dokument, porównywanie żródłowego i wynikowego XML-a, walidacja dokumentów

  32. Tworzenie Dokumentu MS Office (via Open XML) using (WordprocessingDocument myDoc = WordprocessingDocument.Create( documentFileName, WordprocessingDocumentType.Document)) {// Add a new main document part.MainDocumentPart mainPart = myDoc.AddMainDocumentPart();//Create Document tree for simple document.mainPart.Document = new Document();//Create Body (this element contains other elements that we want to includeBody body = new Body();//Create paragraphParagraph paragraph = new Paragraph();Run run_paragraph = new Run();// we want to put that text into the output documentText text_paragraph = new Text("Hello World!");//Append elements appropriately.run_paragraph.Append(text_paragraph);paragraph.Append(run_paragraph);body.Append(paragraph);mainPart.Document.Append(body);// Save changes to the main document part.mainPart.Document.Save(); }

  33. Rozwiazania w oparciu o SharePoint t.b.c

More Related