Sub loginaccesstrade()
ID = "otameshi"
Password = "ekuseru"
Const navOpenInNewTab = &H800
Set objShell = CreateObject("Shell.Application")
'開いているIEの数を数えてみる。
lngCount = 0
For Each objWindow In objShell.Windows
lngCount = lngCount + 1
Next
'IEオブジェクトがないときは、新しく作成する
If lngCount = 0 Then
objShell.Windows.Item.Navigate2 "http://www.google.co.jp/
" '← 一例でグーグルを開いてみました。
Else
’IEが開いていたら新しいタブで、指定したURLで開きます。
'↑でも、IE開いてなくてもページ開いちゃいますけどね。。。 NAVIFGATE2 をもっと調べないと。
objShell.Windows.Item(lngCount - 1).Navigate2 "https://member.accesstrade.net/at/p/login.do ", navOpenInNewTab '新しいタグで指定しURLを開く
p = lngCount + 1 '今開いているURLのページを指定したいのでいったん、lngCount の値をpに代入 ( lngCount のままだとうまく動かないのですよ)
Set objIE = objShell.Windows.Item(p - 1)
objIE.document.All.UserName.Value = ID
objIE.document.All.Password.Value = Password
objIE.document.Forms(0).submit
End If
こんな感じできました。
あまり美しくないですね。
Navigate2では新しいページは開かないのかと思っていましたが、 なぜか開きます f(^^;
でも、とりあえずできたのでめでたし。 (←それでいいのか!?)
謎はIEのウィンドウのカウントが実際に開いているよりも 1 多いんですよね。
何を持って・・・ 1 多いのでしょう?
IEそのものをカウントしているのかな?