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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Visual Basic(VBA) Excel VBA 書式変更で困ってます。 オートフィルターの日付フィルターを用いて データの絞り込 2 2022/07/26 22:16
- Visual Basic(VBA) Excel VBAのリストボックスの値を他のフォームに反映させる方法を教えてください。 2 2023/07/14 14:06
- その他(プログラミング・Web制作) vbaで座標を指定してコマンドプロンプト画面を表示させる。 1 2023/01/09 16:06
- Excel(エクセル) Excel ヘルプの[ロック解除]、<c0>、</c0> の意味は何ですか? 1 2023/02/20 16:58
- Excel(エクセル) iphonからone driveに保存してあるExcelを閲覧すると表示の仕方がちがうデータ 2 2022/12/21 13:51
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- au(KDDI) 「カメラへのアクセスを許可してください」のせいで年齢確認書類を撮影できない、アップロードできない 2 2022/11/01 00:04
- Windows Me・NT・2000 widows xpのエラーで利用ができなくなりました 3 2022/12/21 13:43
- Visual Basic(VBA) VBA 登録ボタンを省略してエンターキーで作業 4 2022/07/09 22:29
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
勝手にログアウトされてしまい...
-
セッション管理について(同時...
-
PHPからWindowsログインユーザ...
-
画面遷移が不正ですと表示されます
-
同じソリューション内の別のプ...
-
グリッドビューでのチェックボ...
-
VBAで一時中断したプログラムの...
-
複数選択のListBoxでClickイベ...
-
c# 文字列の最後から1文字削除...
-
コネクション・セッション・ト...
-
Webページ上のボタン等の位置を...
-
Accessの画面更新を一時的に停...
-
aspxをhtmlに変換する方法について
-
コンピュータへの接続数が最大...
-
エクセルVBAで画面の大きさを取...
-
PageLoadの後にJavascript実行...
-
【VB6】 変数1 = 変数1 Or $H2
-
ASP.NET(VB)でのデータグリッド...
-
ASP.Net 条件により自身を閉じ...
-
GridViewの項目編集(初歩)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでHTTPログイン
-
PHPからWindowsログインユーザ...
-
勝手にログアウトされてしまい...
-
青い枠のみのHTML
-
戻るボタンで、ログイン中を維...
-
特定の端末からのみWebシステム...
-
バッチファイルでログイン後の...
-
セッション管理について(同時...
-
2重ログインのチェック
-
XMLHTTPを用いて認証が必要なUR...
-
えきねっとのログイン画面はどこ?
-
フォーム認証でのパスワードロック
-
セレニウムで自動ログインする方法
-
phpmyadminでDBが作成できない。
-
vba ie操作 ログインしたい
-
vbaでログインできない 手動だ...
-
ASP.NETで作成されたログインペ...
-
DFDの書き方について
-
ログインフラグがわかりません。
-
Global.asaについて
おすすめ情報