teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

解答を元に解決をしたのでコードを追加しました。

2019/06/26 13:15

投稿

Peggie
Peggie

スコア10

title CHANGED
File without changes
body CHANGED
@@ -15,4 +15,27 @@
15
15
 
16
16
  たしかに[DocEvents_BeforeDeleteEventHandler Delegate](https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.excel.docevents_beforedeleteeventhandler?view=excel-pia)を見るといかなる引数も取っていない様に見受けられるのでエラーは仕方ないと思うのですがワークシートがクローズした場合にある特定の処理をしたい場合にはどのような方法があるのでしょうか?
17
17
 
18
- ご存知の方おられましたらよろしくお願いします。
18
+ ご存知の方おられましたらよろしくお願いします。
19
+
20
+ ---
21
+ **解答を元にテストコードを作成**
22
+
23
+ ```VB.NET
24
+ Imports Microsoft.Office.Interop.Excel
25
+
26
+ Public Class ThisAddIn
27
+ Private Sub ThisAddIn_Startup() Handles Me.Startup
28
+ AddHandler Globals.ThisAddIn.Application.WorkbookActivate, New Excel.AppEvents_WorkbookActivateEventHandler(AddressOf add_handlers_to_book)
29
+ End Sub
30
+
31
+ Private Sub add_handlers_to_book(WB As Workbook)
32
+ AddHandler WB.SheetBeforeDelete, New Excel.WorkbookEvents_SheetBeforeDeleteEventHandler(AddressOf Workbook_SheetBeforeDelete)
33
+ End Sub
34
+ Private Sub Workbook_SheetBeforeDelete(ByVal Sh As Object)
35
+
36
+ MsgBox(Sh.name)
37
+
38
+ End Sub
39
+ End Class
40
+ ```
41
+ VSTOアドインのプロジェクトを作成、以下のコードをThisAddin.vbに記述、実行の上エクセルシートの削除を行った結果メッセージボックス内に削除したワークシート名が表示されました。

1

誤字の修正

2019/06/26 13:15

投稿

Peggie
Peggie

スコア10

title CHANGED
File without changes
body CHANGED
@@ -15,4 +15,4 @@
15
15
 
16
16
  たしかに[DocEvents_BeforeDeleteEventHandler Delegate](https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.excel.docevents_beforedeleteeventhandler?view=excel-pia)を見るといかなる引数も取っていない様に見受けられるのでエラーは仕方ないと思うのですがワークシートがクローズした場合にある特定の処理をしたい場合にはどのような方法があるのでしょうか?
17
17
 
18
- ご存知の方おられましたら余rと市区お願いします。
18
+ ご存知の方おられましたらよろしくお願いします。