タイトル : Re^3: エクセルのマクロ操作について 投稿日 : 2006/10/24(Tue) 18:02 投稿者 : 中高年ぼろブラマー
早速ありがとうございます。 実際に行って結果報告します。感謝感謝 > できるかやってみました。 > > 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 |