質問掲示板
岡三RSS
集いの広場

アップロードされたファイルおよび投稿内容についての注意事項 別窓

複数の単語で検索する方法 別窓

【国内株式、先物・オプション】岡三RSS質問箱

りーぼうじいじ

岡三RSSのアドイン多重登録について

岡三RSSをアドイン登録したエクセルアドインファイル(***.xlam)をアドインとして、利用している方はいらっしゃいますか。
以前、そのような使い方をしていて動作が不安定だったので、現在は使用していません。
問題なく運用できている方がいるのであれば、その方法を教えてください。

複数のExcelプロセスを立ち上げて利用しているのですが、Excelプロセスが多くなってくるとPCへの負荷も大きくなります。
できるだけ負荷を減らすために共有で利用できるもの(ORDQUERYやPosition情報等)については一元化のアドインファイルが有効だろうと考えました。
以前の方法については、次のとおりです。
・実行エクセルファイルとアドインファイルの双方に岡三RSSのアドイン設定をすると、動作しなかった。(と記憶)
 (双方の岡三RSSの参照設定は行う)
・アドインファイルの岡三RSSのアドイン設定をし、実行エクセルファイルの岡三RSSのアドイン設定を外したら動作する。
 実行エクセルファイルがアドインファイルの岡三RSSをサーチして実行しているものと推察するが、サーチタイミングの問題か、不安定になり動作しないときも有った。
 (双方の岡三RSSの参照設定は行う)参照設定も試行錯誤しましたがこの設定が、一番マシな状況でした。
良い処理方法があればご教示ください。
よろしくお願いいたします。

ちなみに、岡三RSSは2台のパソコンに対応していますが、最近のパソコンは8コア、12コア、16コアが普及し始めています。
1台に2つの岡三RSS(別名同一アドインファイル?)が対応できれば、上記の件も使い分けが出来そうなのと、1台で分散処理できればより良いと思います。
対応して頂けるとありがたいですね。
岡三オンライン証券。ファイティング。

2021年02月19日

大野 了

りーぼうじいじさん、こんにちは!!

やったことなかったのでやってみたのですが、
岡三RSSを参照設定掛けたExcelアドインを作成し、適当な関数を作成
その後、そのアドインを登録したExcelで
また岡三RSSを参照設定を掛け、VBAを組んでみたのですが正常に動作しましたー


具体的な手順は以下の通りです!!

1.VBAにて岡三RSSの参照設定を掛ける
2.FQUOTE関数を使用した関数(testfunc)を作成する
3.Excelアドインとして保存(test.xlam)
4.別のExcelを作成(exec.xlsx)
5.Excelアドインの設定で、test.xlamを読み込み
6.exec.xlsxのVBAにて、岡三RSSを参照設定
7.FQUOTE関数を使用したテスト用の関数作成(execfunc)
8.exec.xlsxのA1セルに=testfunc()と記述しアドイン経由で岡三RSSが動くかを確認
9.A1セルにFQUOTEの内容がリアルタイムで表示される
10.execfuncを実行して、ホスト側のExcelの岡三RSSが動かくを確認
11.関数実行時のFQUOTEの値が正常に表示

2021年02月19日

ログインしてコメントを投稿する

りーぼうじいじ

大野さん
早速の丁寧なコメントを頂き、ありがとうございます。

手順を見ると、Excelアドイン(test.xlam)は参照設定のみで、岡三RSSのアドイン設定をしていないようなのでその条件でアドインファイルのみのテストをしてみました。
目から鱗です。岡三RSSの利用説明には、参照設定とアドイン登録がセットになっていますので、参照設定のみで岡三RSS関数が動くとは思っていませんでした。
あくまで、test.xlamの参照設定とアドイン登録で、exec.xlsxの関数がエクセルの関数サーチの優先順位に従ってまず自分自身(exec.xlsx)の関数サーチし、アドイン登録が無いので次に参照設定とアドイン設定しているest.xlamの関数をサーチして実行しているものと思っていました。
故に、親から子の関数サーチのタイミングで、関数が実行されたりされなかったりの不具合が発生したものと理解していました。
考えてみれば、.Net関連の関数(クラス)は、VBEの「ツール」「参照設定」でライブラリファイルに参照設定すればオブジェクト化できるので当たり前なのかもしれません。
そうすると、アドイン登録って何?との疑問がわきます。
又、参照設定で動くのであれば参照設定のバッティングが起きないのか不安になります。VB.Net等では参照設定で同一メソッド(同一名前空間内)がある場合エラーとなりますからね。

昨日コメントを頂いた時点で、ORDQUERYやPosition情報のエクセルファイルを参照設定のみで試しました。
その時は、30~40程度の岡三RSS関数の内半分がリターン無し(待っても反応が無いので時間遅れではない)となり、アドイン設定をすると全数リターンしました。
今朝再度参照設定のみで試したことろ数回とも全数リターンとなっています。
通信環境?PCの性能の関係?等、よくわからないです
岡三RSS(岡三RSSプロジェクト)はパスワードが有り、中身を見ることができないので、標準モジュールかクラスモジュールなのかもわからず手探りになります。

