Skip to Content
Programming Excel with VBA and .NET
book

Programming Excel with VBA and .NET

by Jeff Webb, Steve Saunders
April 2006
Beginner
1114 pages
98h 16m
English
O'Reilly Media, Inc.
Content preview from Programming Excel with VBA and .NET

Respond to Events in .NET Applications

The default Visual Studio .NET Excel project contains object declarations for the Excel Application and Workbook objects using the WithEvents keyword. That plus the initialization code in the _Startup procedure enable event handling for those two objects:

Public Class OfficeCodeBehind
 
    Friend WithEvents ThisWorkbook As Excel.Workbook
    Friend WithEvents ThisApplication As Excel.Application
 
#Region "Generated initialization code"
    ' Default constructor.
    Public Sub New(  )
    End Sub
 
    ' Required procedure. Do not modify.
    Public Sub _Startup(ByVal application As Object, ByVal workbook As Object)
        ThisApplication = CType(application, Excel.Application)
        ThisWorkbook = CType(workbook, Excel.Workbook)
    End Sub
' Remaining class definition omitted here...

You can use events that occur for the Application and Workbook objects by selecting the object and event from the listboxes at the top of the Visual Studio .NET Code window as you did in previous sections. If you want to add an Excel object to the objects and events lists, declare an object variable WithEvents and initialize the object somewhere in code. For example, the following additions (in bold) create an ActiveWorksheet object that responds to events:

Friend WithEvents ThisWorkbook As Excel.Workbook
Friend WithEvents ThisApplication As Excel.Application
Friend WithEvents ActiveWorksheet As Excel.Worksheet   ' Called when the workbook is opened. Private Sub ThisWorkbook_Open( ) Handles ThisWorkbook.Open ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Excel 2013 Power Programming with VBA

Excel 2013 Power Programming with VBA

John Walkenbach
Excel 2016 Power Programming with VBA

Excel 2016 Power Programming with VBA

Michael Alexander, Richard Kusleika
Excel 2016 VBA and Macros

Excel 2016 VBA and Macros

Bill Jelen, Tracy Syrstad

Publisher Resources

ISBN: 0596007663Errata Page