Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


28574 / 76738 ←次へ | 前へ→

【53459】Re:別インスタンス間でのセルの参照
発言  ichinose  - 08/1/14(月) 17:36 -

引用なし
パスワード
   ▼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

こんな方法でもブックオブジェクトが取得できます。

大抵、前者でうまくいきますが、試してみてください
2 hits

【53431】別インスタンス間でのセルの参照 yhar 08/1/10(木) 17:07 質問
【53433】Re:別インスタンス間でのセルの参照 ichinose 08/1/10(木) 22:34 発言
【53457】Re:別インスタンス間でのセルの参照 yhar 08/1/14(月) 12:53 質問
【53459】Re:別インスタンス間でのセルの参照 ichinose 08/1/14(月) 17:36 発言
【53460】Re:別インスタンス間でのセルの参照 yhar 08/1/14(月) 18:46 お礼

28574 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free