大野さん、私の理解が思い違いしている部分があるのでしょうか?
いずれにしても、アドバイスを踏まえ、自分自身の理解を一旦クリアして疑問解消に再挑戦してみます。
1年ほど前にアドインファイルを諦め、作り変えてしまっているので、少し時間がかかると思います。
正直、古希も近い身としてはもうすでにうまくいっているよとのコメントを頂けると幸いなのですが・・・
何かわかったことがあれば、UPします。

2021年02月20日

ログインしてコメントを投稿する

大野 了

りーぼうじいじさん、おはよーございます!!

参照設定などの内容を細かく書くとキリがないので、
以下の説明はあくまでもイメージとなります
また、自分は岡三RSSを作ってる人ではないので、岡三RSSのシステムに関しての説明は、
間違えている可能性もあることはご容赦ください。

まず、いろいろな言葉が入り乱れてるため、一つずつ整理させてください。

Excelアドイン:
『Excelアドイン』は”Excel自体”の拡張機能となります。(あくまでもイメージです。)
また、Excelアドインは見た目は同じアドインでも、〇〇〇型アドインというように、
見た目上同じアドインになっていても、できることがかなり異なります!
Excelで作る『Excelアドイン』はVBAのマクロをまとめて持って行くものとなります。
またこの設定はExcelファイルではなくExcel自体にかかります。

岡三RSSアドイン:
岡三RSS本体の機能をExcelの関数として使用できるようにしているラッパーとなります。
例えば、岡三オンライン証券さんに発注するには、
ユーザIDを送ったり、データを受信して結果をExcelのセルに出力しないといけないのですが、
セルにプログラムは書けないので
発注するためのプログラムを『=NEWORDER()』というような関数に置き換えてくれています。

