これからの季節に親子でハイキング! >>

 ある特定のWebページをVBScriptから開きたいのですが方法が探せませんでした。VBScriptからWebページを開く方法、もしくはhttp putを行う方法を教えてください。よろしくお願いします。

A 回答 (1件)

こんなので、どうでしょうか?



Set objIE = Wscript.CreateObject("InternetExplorer.Application")
objIE.Navigate2 "http://www.goo.ne.jp/"
objIE.Visible = TRUE
Set objIE =Nothing
    • good
    • 6
この回答へのお礼

ご回答ありがとうございました。理解はできていないのですが、頂いた部分をそのままプログラムに埋め込んで使用しています。とても助かりました。ありがとうございました。

お礼日時:2005/06/10 16:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q指定したURLを表示させるバッチファイル

IEが起動してない状態で、IEを起動させて指定したURLを表示させるバッチファイルを教えて下さい。
バッチファイルAを実行すると、○●○●○●というURLでIEが起動し、バッチファイルBを実行すると、△▲△▲△▲というURLでIEが起動する。そういうことです。
よろしくお願いします。

Aベストアンサー

私がやった通りのことを書きます。ご参考に。
(1)インターネットエクスプローラーがExplore(最後rなし)と言うプログラム名であることを知る。
(2)スタート-検索-ファイルやフォルダ-Explore
で検索する。
(3)C:¥Program Files\Internet Explorerにあることを知る。(eのマークによりプログラムファイルであることを知る。)(こちらは最後にrがつく)
(4)バッチファイルを作る。メモ帳に
cd "c:\Program Files\Internet Explorer"
Iexplore "http://www.okweb.ne.jp/kotaeru.php3?qid=610162"
と入れて、url.batと言うファイル名で保存。
urlは任意の名で良い。「.bat」は必須です。
”http://・・は任意のURLで可。
(5)メモ帳を閉じる。私の場合はc:¥My Documentsに保存されたことに留意。
(6)スタート-プログラムからDos画面をだす。(98の場合)
(7)CD "c:\My Documents"エンタを入れる。
(8)urlエンタと入れる。.batは不要。
(9)上記のOKWEBの画面になり、止まる。

私がやった通りのことを書きます。ご参考に。
(1)インターネットエクスプローラーがExplore(最後rなし)と言うプログラム名であることを知る。
(2)スタート-検索-ファイルやフォルダ-Explore
で検索する。
(3)C:¥Program Files\Internet Explorerにあることを知る。(eのマークによりプログラムファイルであることを知る。)(こちらは最後にrがつく)
(4)バッチファイルを作る。メモ帳に
cd "c:\Program Files\Internet Explorer"
Iexplore "http://www.okweb.ne.jp/kotaeru...続きを読む

QVBS(WSH)で開いたIEのウィンドウがアクティブにならない

VBSでタイトルバーのみのIEウィンドウを開き、
SendKeyでtestと入力するスクリプトを作成しています。

ですが、開いたIEのウィンドウがアクティブにならず、
SendKeyがIEに送信されません。

VBSについては全くの初心者でして、ウィンドウがアクティブにならないのが
環境の問題なのか、プログラムの問題なのか判断できません。
どなたかご教授をお願いします。

IEのバージョンは8、OSはWinXPです。

以下、ソースです。

--------------------------------------------------

'タイトルバーのみのIEを起動する
Set WshShell = WScript.CreateObject("WScript.Shell")
Set objIE = WScript.CreateObject("InternetExplorer.Application")
objIE.Navigate("http://www.google.co.jp/")
objIE.MenuBar = False
objIE.StatusBar = False
objIE.ToolBar = False
objIE.AddressBar = False
objIE.Visible = True

'表示待ちループ
Do While objIE.Busy
WScript.Sleep 100
Loop

'[test]で検索
WshShell.SendKeys("test")
WScript.Sleep(100)
WshShell.SendKeys("{TAB}")
WScript.Sleep(100)
WshShell.SendKeys("{ENTER}")

--------------------------------------------------

VBSでタイトルバーのみのIEウィンドウを開き、
SendKeyでtestと入力するスクリプトを作成しています。

