• 締切済み

VBSで自動ログインについて

お世話になります。 VBScriptを扱うのは初心者です。 運用SEをして、複数のシステムをログインし、閲覧できるか手動で監視していますが、以下のネット上のサンプルを参考にスクリプトを作成しましたが、以下の課題が出てきましたので、対応方法を教えて頂けないでしょうか?宜しくお願いします。 ■スクリプト Option explicit 'オブジェクトの作成(IE) Set IEObj = CreateObject("InternetExplorer.Application") Dim MemID,UsrPass,IEObj MemID = "xxxxxx" UsrPass = "xxxxxx" With IEObj .Visible = True 'URL .Navigate "http://xxxxx" While .Busy Or .ReadyState <> 4 Wend .document.all.Item("jossoname").Value = MemID .document.all.Item("jossopasswd").Value = UsrPass .document.forms(0).submit End With Set IEObj = Nothing ■課題 上記、スクリプトは正常に起動し、該当システムを自動的にログインされます。 (1)自動ログインした画面を自動的に閉じたいのですが、どのように定義すればいいのですか? (2)複数のシステムを上記のように自動ログインしたいのですが、1つのVBSで処理できる定義をおしえてください。(1)も考慮した形でお願いします。 以上、何卒宜しくお願いします。

みんなの回答

  • kumatti1
  • ベストアンサー率60% (73/121)
回答No.2

> 1 セッションタイムアウトがあったとしてもログアウトしてからIEを閉じた方が無難だと思いますよ。 > 2 HTAでUIを持たせるとか、複数のバッチファイルかVBSから呼び出して(呼び出される側は)WScript.Argumentsプロパティで判別するとか。

egaccho1
質問者

お礼

ご連絡が遅れまして、大変申し訳ございません ご回答ありがとうございます。 > 1 セッションタイムアウトがあったとしてもログアウトしてからIEを閉じた方が無難だと思いますよ。 ←承知しました。ただ監視運用においては、多数のシステムをログインさせるので、ログアウトも自動で閉じるほうがいいです。 > 2 HTAでUIを持たせるとか、複数のバッチファイルかVBSから呼び出して(呼び出される側は)WScript.Argumentsプロパティで判別するとか。 →すいません。かなり初心者なので少し調べてみます。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

(1)たぶん IEObj.Quit のことでしょうか。 (2)別途 ID、パスワードなどの情報を持っておく必要がありますよね。 別ファイルで、テキストファイルを準備する方法もあるかと思いますが エクセルのシートのデータを持たせて、エクセルのVBAで実行させた方が 便利だと思うのですが。

egaccho1
質問者

補足

ご連絡が遅れまして、大変申し訳ございません ご回答ありがとうございます。 (1)たぶん IEObj.Quit のことでしょうか。 →自分なりに調べてみた結果、上記回答に行き着きました。しかし定義方法が間違えているかもしれませんが、上記設定すると、エラーが出力されます。 ※.document.all.Itemがありません。 どのように定義すればよろしいでしょうか? (2)別途 ID、パスワードなどの情報を持っておく必要がありますよね。 別ファイルで、テキストファイルを準備する方法もあるかと思いますが エクセルのシートのデータを持たせて、エクセルのVBAで実行させた方が 便利だと思うのですが。 →すいません。知識不足ですが、どのように処理すればよろしいでしょうか? 以上、よろしくお願いします。

