■4508 / inTopicNo.2) |
Re[1]: こんなこと出来ますか?
|
□投稿者/ hidetake -(2009/03/27(Fri) 12:00:51)
| まず、難しいのでは!?
特に桐ではローカルのパソコンに対してでも、キーコードを 他のアプリに渡すなんて機能は持ち合わせていないし、桐で 無くとも、ローカルはまだしもリモートに対してキーを送信 するのは、まず困難だと思います。 (特に今では。昔のセキュリティの甘い時代は可能ではあった)
基本的には、蓄積したデータで ACCESS 側で出力できるよう にした方が簡単のようだし間違いは無いと思います。
無理矢理やろうとすれば、キーボードにデータを送るって、 相手のアプリにキーコードを送ることだから、VBScript など で言えば Sendkeys の機能を使えば ACCESS にデータを送る ことは可能だと思います。 これは、今では基本的にローカルでしかできない機能で、 VBScript でも組めば、蓄積したデータがテキストファイルに でもあり、それを読み込んでは Sendkeys する。ウェイトして 次の行を読み込んでは Sendkeys する。これをファイルエンド まで繰り返すというような処理ですね。 ただ、Sendkeys する相手は目的のアプリに確実に送らないと いけないのですが、VBScript だと AppActivate でターゲット を指定する(アクティブにする)わけですが、Windows なので アクティブなアプリが変化したりで、VBS では誤爆する可能性 も大きいです。
なので、ACCESS 自体で対応した方が間違いが少なくなります。
あと、データを蓄積したテキストファイルはネットワークで つながっていれば、どのパソコンからでも作成可能です。
なので、あえてリモートから操作する必要性は無いとも思えま すが、絶対にリモートから操作したいとなると、Windows では WMI でリモートを操作することは可能ですが、こと Sendkeys に関しては、リモートでは使えないようです。 リモートのパソコンを、自分のパソコンのキーボードから入力 するには synergy と言うソフトもあります。 http://journal.mycom.co.jp/column/yetanother/091/
私も使っていますが、これでカーソルを相手のパソコン側にして おけば、自分のパソコンで Sendkeys した内容は、相手のパソ コンのアプリに一応渡すことは可能です。 しかし、ターゲットのアプリをローカルでさえコントロールする には難しいのに、ターゲットのパソコンを切り替えたり、さらに リモートのパソコンのアクティブなアプリを取得したり切り替え たりするのは、もっともっと大変なことだと思います。
と言うことで、結論は一番最初に書いたとおりです。
これ以上のことは、桐とは全く関係なくなりますが、もし、ロー カルのアプリを Sendkeys などで制御したいのではあれば、 上記で出て来る単語なりで検索してみてください。
※参考 (リモート相手への Sendkeys)
Hey, Scripting Guy! http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/aug06/hey0810.mspx
> (SendKeys はローカル コンピュータでのみ動作します)
※参考 (Sendkeys の副作用) [BUG] 複数の SendKeys ステートメントが実行されると NumLock キーがオフになる 対象製品 http://support.microsoft.com/kb/179987/ja
|
|