ですが、開いたIEのウィンドウがアクティブにならず、
SendKeyがIEに送信されません。

VBSについては全くの初心者でして、ウィンドウがアクティブにならないのが
環境の問題なのか、プログラムの問題なのか判断できません。
どなたかご教授をお願いします。

IEのバージョンは8、OSはWinXPです。

以下、ソースです。

--------------------------------------------------

'タイトルバーの...続きを読む

Aベストアンサー

プログラムでは無く、環境によるものです。

ただ、WSHを使ってアクティブウィンドウにキーを送る仕組みですが、WSHからIEを起動したら確実にアクティブになる補償は無いので、スクリプト内で明示的にアクティブにした方が安全です。

@ITで指定したプロセスIDをアクティブにしてキーを送る記事があったので、参考になると思います。

http://www.atmarkit.co.jp/fwin2k/tutor/cformwsh14/cformwsh14_01.html

ただし、
Set objIE = WScript.CreateObject("InternetExplorer.Application")

で起動した場合、objIEだけでプロセスIDが得られないので、別の検討が必要になります。
メニュー等非表示の指定を除けば、iexplorer.exeをExecコマンドで立ち上げることは可能でしょう。

プロセスIDまで取得してきっちり組みたい場合は、WSHにてWMIという仕組みを使えばプロセス情報は得られます。

http://www.upken.jp/kb/wmi_sample.html

検索ワードとしては、「WMI」「VBScript」「プロセス」「取得」あたりでいろいろ出ると思いますよ。

IE起動前にプロセス一覧を記録し、起動後に増えたIEのプロセスをうまく引ければ実現できそうですね。

プログラムでは無く、環境によるものです。

ただ、WSHを使ってアクティブウィンドウにキーを送る仕組みですが、WSHからIEを起動したら確実にアクティブになる補償は無いので、スクリプト内で明示的にアクティブにした方が安全です。

@ITで指定したプロセスIDをアクティブにしてキーを送る記事があったので、参考になると思います。

http://www.atmarkit.co.jp/fwin2k/tutor/cformwsh14/cformwsh14_01.html

ただし、
Set objIE = WScript.CreateObject("InternetExplorer.Application")

で起動し...続きを読む

Qvbsでからプログラムを、オプションを指定して起動したい。

vbsから、プログラムを実行する歳に、オプションを指定する方法を教えてください。

Firefoxを起動する際に以下のオプションをつけて実行したいのですが
上手くいきません。
(1)-new-tabオプション
(2)URL

===================================

Option Explicit
Dim objWshShell
Set objWshShell = WScript.CreateObject("WScript.Shell")
objWshShell.Run """c:\Program Files\Mozilla Firefox\firefox.exe"""
Set objWshShell = Nothing


Firefoxを起動するだけであれば上の記述でいけますが
(1)と(2)は
objWshShell.Run """c:\Program Files\Mozilla Firefox\firefox.exe"""
の後ろにどのように記述すればいいのでしょうか。

vbsから、プログラムを実行する歳に、オプションを指定する方法を教えてください。

Firefoxを起動する際に以下のオプションをつけて実行したいのですが
上手くいきません。
(1)-new-tabオプション
(2)URL

===================================

Option Explicit
Dim objWshShell
Set objWshShell = WScript.CreateObject("WScript.Shell")
objWshShell.Run """c:\Program Files\Mozilla Firefox\firefox.exe"""
Set objWshShell = Nothing


Firefoxを起動...続きを読む

Aベストアンサー

オプションやURLをすべてRunの第1引数で指定します。

