
Ryo Ohno
岡三RSSがデータで更新した際に発生するイベントについて(VBA)
岡三RSS夏期講習会のセッションCで登壇させて頂きました、大野です。
2回目のセッションで、以下のようなご質問を受けました。
『岡三RSSがデータを更新した時に任意のマクロを実行することはできないか?』
その時はすぐに解答することができなかったのですが、
よく考えたら、ワークブックの再計算イベントで行けるのではと思い確認してみたら、
反応しました。
ワークシートではなくワークブック側で、
SheetCalculateのイベントを設定しますと、岡三RSSが更新した際に
再計算が走り、任意の処理を行うことが可能となります。
ご質問の方がここを見られるかは、
わかりませんが、ご本人に届くことを祈って・・・
また、同じような悩みを抱えられておられる方がおられましたら、
ご参考になれば・・・
2017年08月22日
miporin
こんにちは。
とてもわかりやすくはっきりした説明をありがとうございます。
上記のスケジューラを使う場合データー更新したらvba またデーター更新したらvbaの交互にせっていするのでしょうか?
お忙しいとは思いますがよろしくお願いします。
2017年08月22日
Ryo Ohno
miporinさん、初めまして!!
こちらは、イベントと言いまして、少し難しいのですが
再計算(Excelがセル関数の計算をしたとき)した時に、任意のVBAを動かせるようになります。
#onTimeが『1秒後』と指定された時間にVBAを実行するように設定するに対し
#SheetCalculateは『再計算された』時にVBAを実行できるようになる感じとなります。
1.岡三RSSがデータを取得する
2.Excelが更新されたデータで再計算をする
3.SheetCalculateのイベントが発生!!
4.SheetCalculateに書かれた内容が動く!!
というような流れでしょうか?
ですので、onTimeのように、1秒後にまたVBAが動くように再設定せずとも、
岡三RSSがデータを取得する度にVBAを動かく事が可能になります。
言葉だけでは難しいと思いますので、
どんな感じになるかVBAの画像を張ってみました。
ご参考にあれば幸いです。
P.S.
セミナーに参加された方だと思って内容を書いたのですが、
もし参加されていない方の場合、分かりづらいと思いますので、
その時はご連絡を頂けますと、別の記載の仕方に変えたいと思いますっ!!
2017年08月23日
ゾウ
いつもお世話になっております。
本投稿とは直接関係ないのですが、セッションCの内容について質問させていただけますでしょうか。
プレゼン資料31枚目に、表示先の設定がないものについてはVBAで取得可能と書かれておりますが、これはどのような意味合いでしょうか。
VBAの変数に直接格納可能と受け取りましたが、うまく取得できないようです。
例:(a="N/A"が格納されます)
sub test()
meigara=1570
a=quote(meigara,"","現在値")
end sub
FAQでも取得はできない旨の記載があります。
http://qa.okasan-online.co.jp/faq_detail.html?id=621&category=136&page=1
都合により参加できておりませんので、もしおかしなことを尋ねておりましたらご指摘ください。
お忙しい中恐縮ですが、よろしくお願いいたします。
2017年08月25日
Ryo Ohno
ゾウさん、ご指摘ありがとうございます
大変申し訳ありません。
最終的に、『Excel側で全部データは取得しようよ!!』と
話しの流れでしたので、
内容が複雑になってしまいそうなので、
詳しくは記載していませんでしたし、詳しく説明も行っていませんでした。
quoteなどの関数を利用する際は、
一度、Excelの方に記述していただくと、VBAの方で取得が可能になります。
#昔は取れてたような記憶がありますが、最近は取れなくなってるみたいです。
今、考えてみると参加されずにマニュアルを見てVBAだけで処理をされたいと思われた方にとっては
かなり誤解を招く資料でした。
次回の資料には反映をさせたいと思います。
また、今回の資料の補足って事で追加修正がもし可能なら、入れておきます。
ご指摘本当にありがとうございます。
助かりました。
2017年08月26日