tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 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

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。