- PR -

VB.NETで可能なこと

1
投稿者投稿内容
りき
会議室デビュー日: 2005/12/18
投稿数: 2
投稿日時: 2005-12-18 03:35
りきと申します。
はじめて利用しますので、検討違いのことを聞いていたら申し訳ありません。
VB.NETで特定のページにログインして次のページが完全に開かれたら、特定の場所をクリックするということは実現可能なものでしょうか?
ちなみにVB.NETを使おうと思っているのはエクセルマクロと連動させたいからです。
当方プログラミングの初心者ですが、よろしくお願いいたします。
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2005-12-18 07:26
引用:

りきさんの書き込み (2005-12-18 03:35) より:
はじめて利用しますので、検討違いのことを聞いていたら申し訳ありません。
VB.NETで特定のページにログインして次のページが完全に開かれたら、特定の場所をクリックするということは実現可能なものでしょうか?


ログインって何にログインするんですか?ページって何のことですか?
特定の場所をクリックしたことにするためには、WM_LBUTTONDOWNメッセージでも送れば良いでしょう。
引用:

ちなみにVB.NETを使おうと思っているのはエクセルマクロと連動させたいからです。


マクロごとVB.NETに移植するか、マクロの方に手を加えてしまった方が楽かもよ?

#タグがずれてたorz

[ メッセージ編集済み 編集者: 甕星 編集日時 2005-12-18 13:19 ]

[ メッセージ編集済み 編集者: 甕星 編集日時 2005-12-18 13:19 ]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-12-18 09:38
引用:

りきさんの書き込み (2005-12-18 03:35) より:

VB.NETで特定のページにログインして


ページって Web ページでしょうか?
ということは、ASP.NET でしょうか?

引用:

次のページが完全に開かれたら、


「完全に開かれたら」というのは、表示された瞬間を指しますか?
ということは、やっぱり Web アプリケーションなのでしょうか?

引用:

特定の場所をクリックするということは実現可能なものでしょうか?


あれれ? Windows アプリケーションなのでしょうか?

引用:

ちなみにVB.NETを使おうと思っているのはエクセルマクロと連動させたいからです。


Excel のマクロと連動させたいのは判りましたが、"何に" 連動させたいのですか?

既存の Windows アプリケーションと連動させたいということであれば、
それが「VB.NET」で作られているから、VB.NET を使おうとなさっているのでしょうか?

まさか、第三者が既にある二者に介入する形なのでしょうか?
(それだと VB.NET を選択した理由にはならないので、違うとは思いますが)

COM を使えばある程度の制御は可能 (マクロの起動などなど) です。
(今までの質問を勝手に予想しての結論なので、ご注意ください)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
りき
会議室デビュー日: 2005/12/18
投稿数: 2
投稿日時: 2005-12-18 11:01
ご返答いただきましてありがとうございます。

わかりにくい記述でもうしわけありませんでした。具体的には
VBA上の特定の変数が閾値を越えたら
YahooのWebページへアクセスし、ユーザ名とパスワードを入力します。
次のWebページ上の文字列、画像などをすべてダウンロードしきったら
YahooのWebページ上の特定の位置に配置されているボタンをクリックする

つまり
「ページ」=Webページ
「ログイン」=ユーザ名とパスワードの入力
「Webページが完全に開かれる」=Webページ上の文字列、画像などがすべてダウンロードしきる
「既存のエクセルマクロと連動させる」=VBA上の特定の変数が閾値を越えたら、VBA.NETによりWebページへのアクセスを行う

このような処理がVBA.NETだけで実現させることは可能なのでしょうか?
その他、言語も取り入れる必要があるのでしょうか?

よろしくお願いいたします。
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2005-12-18 13:35
引用:

りきさんの書き込み (2005-12-18 11:01) より:
ご返答いただきましてありがとうございます。
VBA上の特定の変数が閾値を越えたら
YahooのWebページへアクセスし、ユーザ名とパスワードを入力します。
次のWebページ上の文字列、画像などをすべてダウンロードしきったら
YahooのWebページ上の特定の位置に配置されているボタンをクリックする


個々の話は確かに可能なんだけど、それで使い物になるのかは微妙ですよね。
特定の場所でマウスのクリックをエミュレーションする方法では、ちょっとWEBページのレイアウトが変わっただけで動かなくなりますが良いのですか?
つまりHTMLファイルをダウンロードし、その内容を解析した上で動作させる方法もあるとは思いますが、WEBブラウザとしての機能の大部分を実装することになるため、手間がかかります。WEBページのデザインが変更されると、特定のタグを認識するためのキーが変わってしまい動かなくなる可能性もあります。

引用:

「既存のエクセルマクロと連動させる」=VBA上の特定の変数が閾値を越えたら、VBA.NETによりWebページへのアクセスを行う


VBA.NETって何?VBAの変数の内容を直接他のプロセスから参照するなんて、言語が何であれ不可能ですよ。VBAのプログラムを修正して、VBAのプログラムに他のプロセスと値を共有する仕組みを込む必要があるでしょう。

引用:

このような処理がVBA.NETだけで実現させることは可能なのでしょうか?
その他、言語も取り入れる必要があるのでしょうか?


言語は関係ないですよ。あなたのやりたいことを実現するには、ソフトウェアとしてどの様な仕組みを用意する必要があるのかイメージできていないだけです。
_________________
甕星 <mikahosi@abox9.so-net.ne.jp>
http://blogs.msmvp.jp/mikahosi/
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-12-18 13:52
引用:

りきさんの書き込み (2005-12-18 11:01) より:

YahooのWebページ上の特定の位置に配置されているボタンをクリックする


ユーザー名とパスワードを入力した後、ということでこれは、
ログインボタンをクリックしたいということでよろしいですか?

であるならば、別にマウスをシミュレートする必要はないですね。
スクリプトか専用の HTML 文書で実現できます。
(セキュリティとかそういう概念は一切無視ですが)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
aacute
常連さん
会議室デビュー日: 2005/08/25
投稿数: 30
投稿日時: 2005-12-18 14:27
ようするに、Windows操作を自動化するソフトが欲しいってことかな。
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2005-12-18 16:18
Web で Logon → 情報取得 を自動化させたいってこと?

これはよくある質問ですが、MSHTML とかを利用してやればできるでしょうが、
Security をちゃんと考えたほうがいいかと思いますがね。

これ全部を自動化するとなると、Account & Password をどこかに保存しないと
いけません。これが実はすごく問題になります。

保存してあるってことは、誰かに読み取られる可能性があるってことで、
適切な保護を行わないのであれば、重大な Security Hole となりえます。

これを避けるためには、最低限暗号化しないといけませんが、
その方法によってはあまり効果がないことも・・・

まあ、そこら辺を一から考え直したほうがいいかも・・・
# そこら辺を理解していて、かつ適切な保護方法がわかっているなら
# 蛇足なんで無視してください。
# とはいえ、Batch とか、Script に平文で Password が保存されているのを
# みるとね〜。怖〜
1

スキルアップ/キャリアアップ(JOB@IT)