objWshShell.Run """c:\Program Files\Mozilla Firefox\firefox.exe"" -new-tab http://www.google.co.jp"

QVBSでブラウザ上のテキストボックスに文字列を打ち込み、ボタンを押す方法

VBSでブラウザ上のテキストボックスに文字列を打ち込み、ボタンを押す方法を教えてください。
現在、下のような方法で行っているのですが応用が利かないので改善したいと思っています。

Set IE = CreateObject("InternetExplorer.Application")
Set WshShell = CreateObject("WScript.Shell")

IE.Visible = True
IE.Navigate("https://サイトのURL")

Do Until IE.Busy = False
WScript.Sleep 1000
WshShell.SendKeys "y"
Loop
'(セキュリティの警告が出るため)
WScript.Sleep 100
WshShell.SendKeys "{TAB}"
WScript.Sleep 100
WshShell.SendKeys "loginid"
WScript.Sleep 100
WshShell.SendKeys "{TAB}"
WScript.Sleep 100
WshShell.SendKeys "password"
WScript.Sleep 100
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{ENTER}"

操作したいページのソースの一部を抜粋すると下記のようになっています。

テキストボックス
<INPUT type="text" name="loginId" class="Necessary" size="20" maxlength="5" value="" tabindex="20">

ボタン
<INPUT class="button10" type="button" name="sentaku" value="認証" onClick="javascript:execute・・・・略

うまく操作できる方法を教えてください。
よろしくお願いします。

VBSでブラウザ上のテキストボックスに文字列を打ち込み、ボタンを押す方法を教えてください。
現在、下のような方法で行っているのですが応用が利かないので改善したいと思っています。

Set IE = CreateObject("InternetExplorer.Application")
Set WshShell = CreateObject("WScript.Shell")

IE.Visible = True
IE.Navigate("https://サイトのURL")

Do Until IE.Busy = False
WScript.Sleep 1000
WshShell.SendKeys "y"
Loop
'(セキュリティの警告が出るため)
WScript.Sleep 100
WshShell.Send...続きを読む

Aベストアンサー

set f=oIE.document.forms(0)
f.loginId.value="loginid"
f.password.value="password"
WshShell.SendKeys "{ENTER}"

テキスト領域でエンターするとsubmitになるので
エンターをsendkeysするのはありだとおもいますよ

QIE を開いてページ内のリンクをクリックする VB スクリプト

IE を開いて、ページ内のリンク (アンカー) をクリックして、リンク先のページを開くまでの VB スクリプトの書き方を教えてください。

Aベストアンサー

http://www.ken3.org/cgi-bin/group/vba_ie.asp
このページが参考になりますよ。

QFIREFOXでWebページを表示できるVBS

VBS超初心者です。
10年くらい前に作られたVBSを修正したいのですが、さっぱりわからないため助けてください。

勤務先で、社内イントラのデータベースを参照するときに使っているVBSです。

【いまの挙動】
VBSを起動すると文書番号の入力画面が表示→入力してEnter→IEで該当ページ(http:★★★/文書番号)が表示されます。

【やりたいこと】
FIREFOXで表示したい。(先日のIE脆弱性の騒ぎの影響で、上から指示があり。。)

今は以下のようなソースで使ってます。

----------------------
Sid = InputBox("ID を入力。")

Sid = Trim(Sid)

If Sid = "" Then WScript.Quit

If Len(Sid) <>14 Then

WScript.echo "ID が不正。"
WScript.Quit

End If

Set objie = WScript.CreateObject("internetexplorer.Application")

objie.navigate2 "http://★★★/" & Sid

objie.Visible = True

WScript.Quit
----------------------

「internetexplorer.Application」ではダメなことはわかるのですが
それ以上は私の知識ではお手上げでした。。

どなたか詳しいかた、アドバイスお願いします。

VBS超初心者です。
10年くらい前に作られたVBSを修正したいのですが、さっぱりわからないため助けてください。

勤務先で、社内イントラのデータベースを参照するときに使っているVBSです。

【いまの挙動】
VBSを起動すると文書番号の入力画面が表示→入力してEnter→IEで該当ページ(http:★★★/文書番号)が表示されます。

【やりたいこと】
FIREFOXで表示したい。(先日のIE脆弱性の騒ぎの影響で、上から指示があり。。)

今は以下のようなソースで使ってます。

----------------------
Sid = InputBox("ID を入力...続きを読む

Aベストアンサー

Dim objShell
Set objShell = CreateObject("WScript.Shell")
objShell.Run """C:\Program Files\Mozilla Firefox\firefox.exe"" ""http://★★★/" & Sid & """", vbNormalFocus, False
Set objShell = Nothing
という感じでしょうか。

Firefoxの実行ファイルのパスは、お使いの環境に合わせて変更してください。


