水如烟

                 顺其自然,水到渠成 LzmTW

文或代码皆是面向初学者.我是爱好者,也是初学者.那些"文章",只按自己理解写,我是不知术语名词的.所以只供参考,也仅供参考.

导航

Author:水如烟  

程序中若打开了一个Workbook给用户直接操作,那么,用户有可能将Workbook关闭了甚至退出了整个ExcelApplicatoin。可以通过以下方法防止这种情形(这个问题留意的人较少,故发首页):

Imports Microsoft.Office.Interop
Public Class Form1

    
Private gWorkbookCanClose As Boolean = False

    
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        
Dim ExcelApplication As New Excel.Application
        
Dim Workbook As Excel.Workbook = ExcelApplication.Workbooks.Add

        
AddHandler Workbook.BeforeCloseAddressOf OnWorkbookBeforeClose

        
Dim Worksheet As Excel.Worksheet = CType(Workbook.Sheets.Add, Excel.Worksheet)
        
With CType(Worksheet.Cells(11), Excel.Range)
            .Interior.ColorIndex 
= 40
            .Value 
= "123"
        
End With

        ExcelApplication.Visible 
= True
    
End Sub

    
Private Sub OnWorkbookBeforeClose(ByRef cancel As Boolean)
        cancel 
= Not gWorkbookCanClose
    
End Sub

    
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        gWorkbookCanClose 
= Not gWorkbookCanClose
    
End Sub

End Class