プロが教える店舗&オフィスのセキュリティ対策術

VBAを使ってIEのあるWEBサイトに自動ログインし、フォームに入力する処理を考えています。しかし、その処理の中で下記の「発注入力フォーム」ボタンをクリックする処理方法がわかりません。
どなたかアドバイスをお願いします。

DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>メインメニュー :: WEB発注メールフォーム</title>
<link href="css/menu.css" rel="stylesheet" type="text/css" />
</head>

<body>

<div id="wrapper">

<div id="user_name">
<p>
ようこそ
</p>
</div>

<div id="menu_area">
<div id="gnavi">
<ol>
<li id="gnavi1"><a href="./tutorial/index.html">チュートリアル</a></li>
<li id="gnavi2"><a href="./?mode=order">発注入力フォーム</a></li>
<!-- <li id="gnavi3"><a href="#">修正依頼フォーム</a></li> -->
<li id="gnavi4"><a href="./tutorial/about.html">発注・使用に関して</a></li>
<li id="gnavi5"><a href="./?mode=contact">総合お問合せ</a></li>
<li id="logout"><a href="./?mode=logout">ログアウト</a></li>
</ol>
<p style="font-weight:bold;color:white;font-size:13px;">
似顔絵・写真撮影・交通案内図のサービスを<br />
ご要望の際は、一度お問い合せ下さい。
</p>
</div>
</div>
</div>

</body>
</html>

A 回答 (2件)

すごい勘違いがあるような


下は、fc2 ブログの新投稿のロジック
クリックっても
If sel.value = "ログイン" Then
sel.Click
End If
だけなんだけど・・・

Set netobjIE = CreateObject("internetExplorer.application")
url = "http://admin.blog.fc2.com/ *****/new"

With netobjIE
.navigate url
.Visible = True
Do While .Busy = True
DoEvents
  Call Sleep(200)
If .Busy = False Then
Exit Do
End If
Loop
Do While .document.readyState <> "complete"
DoEvents
   Call Sleep(200)
If .document.readyState = "complete" Then
Exit Do
End If
Loop
’ お約束の待ち処理
Dim in_str As String
Dim doc As HTMLDocument
Set doc = netobjIE.document
Dim sel As IHTMLInputElement

in_str = "ログイン FC2 - 無料ホームページ"
'Debug.Print InStr(IE.document.Title, in_str)
If InStr(netobjIE.document.Title, in_str) > 0 Then

Set sel = doc.getElementsByName("id")(0)
sel.value = "*****@qg8.so-net.ne.jp"

Set sel = doc.getElementsByName("pass")(0)
sel.value = "*******"

Set sel = doc.getElementsByName("image")(0)

If sel.value = "ログイン" Then
sel.Click
End If
’これは・・ログイン しかないからだけど
    • good
    • 0
この回答へのお礼

ありがとうございます
まだタグについて理解できていないので勉強します

お礼日時:2017/05/23 13:34

http://www.vba-ie.net/form/submit.html

idを全部取得して FORで回して、
id="gnavi2" に成ったら、クリック
    • good
    • 0
この回答へのお礼

下記のように記述したのですが「このプロパティまたはメソッドをサポートしていません」とエラーになります。どこが間違っているのでしょうか?
'ボタンを押す関数
Public Function ID_ButtonClick(ByRef objIE As Object, buttonValue As String)
Dim objInput As InternetExplorer

For Each objInput In objIE.document.getElementsById(butonValue)
If objInput.value = buttonValue Then
objInput.Click
Exit For
End If
Next
End Function

お礼日時:2017/05/20 09:33

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