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

タイトル エクセルのマクロ操作について
投稿日: 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

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

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