関連するQ&A

  • VBAでFC2に自動ログインしたい

    excel2010 VBAを使ってFC2のログインをしたいと思います。 色々と試してみましたが、ログインボタン押下を無視されているようです。 何か良い方法は、ありませんか。 'ログイン ie.Navigate "http://fc2.com/login.php?ref=blog" waitIE ie Sleep 1000 ie.document.getElementById("id").Value = Worksheets("ブログリスト").Range("C" & num).Value ie.document.getElementById("pass").Value = Worksheets("ブログリスト").Range("D" & num).Value 'ie.document.all.INPUT.Click 'クリックメソッドを実行 ie.document.forms(0).Submit 'ie.document.getElementsByTagName("image").Item(0).Click 'ie.document.getElementById("image").Click 'ie.documant.all.Item("image").Value.Click 'ie.Document.form_login.Submit waitIE ie Sleep 1000 上記のコメントアウトは実行してエラーになりました。 良い手立てがありましたら、ご教示ください。

  • VBAで教えてgooに自動ログインしたい

    Sub 教えてgoo() Dim objIE As Object Const READYSTATE_COMPLETE As Long = 4 Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True objIE.Navigate "https://login.mail.goo.ne.jp/id/authn/LoginStart?Site=oshiete.goo.ne.jp&Success=http%3A%2F%2Foshiete.goo.ne.jp%2F" Do While objIE.Busy = True DoEvents Loop Do Until objIE.ReadyState = READYSTATE_COMPLETE Loop objIE.document.all.all("uname").Value = "gooID" objIE.document.all.all("pass").Value = "gooPW" Do While objIE.Busy = True DoEvents Loop Do Until objIE.ReadyState = READYSTATE_COMPLETE Loop objIE.document.all("ログイン").Click End Sub --------------------------------------------------------- を実行してみても、 objIE.document.all.all("uname").Value = "gooID" objIE.document.all.all("pass").Value = "gooPW" objIE.document.all("ログイン").Click の部分がエラーになってしまいます。 教えてgooは、VBAでログインできないように規制されてるのでしょうか?

  • mixiを自動でログインできるマクロを作成したいと思っています。

    mixiを自動でログインできるマクロを作成したいと思っています。 サイトなどを見ながらマクロを作成しましたがうまくログインできませんでしたので 質問させていただきます。 [マクロ文] 1 URL = "http://mixi.jp/home.pl" 2 Set objIE = CreateObject("InternetExplorer.application") 3 objIE.Visible = True 4 objIE.Navigate URL 5 objIE.document.forms(0).Item("email").Value = "メールアドレス" 6 objIE.document.forms(0).Item("password").Value = "パスワード" 7 objIE.document.forms(0).Submit [エラー] 5行目の所でエラーが出ます。メールアドレスを入力するフォームにうまく アドレスが出力されないことが原因だと考えられます。 サイトを開くところまでは出来たのですがその先にいけません。 どなたか分かる方いらっしゃいましたら教えていただけると助かります。 よろしくお願いします。

  • 三菱東京UFJ銀行に自動ログインしたいのですが

    どうもうまくできません。 ログインボタンが押せません。 Sub tset() Dim objIE As Object Dim i As Long Set objIE = CreateObject("InternetExplorer.Application") objIE.navigate "https://entry11.bk.mufg.jp/ibg/dfw/APLIN/loginib/login?_TRANID=AA000_001" objIE.Visible = True Do While objIE.Busy = True DoEvents Loop With objIE.document .all("KEIYAKU_NO").Value = "test" .all("PASSWORD").Value = "PASSWORD" End With For i = 0 To objIE.document.Links.Length - 1 If objIE.document.Links(i).innerHTML Like "*alt=ログイン*" Then objIE.document.Links(i).Click Exit For End If Next i For i = 0 To objIE.document.Links.Length - 1 If objIE.document.Links(i).innerText = "ログイン" Then objIE.document.Links(i).Click Exit For End If Next i End Sub でも、押せないのですが、ご教授いただけませんか? よろしくお願いします。

  • エクセル excelVBA で 自動ログイン

    エクセルvba を使ったシステムトレードをしようと思い 初心者ながらVBAをいじっています. まずはじめにsbi証券に自動ログインをしようとする vbaを作ろうとおもい,インターネットを駆使して コードを書いてみましたが documentメソッドは失敗しましたというエラーがでてしまいます. 自分なりに色々と見返したりしたのですが どこが悪いのかいまいちわかりません. もしよろしければどこが悪いのか指摘していただけないでしょうか? よろしくお願いします. 以下ソース ******************************** Option Explicit Sub test() Dim ie As Object Dim strUserName, strPassword As String strUserName = Range("C5").Value strPassword = Range("C7").Value Set ie = CreateObject("InternetExplorer.Application") ie.Visible = True ie.Navigate "https://k.sbisec.co.jp/bsite/visitor/top.do" IE_Complete ie ' Do While ie.Busy = True '何もしないループ(笑) ' DoEvents ' Loop ie.Document.All.UserName.Value = strUserName 'ユーザー名 ie.Document.All.Password.Value = strPassword 'パスワード ie.Document.All.login.Click 'クリック End Sub Public Sub IE_Complete(ByVal ie As Object) 'IE読み込みが完了するまで待つ Do While ie.Busy = True DoEvents Loop Do While ie.Document.ReadyState <> "complete" DoEvents Loop End Sub

  • 自動ログイン

    楽天市場に出店しているのですが 管理画面のrmsに毎回ログインするのが面倒なので 自動にログインできるのはないかといろいろ調べました。 YAHOOのメールには一発でログインできるようには下記のように HTMLを作成しできるようになりましたが 楽天のrmsにhttps://glogin.rms.rakuten.co.jp/?sp_id=1 一発ログインできるようにしたいのですが よろしくお願いします。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="ja"> <head> <meta http-equiv="content-type" content="text/html; charset=shift_jis"> <meta http-equiv="content-script-type" content="text/javascript"> <title>Yahoo!メール 自動ログイン</title> </head> <body onLoad="document.AutoLogOn.submit()"> <form action="https://login.yahoo.co.jp/config/login" method="post" name="AutoLogOn"> <div> <input type="hidden" name=".done" value="http://mail.yahoo.co.jp"> <input type="hidden" name="login" value="Yahoo! JAPAN ID"> <input type="hidden" name="passwd" value="パスワード"> </div> </form> </body> </html>

  • VBSでIEのログイン画面でのアカウントの自動設定について

    VBSで自動で起動したIEのログイン画面にアカウントを設定するやり方について 書籍にログインページであるという認識が Set objIE = Createobject("InternetExplorer.Application") If InStr(1, objIE.Document.Body.InnerText, "ログイン") > 0とありますが これはログインページをHTML形式で見た時にBodyタグの中に 「ログイン」があればログインページと認識できるということなのでしょうか? よくわからないのでよろしくお願いします。

  • yahooにvbaでにログインする時

    今までは objIE.Document.all("UserName").Value = MyUserName objIE.Document.all("Passwd").Value = PW で、問題なくログインできていたのに ("UserName").Value だけ失敗するようになりました。 エラー内容は オブジェクトが必要です。(Error 424) です。 しかし、 objIE.Document.all.UserName.Value = MyUserName objIE.Document.all.Passwd.Value = PW にするとコードが通ります。 ダブルコーテーションでくくると何がいけないのでしょうか?

  • VBSでログを出す方法

    VBスクリプトのオートログインで成功、失敗に関わらずログを出したいのですがいい方法はないでしょうか? Set objLogin = objIE.Document.getElementsByTagName("INPUT") objLogin(0).value = ID objLogin(1).value = PASSWORD objLogin(2).click サイトにログインの可否をログに残したいのですが、どこでログの作成を入れたらよいのでしょうか? ログを新規に作るとき月ごとにファイルを作るかと思います。 ログファイルを探す?方法はどうしたらよいでしょうか? スクリプトを起動した瞬間に起動時間をいれログインできた時点でOKなり失敗した時点でNG入れるなんなりがあると思いますが・・・ どのようにすればよいでしょうか? 一応下記を参考にしていますが・・・ http://www.happy2-island.com/vbs/cafe02/capter00204.shtml

  • WebBrowser内で、ブログにログインするには

    WebBrowserで、ブログのログイン画面を表示させ 自動でログインさせたいと思います。 URL → https://www.so-net.ne.jp/blog/login_sso?u=http%3A%2F%2Fblog.so-net.ne.jp%2F 分からないのは、「タブ」と「ログインボタン」のクリックです。 タブのクリックの仕方は、全く分かりませんでした。 ログインボタンを調べると <input id="loginformsubmit" type="submit" value="ログイン" name=""> となっており、 これを使って、vb.netでコーディングするには「name」が分からないと書けません。 With Me.WebBrowser1.Document.All Dim submit1 As HtmlElementCollection = .GetElementsByName("") submit1(0).InvokeMember("click") End With どのようにしたら、実現できるか 教えて下さい。 宜しくお願いします。

専門家に質問してみよう