タイトル | : エクセルのマクロ操作について |
記事No | : 4441 |
投稿日 | : 2006/10/24(Tue) 11:24 |
投稿者 | : 中高年ぼろブラマー |
会社のPCにあったVB5.0を使い始めて6ヶ月、最近VB2005ExpressEditionをダウンロードして 使い始めました中高年です。 会社ではエクセル中心のため、VB2005からマクロの操作について質問です。 よろしくお願いします。
やりたいこと Form上の格Labelをクリックしたとき、指定したエクセルファイルを開きFormを最小化する。 エクセルが閉じられたときFormは元に戻る。 ただしエクセルを開く際、Aマクロ名を指定する場合やBマクロ名Auto_Open()を実行しないで 開く場合がある。
出来ないこと 当サイトの「起動したプロセスの終了を検出する方法」を参考にしてプログラムを 作りましたが、エクセルを開く際のAとBがわかりません。 いろいろ調べCOMオブジェクトを使えば、xlApp.Run(“マクロ名”)で指定できそうだと、 やっとわかりましたが、それ以上進みません。 よろしくお願いします。
Public Class Form1 Private WithEvents p As Process Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Me.WindowState = FormWindowState.Minimized 'Process オブジェクトを使用して起動したプロセスの終了を取得する p = New Process ''Process クラスで発生する Exited イベントを処理します。 AddHandler p.Exited, AddressOf p_Exited 'プロセスが終了したときに、 Exited イベントを発生させる p.EnableRaisingEvents = True p.SynchronizingObject = Me p.StartInfo.FileName = "d:\ExcelTest.xls" p.Start() End Sub
Private Sub p_Exited(ByVal sender As Object, ByVal e As System.EventArgs) 'プロセスが終了したときに発生するイベント Me.WindowState = FormWindowState.Normal End Sub End Class
OS windowsXP VB VB2005ExpressEdition Office2003Standard
|