
VBA初心者なのですが、ExcelのVBAで、イントラネットにログインして
必要な情報を検索してデータをExcelに読み込むマクロをくもうと思っています。
それでブラウザ上に表示された画面の特定のリンク先に移動するにはどうしたらいいのでしょうか?
今はShell関数でNetscapeを起動させて、SendKeysでTabやEnterを押しているのですが、
過去ログを見るとあまり良くないみたいですし、実際、関係ないリンクを押すことがあります。
他のアプリケーションのコマンドボタンを押す、というのはログにあったのですが、
表示されてる画面のリンクに移動、というのが見つかりませんでした。
表示されている文字は同じですが、ログインするたびにJavaScriptでURLも変わるので
直接URLをいれることもできず、困っています。
すごく初歩的なことなのかもしれませんがお願いします。
それと、Netscapeより、Excel内のWebBrowserを使った方がいいのでしょうか?
No.2ベストアンサー
- 回答日時:
IEをコントロールするという手もあります。
Private Sub Command1_Click()
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate2 "http://login.mail.goo.ne.jp/certify-cgi/oshiete/ …
IE.Visible = True
Do While IE.busy
DoEvents
Loop
With IE.Document.f1
.uname.Value = text1.Text
.pass.Value = text2.Text
.submit
End With
Set IE = Nothing
End Sub
この回答への補足
すぐに対応していただきありがとうございます。
こちらが遅くなってしまいすみません。
すみません、質問がまぎらわしかったですね。
ログインはすでにできているのですが、ログインした後
リンクの一つを自動でクリックして移動したかったんです。
あるいは、クリック(もしくはForcusをあててEnter)しなくても
ログインするときのように引数みたいなのをJavaScriptに送って
対応するページに移動できるのでしょうか?
No.3
- 回答日時:
>それでブラウザ上に表示された画面の特定のリンク先に移動するにはどうしたらいいのでしょうか?
>表示されている文字は同じですが、ログインするたびにJavaScriptでURLも変わるので
直接URLをいれることもできず
意味がよくわかりません。
※まずはログイン
※画面上
「次へ」
と表示されている
※タグは
<a href="http://www.goo.ne.jp">次へ</a>
となっている
しかしいつも《http://www.goo.ne.jp》となっているわけではなく、Javaで切り替わるということですか?
なんか矛盾しているような気がします。
ログイン認証の成否を判定するのは、ブラウザ(サーバ)側で、そこから出されたURLへは、ユーザ側でなくサーバ側で飛ばすべきでは?
ユーザがURLを指定できるなら、認証の意味があまり感じられないのは私だけ?
まーそれはそれとして、Java部分のソースを公開するのが解決の早道のような気がします。
何にせよ、解決策はスクリプト的になりそうですが、、、
もしかして、Web系の掲示板に書いたほうが、解決早いかも?
意味もわからず発言しておりますので、はずしているとは思いますが、
http://oshiete1.goo.ne.jp/kotaeru.php3?q=295676
http://oshiete1.goo.ne.jp/kotaeru.php3?q=267951
でHTMLを読み込むことは可能です。
種類:推測
どんな人:ド素人
自身:聞くだけ無駄
と言うカテゴリがあったらよいと思う今日この頃。。。
お答えいただきありがとうございます。
JavaScriptをほとんど理解していないため
わかりにくい質問になってしまいすみませんでした。
>解決策はスクリプト的になりそうですが、、、
そうみたいですね。教えていただいたところのHTML読み込みを使ってみようと思いますが,
まずはJavaScriptの勉強もしてみようと思います。
理解してなくてもできる手っ取り早い方法なんてないですね。
No.1
- 回答日時:
WebBrowserコントロールを使う方法
http://oshiete1.goo.ne.jp/kotaeru.php3?q=382736
INetコントロールまたはwininet系API関数でも出来ます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Global.asaについて
-
windows統合認証とform認証の併用
-
特定の端末からのみWebシステム...
-
えきねっとのログイン画面はどこ?
-
コネクション・セッション・ト...
-
submitボタンにvalue属性の値で...
-
VBAで一時中断したプログラムの...
-
VB.NET 画面遷移
-
画面遷移が不正ですと表示されます
-
ASP.NET(VB)でのデータグリッド...
-
セッションIDを取得したい
-
getParameterで値が取得できず...
-
PDFのウィンドウが二重に開いて...
-
複数の aspx で一つのクラスの...
-
ACCESS2010 WEBブラウザーコン...
-
EXCEL2010でセルが編集中かを判...
-
プレビュー画面にツールバーを...
-
HTMLボタンの文字色を変え...
-
PageLoadの後にJavascript実行...
-
ロストフォーカスイベントとそ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPからWindowsログインユーザ...
-
えきねっとのログイン画面はどこ?
-
特定の端末からのみWebシステム...
-
VBAでHTTPログイン
-
ログインフラグがわかりません。
-
Enterキーでログイン
-
XMLHTTPを用いて認証が必要なUR...
-
セッション管理について(同時...
-
phpmyadminでDBが作成できない。
-
戻るボタンで、ログイン中を維...
-
VB6.0でIEをコントロールする
-
windows統合認証とform認証の併用
-
ページが参照された時にログイ...
-
フォレストページを使ってる人...
-
ユーザー環境変数の一覧
-
Global.asaについて
-
VB6)「DoEvents」について。(...
-
ASP.NETで作成されたログインペ...
-
ユーザIDの変更不可の理由
-
INPUTにnameがない場合のsubmit
おすすめ情報