2016-12-13 13 views
0

私は、私たちの共有ポイントに新しいプロジェクト項目を生成する作業のためのツールを作っています。 共有ポイントには記入する必要があるフォームがあり、フォームのテキストフィールドを識別するために私はIE.Document.All.Item("id").value=valueコマンドを使用します。IE。 Document.items.allが動作しないhta

別のvbsファイルで動作しますが、htaから起動しようとすると、IE.Documents.All.itemコマンドでブロックされます。誰かがこれを解決する方法を知っていますか? (:VBScriptランゲージ):

コードは、次のようになります。おそらく、その

oIe.document.getElementById("testMsgBox").value = "hallo" 

または

oIE.document.all.testMsgBox.value = "hallo" 

Sub SendProjectData 
    Set IE = CreateObject("InternetExplorer.Application") 
    set WshShell = CreateObject("WScript.Shell") 
    IE.Navigate "https://sharepointpage" 
    IE.Visible = true 
    sleep1 6000 'external defined sleep command' 

    IE.Document.All.Item("projectid").Value = "projectname" 
    WshShell.AppActivate "IE" 
    WshShell.SendKeys "{ENTER}" 
End Sub 

答えて

0

Mmmhは、私が仕事します助け、ラインハルト

+0

こんにちはラインハルトをお楽しみくださいは、返信してくれてありがとう。しかし、それでもエラーを表示するので動作していないようです:「不特定のエラー」。おそらく、それは ".document"です。htaを使用しているときは、おそらくvbscriptのために定義されていません。 – Patty

+0

私はちょうど困惑しています。テキストフィールドはhtaの中にありますか? IDや名前だけで要素にアクセスできるので、 'projectid.Value = "projectname"'はうまくいきます。または、他のhtmlファイルのテキストフィールドで、vbsコードを使ってhtaファイルから入力したいのですか? – ReFran

+0

こんにちはReFran、テキストフィールドは、サードパーティのWebサイトにあり、私は自分のローカルhtaからの入力でそれを記入しようとします。私はtxtファイルに自分の入力を保存し、hta環境の外にあるウェブサイト上のテキストフィールド(現在はテキストファイルを解析して)を埋め込むvbsを実行して作業しました – Patty

0

これは機能するはずです。 IE11とWin10の下で試験:

まずHTMLテストファイル:今すぐ

<html> 
    <head><title>MyInputFile</title></head> 
    <body> 
    <h1>IE with Input field</h1> 
    <input type="text" id="myText" value="Default text" size="20"> 
    </body> 
</html> 

HTAファイル、HTMLファイルに記入する:

<html> 
<head> 
<title>Hypertext-Application Demo</title> 
<HTA:APPLICATION ID="oHTA"> 
<script language="vbscript"> 
    sub Window_Onload 
     self.resizeto 500,200 
     self.MoveTo 50,50 
    End Sub 

    Sub fillHta() 
     myText.value = "New Text" 
    End Sub 

    Sub startAndFill() 
     set wsh = CreateObject("WScript.Shell") 
     'Set oIE = CreateObject("InternetExplorer.Application") 
     Set oIE = GetObject("new:{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}") 
     oIE.Navigate "d:\MyInputFile.html" 
     oIE.Visible = true 
     Do: Loop Until oIE.Busy = False 
     Do: Loop Until oIE.Document.ReadyState = "complete" 

     oIe.document.getElementById("myText").value = "New Text" 'use this 
     x = oIe.document.getElementById("myText").value 
     oIE.document.all.myText.value = x & "; New Text2" 'or this 
    End Sub 
</script> 
</head> 
<body bgcolor="#99CCFF"> 
<p>Simple Demo of Hypertext Applikationen</p> 
<input type="button" value="Fill HTA input field" onclick="fillHta()"> 
<input type="text" id="myText" value="Default text" size="20"> 
<p><input type="button" value="start and fill IE field" onclick="startAndFill()"> D:\MyInputFile.html</p> 
</body> 
</html> 

は、ラインハルト