Aplikacje oparte na VS/Office

Slides:



Advertisements
Podobne prezentacje
Zarządzanie informacją a produktywność przedsiębiorstwa
Advertisements

Graficzny klient SVN graficzny klient SVN integrujący się z powłoką systemu dostępny tylko dla systemu Windows - do pobrania z
„Migracja środowisk Microsoft NT/Active Directory/Exchange oraz SharePoint do nowych wersji przy użyciu narzędzi Quest Software” Grzegorz Szafrański Product.
Rozszerzanie Visual Studio.NET 2008 Wrocławska Grupa.NET Paweł Hofman Wrocławska Grupa.NET
Office 2003 Wprowadzenie do systemu
Microsoft Office System w praktyce wdrożenie w COMARCH-CDN
Visual Studio Codename „Orcas”, LINQ
Platforma .Net i Vs.Net.
Tworzenie ASP.NET Web Form
Przeglądarka Internetowa
Programowanie w środowiskach zintegrowanych wykład 1 PSZ Programowanie w Środowiskach Zintegrowanych > Systemy i środowiska zintegrowane > Środowisko zintegrowane.
ASP.NET i platforma.NET Technologie internetowe ( ) Tomasz Popów
Information Bridge Framework platforma integracji Microsoft Office 2003 z aplikacjami Line of Business Krzysztof Michalski10/01/2005.
.NET Remoting Łukasz Zawadzki.
Systemy zarządzania treścią CMS
WINDOWS 95 WYCINEK AUTOSTART TWORZENIE POWIĄZAŃ PLIKÓW Z APLIKACJAMI
SZPIF – Harmonogram, Opis narzędzi, Schemat bazy danych
System katalogowania i zarządzania sprzętem na uczelni
Grzegorz Bartosik Świadome i pełne wykorzystanie narzędzi klienckich w SQL Server 2005.
C# Windows Forms Zastosowania Informatyki Wykład 2
Modelowanie w Visual Studio 2010
Drukarki w Windows 7/Windows Server 2008 R2
Łukasz Sobczak. 1)Co to jest Office 2010 Web Apps 2)SharePoint 2010 a narzędzia pakietu office 3)Integracja Office Web Apps z SharePoint )Problemy.
PowerPivot dla DBA mgr inż. Paweł Potasiński.
Analiza danych w Excel za pomocą Analysis ToolPak
Rozwój aplikacji. To zestaw narzędzi do budowania i optymalizacji złożonych aplikacji opartych na przeglądarce. To zestaw narzędzi do budowania i optymalizacji.
Bezpieczna platforma SharePoint
Zrozumieć Umbraco w 45 minut.
Platforma Eclipse.
Programy do tworzenia stron internetowych
Realizacja aplikacji internetowych
CDN OPT!MA integracja z Systemem Microsoft Office 2003.
TECHNOLOGIE INFORMATYCZNE Tydzień 8
Jak to działa? aplikacje desktopowe usługi online urządzenia
Licencjonowanie narzędzi dla programistów
Systemy zarządzania treścią Content Management System
Przygotował: Paweł Ziaja
Mechanizm OLE ang. Object Linking and Embedding źródła:
Programowanie obiektowe – zastosowanie języka Java SE
Pierwsze kroki w edytorze tekstu
Narzędzia wspomagające programowanie, projektowanie, pisanie kodu Tomasz Huczek.
C# Cz.7 Refleksja, Atrybuty
Robimy własne notatki - Notatnik
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 8.
Kostyantyn Doronovych, 79129, sr1640 Łukasz Marciniak, 79166, sr1640
Kostyantyn Doronovych, 79129, sr1640 Łukasz Marciniak, 79166, sr1640
Systemy zarządzania treścią Wykład 5
Technologie Programowania seminarium
DxR 700 & Bosch Video Client
Współpraca z innymi aplikacjami. Organizacja informacji 10 XII 2013.
Zajęcia I Organizacja zajęć Rejestracja i uruchamianie makr
XML Publisher Przedmiot i zakres szkolenia Przedmiot i zakres szkolenia Przeznaczenie XML Publisher Przeznaczenie XML Publisher Definiowanie Definiowanie.
Biblioteka DLL w oparciu o źródła w języku C
U innych działa ;( Debuggowanie startu aplikacji Arkadiusz Kocjan.
Visual Basic w Excelu - podstawy
Oprogramowanie komponentowe w środowisku Microsoft Katarzyna Kuźniar 4 FDA, C1.
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
Bartosz Michalik Jakub Jurkiewicz Sponsor główny: Eclipse IDE Zanim rozpoczniemy naszą pracę...
Dokumentacja obsługi programów Kamil Smużyński Piotr Kościński.
Platforma .Net.
Microsoft® Office Word
Języki i technologie wytwarzania stron WWW Autor: Michał Walkowski Referat.
Dominik Benduski Michał Mandecki Podstawy Visual Basic w Excelu.
Wprowadzenie do aplikacji czasu rzeczywistego Igor Mróz Zielona Góra,
VBA w Excel.
Visual Basic for Applications
Visual Basic w programie Microsoft Excel
Programowanie obiektowe – zastosowanie języka Java SE
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5
Zapis prezentacji:

Aplikacje oparte na VS/Office

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

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

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

VS model automatyzacji

Realizacja wtyczek

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ę

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

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

Exec public void Exec(string commandName, EnvDTE.vsCommandExecOption executeOption, ref object varIn, ref object varOut, ref bool handled) punkt wejścia dla wszystkich komend

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

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

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

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

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

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

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\

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

Przykład Do projektu typu Editor Margin textViewHost.TextView.VisualElement.LayoutTransform = new RotateTransform(245);

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

Tagi ? przyklad

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 http://msdn.microsoft.com/en-us/library/bb685612.aspx

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)

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 http://msdn2.microsoft.com/en-us/office/aa905528.aspx

VSTO Document-Centric Solutions Office Application Solutions (Add-In) 3/26/2017 11: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.

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

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

3/26/2017 11:55 AM 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/ © 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.

Integracja na poziomie dokumentow 3/26/2017 11: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 -> http://msdn.microsoft.com/en-us/library/dd440953.aspx © 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.

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)

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

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(); }

Rozwiazania w oparciu o SharePoint t.b.c