ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Workbook not closed when OnBeginShutdown and OnDisconnection events fire in Excel Addin (https://www.excelbanter.com/excel-programming/359956-workbook-not-closed-when-onbeginshutdown-ondisconnection-events-fire-excel-addin.html)

Alan[_37_]

Workbook not closed when OnBeginShutdown and OnDisconnection events fire in Excel Addin
 
I have built a Shared Add-in project using Visual Studio 2003, VB.NET and
Framework 1.1.
It is designed to run in Excel. I modifed the wizard generated code to use
the Excel COM object model.
I added a COM reference to the Excel 11.0 object library. I then declared a
class instance-level variable of type Excel.Application, WithEvents. I then
printed out the Workbooks.Count in the OnBeginShutdown and OnDisconnection
events; and they both show a count of 1.

My goal is to check in the Excel file to a document management system when
the workbook closes, but the file is still in use and the DMS can't move it
from the local system.

Here is my code:

Imports Microsoft.Office.Core
Imports Extensibility
Imports System.Runtime.InteropServices
Imports MOI = Microsoft.Office.Interop

<GuidAttribute("61BEC854-3387-4B79-B9C4-BBE7AB328D5A"),
ProgIdAttribute("TestExcelAddin.Connect") _
Public Class Connect

Implements Extensibility.IDTExtensibility2

Dim WithEvents applicationObject As MOI.Excel.Application
Dim addInInstance As Object

Public Sub OnBeginShutdown(ByRef custom As System.Array) Implements
Extensibility.IDTExtensibility2.OnBeginShutdown
System.Diagnostics.Debug.WriteLine("OnBeginShutdow n: WorkBooks.Count
= " & applicationObject.Workbooks.Count)
End Sub

Public Sub OnAddInsUpdate(ByRef custom As System.Array) Implements
Extensibility.IDTExtensibility2.OnAddInsUpdate
End Sub

Public Sub OnStartupComplete(ByRef custom As System.Array) Implements
Extensibility.IDTExtensibility2.OnStartupComplete
End Sub

Public Sub OnDisconnection(ByVal RemoveMode As
Extensibility.ext_DisconnectMode, ByRef custom As System.Array) Implements
Extensibility.IDTExtensibility2.OnDisconnection
System.Diagnostics.Debug.WriteLine("OnDisconnectio n: WorkBooks.Count
= " & applicationObject.Workbooks.Count)
End Sub

Public Sub OnConnection(ByVal application As Object, ByVal connectMode
As Extensibility.ext_ConnectMode, ByVal addInInst As Object, ByRef custom As
System.Array) Implements Extensibility.IDTExtensibility2.OnConnection
applicationObject = application
addInInstance = addInInst
End Sub
End Class




All times are GMT +1. The time now is 07:36 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com