380 likes | 474 Vues
Explore.NET, VSTO, LINQ, Deployment, and VBA Interoperability for effective VBA programming in Visual Studio. Learn customizing Office apps, Ribbon manipulation, and advanced techniques. Get expert guidance from Maurice de Beijer, a Visual Basic MVP and Problem Solver. Dive into CLI, CLR, memory management, and security in.NET. Discover the power of LINQ in SQL queries and deployment strategies for efficient app distribution. Access valuable resources and tools for seamless integration. Master VBA and.NET interop for enhanced productivity. Take your VBA skills to the next level with VSTO and unleash the full potential of Office development.
E N D
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.nlhttp://www.WindowsWorkflowFoundation.eu • E-mail: mauricedb@computer.org
VBA isn’t going away anytime soon. Richard McAniff Corporate Vice President Microsoft Office
Agenda • Wat is .NET? • Wat is Visual Studio Tools for Office? • De Ribbon met VSTO/VBA. • CustomTaskPanes en ActionsPane. • Outlook FormRegions. • VSTO en VBA Interoperability. • LINQ to SQL. • Deployment. • Resources
Wat is .NET? • CommonLanguageInfrastructure (CLI). • Is een ECMA standaard. • CommonLanguageRuntime (CLR). • De Microsoft implementatie. • Microsoft IntermediateLanguage (MSIL). • Is ook een ECMA standaard. • Memorygarbagecollection. • Code accesssecurity.
Wat is .NET? • Applicatie framework: • Windows applicaties. • Web applicaties. • Mobile devices. • Office applicaties. • Taal onafhankelijk: • Visual Basic. • C#. • Fujitsu Cobol.NET. • IronPython. • Meer dan 200Mb aan DLL’s!
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.
De Ribbon met VSTO Ribbon Designer Property Grid Ribbon Control Toolbox
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.
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!
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.
ActionsPane • Onderdeel van een Office document. • Is een wrapper rond een UserControl. • Application.DisplayDocumentActionTaskPane om de ActionsPane (on)zichtbaar te maken. • Gebruik een System.Windows.Forms.Integration.ElementHost om WPF controls te gebruiken. • Werkt in Excel en Word.
Outlook FormRegions • NewMailExevent 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 formregions. • Altijd een combinatie van een FormRegion en een FormRegionFactory. • De FormRegion wordt steeds opnieuw gemaakt. • In de factoryclass kan je bepalen of een formregion zichtbaar moet worden of niet.
VSTO en VBA Interoperability • Vanuit .NET code kan een VBA macro aangeroepen worden met Application.Run(). • Vanuit VBA kaneen .NET functieaangeroepenworden via de CallVSTOAssemby property. • Altijdbeginnen met een macro enabled document! • De EnableVbaCallers property op True zettenvoor VBA => VSTO.
Property enables code to be called from VBA Intellisense for VBA-callable components
LINQ to SQL • LanguageIntergrated 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.
Deployment • Is sterk verbeterd t.o.v. VSTO 2005! • Met Office 2007 heel makkelijk. • ClickOncedeployment: • Prerequisites. • CasPol. • Automatische updates.
Resources • Office 2007 Custom UI Editorhttp://openxmldeveloper.org/articles/CustomUIeditor.aspxhttp://msdn2.microsoft.com/en-us/aa338202.aspx • http://www.outlookcode.com • OutlookSpyhttp://www.dimastr.com/outspy/ • Synchroniseren van de Ribbon met een CustomTaskPane in Word 2007http://www.sdn.nl/Display.aspx?id=2525
Resources • 2007 Office System Document: Lists of Control Ids http://www.microsoft.com/downloads/details.aspx?familyid=4329d9e9-4d11-46a5-898d-23e4f331e9ae&displaylang=en
Vragen? mauricedb@computer.org