| 
    
     |  | ▼yhar さん: こんばんは。
 
 
 >具体的な仕様も書かずに恐縮ですが、やりたいことは
 >●既に起動している別インスタンスのワークシートのセル
 > の値を
 >●一定の周期で参照して取り込む
 >と言うことです。
 >
 >もう少し具体的?に言うと
 >
 >Dim app As Application
 >Set app = 開いている別インスタンスのファイルの名前
 >Range("a5").Value = app.Worksheets("sheet1").Range("a1").Value
 >
 >と言った記述で参照出来ないかと言うことです。
 
 
 >ご提案のコードを見る限り出来そうな気がしますが、上のSetとDimの
 >ところをどう表記して良いのか… 基本が分かっていないのが良く分
 >かる今日この頃です。
 >
 
 
 >ちなみに下記のコードで別インスタンス起動をしています。
 でしたら、下記のMyappというオブジェクトか これを基に開いたブックオブジェクトを
 いつでも参照可能にしておけば、よいですね!!
 
 
 public Myapp As Object
 Public mybook as workbook
 
 
 sub main()
 Set Myapp = CreateObject("excel.Application")
 >  With Myapp
 >    .Visible = True
 set mybook=.Workbooks.Open(ThisWorkbook.Path & "\ura.xls")
 >  End With
 
 なんてしておけば、
 
 Range("a5").Value = mybook.Worksheets("sheet1").Range("a1").Value
 
 で参照可能です。私なら、たぶんこの方法が第一候補ですね!!
 
 他には
 ThisWorkbook.Path & "\ura.xls"このブックが既に別インスタンスのExcelで
 開かれている状態なら
 
 Sub test2()
 Dim bk As Workbook
 Set bk = GetObject(ThisWorkbook.Path & "\ura.xls")
 MsgBox bk.Worksheets("sheet1").Range("a1").Value
 End Sub
 
 こんな方法でもブックオブジェクトが取得できます。
 
 大抵、前者でうまくいきますが、試してみてください
 
 
 |  |