Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Aplikacje oparte na VS/Office
2
Rozszerzanie VS Cel: Środki: nowe narzedzia
integracja środowisk pracy (analog do VS team system) platforma aplikacyjna (MSOffice) Środki: Snippety Makra Dodatki i aplikacje oparte na VS Własna strona startowa np.: TFS stats/ostatnie błędy/zadania
3
Rozszerzanie VS - jak Wtyczki i kreatorzy natywny model obiektowy
obiekty ActiveX projekt integracji VS (VSIP) (VS2008) VSIX (VS2010) MEF VS SDK (w. z/bez SP1) + VS SDK Samples MS VS Shell – tryb zintegrowany lub wydzielony Visualization and Modeling Feature Pack
4
VS - wtyczki Model COM : Dostęp obejmuje: Wtyczka VS 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 aktualizacja stanu komend
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 public void Exec(string commandName, EnvDTE.vsCommandExecOption executeOption, ref object varIn, ref object varOut, ref bool 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
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:
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);
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:
22
Tagi ? przyklad
23
VSShell Integrated mode Isolated mode:
Narzedzia i języki Isolated mode: Pusty" shell z funkcjonalnościa IDE (pliki/drukowanie itd) bez jezyków Nie wymaga instalacji VS
24
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)
25
Rozszanie MSOffice Witryna o MS Office based applications
Visual Basic for Aplication Obiekty COM (rejestrowane przez MS Office) Zarządzane wrapery (PIO) instalowane z VSTO Witryna o MS Office based applications
26
VSTO Document-Centric Solutions Office Application Solutions (Add-In)
3/26/ :55 AM VSTO Document-Centric Solutions OM MyTaskPane MyCode Office Application Solutions (Add-In) MyMenu OM MyCode © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
27
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
28
Modele Office Object Model
Excel Object Model Reference Outlook Object Model Reference PowerPoint Object Model Reference Visio Automation Object Model Reference Word Object Model Reference
29
3/26/ :55 AM Product Team Blogs Eric Carter: .NET4Office Peter Torr: Office Development, Security, Randomness… Eric Lippert: Fabulous Adventures in Coding Paul Stubbs: Office Development with .NET VSTO Team Blog © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
30
Integracja na poziomie dokumentow
3/26/ :55 AM 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 -> © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
31
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)
32
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
33
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 include Body body = new Body(); //Create paragraph Paragraph paragraph = new Paragraph(); Run run_paragraph = new Run(); // we want to put that text into the output document Text 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(); }
34
Rozwiazania w oparciu o SharePoint
t.b.c
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.