38
VISUAL STUDIO TOOLS FOR OFFICE Voor VBA programmeurs Maurice de Beijer

Visual Studio Tools for Office

Embed Size (px)

DESCRIPTION

Voor VBA programmeurs Maurice de Beijer. Visual Studio Tools for Office. Wie ben ik?. Maurice de Beijer. The Problem Solver. Visual Basic MVP. Blog: http://msmvps.com/blogs/ theproblemsolver /default.aspx Web: http://www.TheProblemSolver.nl http://www.WindowsWorkflowFoundation.eu - PowerPoint PPT Presentation

Citation preview

Page 1: Visual Studio Tools  for  Office

VISUAL STUDIO TOOLS

FOR OFFICEVoor VBA programmeurs

Maurice de Beijer

Page 2: Visual Studio Tools  for  Office

Wie ben ik? Maurice de Beijer. The Problem Solver. Visual Basic MVP. Blog: http://msmvps.com/blogs/

theproblemsolver/default.aspx Web: http://www.TheProblemSolver.nl

http://www.WindowsWorkflowFoundation.eu

E-mail: [email protected]

Page 3: Visual Studio Tools  for  Office

Mijn assistent

Page 4: Visual Studio Tools  for  Office

VBA isn’t going away anytime soon.

Richard McAniffCorporate Vice President

Microsoft Office

Page 5: Visual Studio Tools  for  Office

Agenda Wat is .NET? Wat is Visual Studio Tools for Office? De Ribbon met VSTO/VBA. CustomTaskPanes en ActionsPane. Outlook Form Regions. VSTO en VBA Interoperability. LINQ to SQL. Deployment. Resources

Page 6: Visual Studio Tools  for  Office

Wat is .NET? Common Language Infrastructure (CLI).

Is een ECMA standaard. Common Language Runtime (CLR).

De Microsoft implementatie. Microsoft Intermediate Language (MSIL).

Is ook een ECMA standaard. Memory garbage collection. Code access security.

Page 7: Visual Studio Tools  for  Office

Wat is .NET? Applicatie framework:

Windows applicaties. Web applicaties. Mobile devices. Office applicaties.

Taal onafhankelijk: Visual Basic. C#. Fujitsu Cobol.NET. IronPython.

Meer dan 200 Mb aan DLL’s!

Page 8: Visual Studio Tools  for  Office

Visual Studio 2008

Page 9: Visual Studio Tools  for  Office

Wat is Visual Studio Tools for Office? Een toolkit binnen Visual Studio. Een runtime binnen Office 2003 en

2007. Kan met Visual Basic of C# gebruikt

worden.

Page 10: Visual Studio Tools  for  Office

VSTOOffice 2003

VSTO 2005

Office 2003

VSTO 2008Office 2003/2007

WordDocument Document

ExcelDocument Document

InfoPathDocument

OutlookApplicatie

PowerPointVisio

VSTO versies

Page 11: Visual Studio Tools  for  Office

De Ribbon met VSTORibbon Designer

Ribbon Control Toolbox

Property Grid

Page 12: Visual Studio Tools  for  Office

De Ribbon met VSTO Via de designer of met XML.

Via XML geeft meer mogelijkheden. Update ToggleButton status.

In XML is er een getPressed. Via de designer met een timer of een ander

event.

Page 13: Visual Studio Tools  for  Office

De Ribbon met VSTO

Page 14: Visual Studio Tools  for  Office

De Ribbon met VBA

Page 15: Visual Studio Tools  for  Office

De Ribbon met VBA Gebruik de gratis Office 2007 Custom UI

Editor! De Ribbon XML wordt in het Office

document gestopt. In het XML staan functie namen van

VBA macro’s in het document zelf. Dus maar 1 bestand verspreiden!

Page 16: Visual Studio Tools  for  Office

De Ribbon met VBA

Page 17: Visual Studio Tools  for  Office

Druk aan het werk?

Page 18: Visual Studio Tools  for  Office

Wie kent deze tekstverwerker?

Page 19: Visual Studio Tools  for  Office

Of misschien toch niet!

Page 20: Visual Studio Tools  for  Office

CustomTaskPanes

Page 21: Visual Studio Tools  for  Office

CustomTaskPanes Onderdeel van een applicatie Add-in. Aanwezig zodra de applicatie opgestart

wordt. Is een collectie van CustomTaskPane

objecten. Werkt in de meeste Office applicaties.

Behalve Outlook en OneNote.

Page 22: Visual Studio Tools  for  Office

CustomTaskPanes

Page 23: Visual Studio Tools  for  Office

ActionsPane

Page 24: Visual Studio Tools  for  Office

ActionsPane Onderdeel van een Office document. Is een wrapper rond een UserControl. Application.DisplayDocumentActionTask

Pane om de ActionsPane (on)zichtbaar te maken.

Gebruik een System.Windows.Forms.Integration.ElementHost om WPF controls te gebruiken.

Werkt in Excel en Word.

Page 25: Visual Studio Tools  for  Office

ActionsPane

Page 26: Visual Studio Tools  for  Office

Outlook Form Regions voor onze nieuwe manager

Page 27: Visual Studio Tools  for  Office

Outlook Form Regions NewMailEx event geeft aan wanneer er nieuwe

mail is. In Outlook 2007 altijd een event per ontvangen mail

item. Is niet 100% betrouwbaar bij grote aantallen en pop3!

Outlook form regions. Altijd een combinatie van een FormRegion en een

FormRegionFactory. De FormRegion wordt steeds opnieuw gemaakt. In de factory class kan je bepalen of een form region

zichtbaar moet worden of niet.

Page 28: Visual Studio Tools  for  Office

Outlook Form Regions

Page 29: Visual Studio Tools  for  Office

VSTO en VBA Interoperability Vanuit .NET code kan een VBA macro

aangeroepen worden met Application.Run().

Vanuit VBA kan een .NET functie aangeroepen worden via de CallVSTOAssemby property.

Altijd beginnen met een macro enabled document!

De EnableVbaCallers property op True zetten voor VBA => VSTO.

Page 30: Visual Studio Tools  for  Office

Property enables code to be called

from VBA

Intellisense for VBA-callable components

Page 31: Visual Studio Tools  for  Office

VSTO en VBA interop

Page 32: Visual Studio Tools  for  Office

LINQ to SQL Language Intergrated Query. Het lijkt op SQL maar de compiler

controleert de syntax en tabel/kolom namen.

Niet alleen voor databases maar ook XML of andere collecties.

Page 33: Visual Studio Tools  for  Office

LINQ to SQL

Page 34: Visual Studio Tools  for  Office

Deployment Is sterk verbeterd t.o.v. VSTO 2005! Met Office 2007 heel makkelijk. ClickOnce deployment:

Prerequisites. CasPol. Automatische updates.

Page 35: Visual Studio Tools  for  Office

Deployment

Page 36: Visual Studio Tools  for  Office

Resources Office 2007 Custom UI Editor

http://openxmldeveloper.org/articles/CustomUIeditor.aspx

http://msdn2.microsoft.com/en-us/aa338202.aspx http://www.outlookcode.com OutlookSpy

http://www.dimastr.com/outspy/ Synchroniseren van de Ribbon met een

CustomTaskPane in Word 2007 http://www.sdn.nl/Display.aspx?id=2525

Page 38: Visual Studio Tools  for  Office

Vragen?

[email protected]