2016-09-23 4 views
0

VBAを使用してWebデータベースからデータを抽出する必要があります。これを行うには、ページWebがあります。データが保存されました(Webページ:appinvtinywebdb.appspot.com/getvalue) WebページにアクセスするためのVBAマクロ(以下のコード)を作成し、入力テキストに適切なタグを書き込んでSubmitボタンをクリックし、私はウェブナビゲータのデータを(文字列形式で)見ることができますページを変更した後、ウェブページからテキストを抽出する

問題はVBAに文字列をコピー(抽出)したいときです。コードは私に前のWebページから文章と文字列を与えます同じURL) どうすれば新しいページplsを読むことができますか?

Sub Lancer_Edoc() 
Dim ie As New InternetExplorer 
Dim MyStr As String 

Set ie = New InternetExplorer 

ie.Navigate2 "http://appinvtinywebdb.appspot.com/getvalue" 

While ie.Busy Or ie.ReadyState <> READYSTATE_COMPLETE 
    DoEvents 
Wend 

ie.Visible = True 

Dim htmldoc As HTMLDocument 
Dim htmlForms As IHTMLElementCollection 
Dim htmlForm As HTMLFormElement 
Dim HtmlElementStandard As HTMLGenericElement 
Dim LeTexteExtrait As String 

' Set htmldoc = ie.document 
' obtient collection des formulaire de la page 
'Set htmlForms = htmldoc.getElementsByTagName("tag") 
' référence le formulaire de login 
'Set htmlForm = htmlForms.namedItem("frmLogin") 
' remplit les cases 
Set oDoc = ie.document 
' Valeur recherchée 
oDoc.getElementsByName("tag")(0).Value = "trait" 
oDoc.getElementsByTagName("form")(0).submit 
'Allons chercher ce texte dans notre Item46 
Dim iet As New InternetExplorer 

Set htmldoc = ie.document 

Set HtmlElementStandard = htmldoc.body.all(0) 

'On le place dans notre variable prévue à cet effet 
LeTexteExtrait = HtmlElementStandard.innerText 
'On affiche le texte 
MsgBox LeTexteExtrait, Title:="Le texte extrait de la page" 

End Sub 

ありがとうございました!代わりにIEを使用しての直接接続のための:)

答えて

0

ゴー:

Private Sub ConnectAndSubmitValue 

Dim oHTTP As MSXML2.ServerXMLHTTP60 
Dim URL As String 
Dim res As String 
Dim resHTML As HTMLDocument 
Dim YOURTEXT as string 

YOURTEXT = EncodeUrl("I ENTERED THIS TEXT") 

Set resHTML = New HTMLDocument 
Set oHTTP = New MSXML2.ServerXMLHTTP60 
    URL = "http://appinvtinywebdb.appspot.com/getvalue" 
    res = "tag=" & YOURTEXT & "&fmt=html" 

    With oHTTP 
     .Open "POST", URL, False 
     .SetRequestHeader "Content-Type", "application/x-www-form-urlencoded" 
     .Send (res) 

     res = .responseText 
     resHTML.body.innerHTML = .responseText 
    End With 

End Sub 

これは、文字列内のHTML文書全体、あなたが好きなように操作するresHTML HTMLドキュメントとしてあなたにresを与えるだろう。

+0

ありがとうございました。 私のプログラムで "EncodeUrlが定義されていません"という問題があります。特定のライブラリが必要ですか? –

+0

インターネットで見つかった "エンコーダURL"機能を使用しました。 出力 "res"は、奇妙な形式です: ["VALUE"、 "\" sbj:\ uc131 \ ubc31 \ uc9c4:\ uc5ec \ uac00:\ ub09a \ uc2dc:\ uc704 \ ub3c4:37.48062 、\ uacbd \ ub3c4:126.85918:0 \ ""] 私はそれをテキストに変換できますか? ありがとうございます:) –

関連する問題