Excel側のExcelアドインの設定:
こちらは"Excel自体(除くVBA)"で使える拡張機能の設定となります。(イメージ、あくまでもイメージですよ(笑)
ここに岡三RSSアドインを設定すると、セルで『=NEWORDER()』という関数がExcelセルで使えるようになります

VBA側の参照設定:
VBA側で使用する拡張機能の設定となります。
ここに岡三RSSアドインを設定すると、VBAで『=ORDQUERY()』という関数がVBAで使えるようになります。

2021年02月20日

ログインしてコメントを投稿する

大野 了

上記をふまえてご説明させていただきますと・・・

Excelのセル関数だけで、岡三RSSの関数を使用したい場合は、
『岡三RSSのアドイン設定』のみで大丈夫です。
逆に『岡三RSSのアドイン設定』を行わないと、Excelのセル関数として岡三RSSの関数が使えなくなります!!

今回作成したExcelで作ったExcelアドインはVBAを持って行くため、
VBAの中で岡三RSSの関数を使用するための参照設定が必要となります。

また、関数で同一名が出てきたときですが、
名前空間と同じような感じで、test.xlam!testfunc()としてあげたら大丈夫です



>昨日コメントを頂いた時点で、ORDQUERYやPosition情報のエクセルファイルを参照設定のみで試しました。
>その時は、30~40程度の岡三RSS関数の内半分がリターン無し(待っても反応が無いので時間遅れではない)となり、アドイン設定をすると全数リターンしました。
>今朝再度参照設定のみで試したことろ数回とも全数リターンとなっています。
そもそもORDQUERYやPositionってVBAからは使えないと思うのですが、
どの様に実行されておられるのでしょうか?
もしかしたら別要因かもしれません

2021年02月20日

ログインしてコメントを投稿する

りーぼうじいじ

大野さん
先ほどコメントを送りましたが、その前にコメントを頂いていたのですね。
ありがとうございます。確認致します。

2021年02月20日

ログインしてコメントを投稿する

りーぼうじいじ

参照設定での岡三RSS動作テスト_添付用.xlsx (476.8KB)

目から鱗を確認するために、お試し版エクセルを作成してみました。添付します。

作成の目的は、参照設定のみで、どこまで関数が動作するかの確認です。
・あゆみデータは上限の30データを問題なく出力しました。
・boardデータ(QUOTE関数を含む)については、最初エラーとなっていましたが、何回か起動するうち表示しました。
 QUOTEデータも同様に表示するようになりました。
・Position、ORDQUERYも正常に表示されました。(昨日は、全部表示しない場合がありました。現在関数を無効にしましたので、「'=」を「=」に変えれば動作します。)
・sheet("Board")中の「#NAME?」と表示されているのは、VB.Netで動作する自作関数です。
excelDNAを介して作成された .xllのアドインを、アドイン登録(参照設定はしていない)して動作させています。計算等の処理は殆どVB。Netで行っています。

上記のことから、本来参照設定で関数は動作する仕様なのかと思います。アドイン登録はリボンのツール動作の為?? この辺の概念が分かりません。
又、アドイン登録の有無で応答速度等に違いが出るのかどうかは確認していません。

もし皆さんのPCで問題なく添付ファイルが動くのであれば、私の環境に問題になりそうです。
通信はDounLoad 40Mbps UpLoad 30Mbps程度です。
PCは古いですが、i7-3770kの自作で16GBのメモリです。
そんなに貧弱とは思っていないんですが・・・。
但し、今回質問しましたアドイン化ファイルを構成する以外は、現在正常に有効に利用しており不満があるわけではないのですが、出来たら嬉しいです。
もし興味があり試された方で、結果を教えていただければ幸いです。
(添付は、xlsm形式では送れないようなのでxlsx形式です。
 拡張子変換でマクロ有効になると思います)

2021年02月20日

ログインしてコメントを投稿する

大野 了

りーぼうじいじさん

添付されたファイルですが、オリジナルファイルへの参照設定が含まれてるため起動できませんでした。
ファイルが開かなかったため、どの様に調査されているかわかりませんが、
多分、参照設定を掛けれているという事は、Excelアドインの設定が残ってると思われまーす。
なので各関数が動いてるのではないかと・・・
開かなかったので、完全に妄想で申し訳ありません!!

>アドイン登録はリボンのツール動作の為?? この辺の概念が分かりません。
こちらはExcelアドインではなく、COMアドイン側でやってる感じです。

2021年02月20日

ログインしてコメントを投稿する

りーぼうじいじ

見直してみました。
アドインダイアログで岡三RSSのチェックを外したのですが、セルには
='C:\Program Files (x86)\Okasan Online Securities Co.,Ltd\岡三RSS\岡三RSS.xla'!BOARD(B2,"","買気配数量3")
が残っています。計算されて当然なのですね。
お恥ずかしいです。
まだ見落としている部分があるかもしれませんので、再度見直します。

2021年02月20日

ログインしてコメントを投稿する

大野 了

あーなるほど!!!
そうかその手がありました!!

確かに、先にVBAで参照設定を掛けた後に、
岡三RSSのチェックを外す手がありました!!

確かにこれだと、PGを組まなくてもVBAの参照設定を組むことができます。
すみません、まったく気がつきませんでした。
目から鱗です(笑

確かにこの方法だとpublic関数のような扱いになるので、
簡単にVBAの参照設定でセル関数側を動かすことができます!!

2021年02月20日

ログインしてコメントを投稿する

りーぼうじいじ

大野さん
本来
①岡三RSSのアドイン設定でExcelのセル関数として岡三RSSの関数を使う。
②参照設定で、VBAの中で岡三RSSの関数を利用する。
仰る通りですよね。
(ラッパーと言えば、excelDNAもラッパーの様なものですね。)

先ほど送りました添付ファイルにあるように、参照設定でもセル関数が計算されてしまうので混乱しました。

①岡三RSSのアドイン設定でExcelのセル関数として岡三RSSの関数を使う。
を前提とすると、test.xlamとexec.xlsxの双方に岡三RSSのアドイン設定をすることになります。
これは、うまく動作しませんでした。
Facebookのアカウントを得たので、以前のことでしたが質問させていただきました。
もう一度、整理しなおして最初からやり直してみます。
(アドイン化したい機能は、ORDQUERYとPosition情報限定です。
 添付ファイルはお試し版として作りました。)
言葉の定義等混乱させて申し訳ありませんでした。

2021年02月20日

ログインしてコメントを投稿する

大野 了

りーぼうじいじさん

上手く行くことを祈ります!!
自分でわかることであれば、少しでもお手伝いできますと幸いです。

2021年02月20日

ログインしてコメントを投稿する

すべての投稿を表示する

to_top
to_top

アップロードされたファイルにはウイルスチェックを行っておりますが、未知のウイルス等に感染されている場合がありますので、アップロードされたファイルのご利用はご注意ください。
また、取引パスワード等の重要な情報を投稿内容に含めないようご注意ください。
なお、アップロードされたファイルの利用や投稿内容によって、投稿者自身や他の利用者が被った損害に対して当社は一切責任を負いません。

また、セキュリティの関係上、一部コマンド等を含む内容を送信するとエラー画面が表示され、投稿ができない場合がございます。何卒ご了承ください。

岡三RSS集いの広場では、複数の単語による検索が可能です。

例)関数 and サンプル
→AND検索となり、「関数」および「サンプル」を含む検索結果が表示されます。

例)関数 or サンプル
→OR検索となり、「関数」または「サンプル」を含む検索結果が表示されます。

例)関数 not サンプル
→NOT検索となり、「関数」を含むが「サンプル」は含まない検索結果が表示されます。

※and、or、notの前後は半角スペースで区切ってください。
※単語の間を半角スペースで区切るだけだと、OR検索となります。