WshShell.Runメソッドについて
http://msdn.microsoft.com/ja-jp/library/cc364421.aspx

Firefoxのコマンドラインオプションについて
https://developer.mozilla.org/ja/docs/Mozilla/Command_Line_Options#-url_URL

QVBS実行時エラー オブジェクトがありません 回避方法について

タイトルの件ですが、現在CSVよりIDとPWを読み込み、Webページに自動ログインできるVBSを作成しております。
ネットの情報を頼りに下記ソースを作成し、自動ログインできるところまでは達成しました。
しかしながら、一回目の実行時はいいのですが、二回目以降時間を置かずにVBSを起動すると
エラーが発生します。(IEは起動し、ログイン自体は出来ます)
本エラーの回避方法をご教授願えませんでしょうか。

エラーの発生場所は objIE.Document.getElementsByName("username")(0).Value = SiteID
あたりだとは思うのですが、何が原因かがわからなく。。

○エラーメッセージ
エラー:オブジェクトがありません。:'objIE.Document.getElementByName(...)(...)'
コード:800A01A8
ソース:Microsoft VBScript 実行時エラー

○コード
'Option Explicit

Dim tmp 'CSV格納
Dim tmp2 'CSV分割
Dim SiteArray(10) 'ID,PW,URL格納
Dim SiteURL 'URL格納
Dim SiteID 'ID格納
Dim SitePW 'PW格納

Dim i
dim objFSO
dim stmCsvFile

'URL,ID,PWをCSVより読込
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set stmCsvFile = objFSO.OpenTextFile("C:\Users\***\Desktop\login.csv")

Do Until stmCsvFile.AtEndOfLine = True
tmp = stmCsvFile.readline
tmp2 = Split(tmp, ",")
SiteArray(i) = tmp2(1)
i = i + 1
Loop

stmcsvfile.Close


'URL,ID,PWを格納
SiteID = SiteArray(1)
SitePW = SiteArray(2)
SiteURL = SiteArray(0)

'---------- ひらく

Set objIE = CreateObject("InternetExplorer.application")
objIE.Visible = True
objIE.Navigate SiteURL
Do Until objIE.busy = False And objIE.readyState = 4 : Loop '待ち合わせ

'---------- ID/PASSの入力

objIE.Document.getElementsByName("username")(0).Value = SiteID
objIE.Document.getElementsByName("password")(0).Value = SitePW

'---------- SUBMIT

objIE.Document.getElementsByName("login_form")(0).Submit
Do Until objIE.busy = False And objIE.readyState = 4 : Loop '待ち合わせ

'----------

宜しくお願い致します。

タイトルの件ですが、現在CSVよりIDとPWを読み込み、Webページに自動ログインできるVBSを作成しております。
ネットの情報を頼りに下記ソースを作成し、自動ログインできるところまでは達成しました。
しかしながら、一回目の実行時はいいのですが、二回目以降時間を置かずにVBSを起動すると
エラーが発生します。(IEは起動し、ログイン自体は出来ます)
本エラーの回避方法をご教授願えませんでしょうか。

エラーの発生場所は objIE.Document.getElementsByName("username")(0).Value = SiteID
あたりだ...続きを読む

Aベストアンサー

こんにちは。

>コメント頂いた箇所を下記の通り処理を変更しましたが現象はほぼ変わりませんでした。

#1で私の書いた、IsObjectは一般論ですが、個別の問題になるとかなり話は込み入ってしまうから、やめておいたことですが、なんといっても、VBSで、どのように開発しているかは分かりませんが、そのオブジェクトのプロパティとか、確認をして開発したのでしょうか。

>Set upw =objIE.Document.getElementsByName("password")
の時点で、upw を確認できない状態ですと、
upw(0) という「添字(index)」があるかどうかさえ確認できませんよね。
その辺りはどうなんでしょうか?それで、Length プロパティを調べるように書いたわけです。

ふつう、例えば、ここの「教えて!goo」なんかでも、IDとパスワードは、きちんと、[ID(uname, pass)]を持っています。そしてIDには、添字は存在しません。

VBAがあれば、VBEditorのローカルウィンドウで、そのプロパティを確認していただくしかないと思います。もしかしたら、最初からとれていないのかもしれません。

