| 
    
     |  | ▼若だんな さん: こんばんは。
 
 >>あとは、Excelの別プロセスを起動させてそこでマクロを稼動させる方法なども
 >>ありますが・・・。
 >これはVBなどで作るイメージですか?
 >参考までに、どのようやるのか教えていただけると勉強になります。
 あくまでも参考までに・・・。
 
 例として、Book1.XlsとBook2.Xlsという二つのブックを用意します。
 
 Book1.Xlsの標準モジュールに
 '============================================================
 Option Explicit
 Private stt As Boolean
 Sub book1()
 Do While stt = False
 Range("a1").Value = Range("a1").Value + 1
 DoEvents
 Loop
 
 End Sub
 '============================================================
 Sub set_stop()
 stt = True
 End Sub
 
 
 book2.xlsの標準モジュールには、
 
 '==================================
 Option Explicit
 Dim app As Application
 '==================================
 Sub start()
 Set app = CreateObject("excel.application")
 With app
 .Visible = True
 .Workbooks.Open ThisWorkbook.Path & "\book1.xls"
 .OnTime Now(), "book1"
 End With
 End Sub
 '==================================
 Sub stopvba()
 app.Run "set_stop"
 End Sub
 
 
 Book1.XlsとBook2.Xlsは、同じフォルダ内に保存してください。
 
 一度、Book1.Xls、Book2.Xls及び、Excelを閉じて下さい。
 
 Book2.Xlsを開いてください。
 
 「start」というマクロを実行してください。
 
 別プロセスのExcelが起動し、そのExcelでBook1.Xlsが開きます。
 
 マクロ「book1」が実行します。(これはセルA1に1を加算するコードです)
 
 Book2.Xlsが開いているExcelでは、自由に操作が出来ます・・、よね?
 
 
 Book1.Xlsのマクロ「start」の実行の中止は、
 Book2.Xlsの「stopvba」を実行してください。
 
 一例です。
 
 
 |  |