タイトル : Re^4: エクセルのマクロ操作について 投稿日 : 2006/10/24(Tue) 18:44 投稿者 : 中高年ぼろブラマー
できました。 一部エラーとなったので書き換えました。 Private WithEvents xlApp As New Excel.Application ->Private WithEvents xlApp As New Microsoft.Office.Interop.Excel.Application ほか 今回はじめての投稿でしたが、まだまだわからないことだらけです。 またどこかで躓きますのでよろしくお願いします。勉強もします。 > 早速ありがとうございます。 > > 実際に行って結果報告します。感謝感謝 > > > > できるかやってみました。 > > > > 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 |