こんにちは。

>コメント頂いた箇所を下記の通り処理を変更しましたが現象はほぼ変わりませんでした。

#1で私の書いた、IsObjectは一般論ですが、個別の問題になるとかなり話は込み入ってしまうから、やめておいたことですが、なんといっても、VBSで、どのように開発しているかは分かりませんが、そのオブジェクトのプロパティとか、確認をして開発したのでしょうか。

>Set upw =objIE.Document.getElementsByName("password")
の時点で、upw を確認できない状態ですと、
upw(0) という「添字(index)」があるか...続きを読む

Q起動しているIEをVBSで閉じるときの問題・・・

VBスクリプトで起動しているIEを探し特定のサイトであればウィンドウを閉じたいのですがどのようにすればよいのでしょうか?

Dim ObjIE
Dim ObjShell
Dim ObjWindow
Dim WinExist

WinExist = False
Set ObjShell = CreateObject("Shell.Application")
For Each ObjWindow In ObjShell.Windows
If TypeName(ObjWindow.Document) = "HTMLDocument" Then
WinExist = True
Set ObjIE = ObjWindow
End If
Next
Set ObjShell = Nothing

If Not WinExist = True Then
Set ObjIE = CreateObject("InternetExplorer.Application")
End If

If objIE.Document.URL = "http://www.yahoo.co.jp/" Then
objIE.quit
End If
If objIE.Document.URL = "http://www.excite.co.jp/" Then
objIE.quit
End If
If objIE.Document.URL = "http://www.google.co.jp/" Then
??????????
End If




例えばディスプレイ上にYahoo、Excite、Googleのホームページがそれぞれ立ち上がっていたとします。
もしYahooがあれば閉じて次にExciteを探しあれば閉じて、次にGoogleのページがあればそのままにし後の処理を行わず終わらせたいのですが・・・もしGoogleが開いていればこれ以降の処理を全てすっ飛ばして終了にしたいのですが・・・
また、If thenを繰り返してばかりで汚いコードのような気もします。
これをやっていてYahoo、Excite、Google全て開いていた場合何故かエラーが出て終了してしまいます。
どなたかいい方法があれば教えて下さい。

VBスクリプトで起動しているIEを探し特定のサイトであればウィンドウを閉じたいのですがどのようにすればよいのでしょうか?

Dim ObjIE
Dim ObjShell
Dim ObjWindow
Dim WinExist

WinExist = False
Set ObjShell = CreateObject("Shell.Application")
For Each ObjWindow In ObjShell.Windows
If TypeName(ObjWindow.Document) = "HTMLDocument" Then
WinExist = True
Set ObjIE = ObjWindow
End If
Next
Set ObjShell = Nothing

