タイトル : Re^2: エクセルのマクロ操作について 投稿日 : 2006/10/24(Tue) 16:10 投稿者 : ヤマ@文系
できるかやってみました。 d:\Test.xls のモジュール1に Public Function msgTest() MsgBox "Message" End Function と作っております。 'closeイベントからform1を直接操作できないのでデリゲートを使う 参照(はじめのhは抜けてます) 'http://www.microsoft.com/japan/msdn/vbasic/migration/tips/BackgroundWorker/ '2005のコード Public Class Form1 Private WithEvents xlApp As New Excel.Application Private Delegate Sub CallDelegate() Private Sub xlApp_WorkbookBeforeClose(ByVal Wb As Excel.Workbook, ByRef Cancel As Boolean) Handles xlApp.WorkbookBeforeClose MsgBox("終了されたので通常に") Invoke(New CallDelegate(AddressOf MeShow)) End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim xlBooks As Excel.Workbooks = xlApp.Workbooks '既存のファイルを開く場合 Dim xlFilePath As String = "d:\Test.xls" Dim xlBook As Excel.Workbook = xlBooks.Open(xlFilePath) Me.WindowState = FormWindowState.Minimized '最小化 xlApp.Visible = True 'Excelを表示(必ずとも表示しなくてもよい) xlApp.Run("msgTest") End Sub Private Sub MeShow() Me.WindowState = FormWindowState.Normal End Sub End Class |