If Not WinExist = True Then
Set ObjIE = CreateObject("In...続きを読む

Aベストアンサー

掲題のプログラムでは難しいですね。何がどう違うとか指摘できる
レベルではないようなので、一例を示します。

ReDim Obj(0)
Max = -1
Set ObjShell = CreateObject("Shell.Application")
For Each ObjWindow In ObjShell.Windows
   If ObjWindow.Type = "HTML ドキュメント" Then
      Select Case ObjWindow.LocationURL
          Case "http://~", "http://~",・・・ '★
              Max = Max + 1
              ReDim Preserve Obj(Max)
              Set Obj(Max) = ObjWindow
      End Select
   End If
Next
For I = 0 To Max
    Obj(I).Quit
Next

★ ここで、終了させたいURLを並べます。
あるいはLocationName(タイトルバー)の内容で判断する方法も
あります。If Then の繰り返しが嫌ならSelect Case文があります。
http://msdn.microsoft.com/ja-jp/library/cc392472.aspx

※上記はインデントに漢字空白を使っています。コピペ注意

掲題のプログラムでは難しいですね。何がどう違うとか指摘できる
レベルではないようなので、一例を示します。

ReDim Obj(0)
Max = -1
Set ObjShell = CreateObject("Shell.Application")
For Each ObjWindow In ObjShell.Windows
   If ObjWindow.Type = "HTML ドキュメント" Then
      Select Case ObjWindow.LocationURL
          Case "http://~", "http://~",・・・ '★
              Max = Max + 1
              ReDim Preserve Obj(Max)
...続きを読む

Qブラウザ起動~ログインまでのバッチ化

ブラウザを立ち上げ、特定のページにアクセスし(例えばmixi)、
IDとパスワードを入力してログイン、という作業を
バッチ化できないものかと考えているのですが、可能でしょうか?
可能でしたら、やり方を教えてください。

Aベストアンサー

ユーザ名とパスワードの入力画面は必要が無いという意見もありますが(そして mixi の場合それは真ですが)、ページによってはセッションIDなどが発行されるため、どんな時でも必要がないわけではありません。

と前置きしておいて、私だったら ruby win32ole で自動化するかなあ。
mixi だったらこんな感じ。

#!ruby -Ks
require "win32ole"
ie = WIN32OLE.new("InternetExplorer.Application")
ie.Navigate("http://mixi.jp/")
ie.Visible = true
wait_load(ie)
while ie.Busy
sleep 1
end
ie.Document.getElementByID("email").Value = "your@mail.address"
ie.Document.getElementByID("password").Value = "yourpassword"
inputs =ie.Document.getElementsByTagName("input")
inputs.item(4).click

ユーザ名とパスワードの入力画面は必要が無いという意見もありますが(そして mixi の場合それは真ですが)、ページによってはセッションIDなどが発行されるため、どんな時でも必要がないわけではありません。

と前置きしておいて、私だったら ruby win32ole で自動化するかなあ。
mixi だったらこんな感じ。

#!ruby -Ks
require "win32ole"
ie = WIN32OLE.new("InternetExplorer.Application")
ie.Navigate("http://mixi.jp/")
ie.Visible = true
wait_load(ie)
while ie.Busy
sleep 1
end
ie.Do...続きを読む

QvbscriptでIE自動入力(途中で出てくるポップアップをクリックしたい)

IEで自動化入力をvbscriptで作っております。
次々に問題というか知識の無さでつまづいています。お知恵を貸してください。

IE自動入力をしていくと、途中のクリックで次画面に
進むところでポップアップが浮き上がりスクリプトが止まってしまいます。

ポップアップの内容は、
タイトルが「セキュリティの警告」
内容が「このサイトと取り交わす情報は、ほかの人から読み取られたり変更されることは
ありません。しかし、このサイトのセキュリティ証明書には問題があります。、、、」
と出まして、
「はい(Y)」「いいえ(N)」「証明書の表示(V)」と選択肢があります。
手動で「はい」をクリックするか、Yキーを押すとまたスクリプトが進み始めます。

これを自動でクリックするためにはどうしたらいいんでしょうか。
いろいろ調べてこうして見ました。

Set wshshell=wscirpt.createobject("wscript.shell")
wshshell.AppActivate("セキュリティの警告")
wshshell.sendkeys "y"

これでは、全く動きません。おそらくこのウィンドウにコントロールが行ってないと思います。
他の手立てを教えてください。よろしくお願いします。

IEで自動化入力をvbscriptで作っております。
次々に問題というか知識の無さでつまづいています。お知恵を貸してください。

IE自動入力をしていくと、途中のクリックで次画面に
進むところでポップアップが浮き上がりスクリプトが止まってしまいます。

ポップアップの内容は、
タイトルが「セキュリティの警告」
内容が「このサイトと取り交わす情報は、ほかの人から読み取られたり変更されることは
ありません。しかし、このサイトのセキュリティ証明書には問題があります。、、、」
と出まして、
...続きを読む

Aベストアンサー

ポップアップが表示されるより早く、yが送られてしまってるんでしょう。
ポップアップが表示されるのを待たないとね。

Set wshshell=wscirpt.createobject("wscript.shell")

'セキュリティの警告が表示されるまで待つ
Do Until wshshell.AppActivate("セキュリティの警告")
WScript.Sleep 100
Loop

'セキュリティの警告が消えるまでyを送る
Do While wshshell.AppActivate("セキュリティの警告")
wshshell.sendkeys "y"
WScript.Sleep 100
Loop

永久ループに陥らないように、適度にループ抜けを入れておけばいいでしょう。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング