2016-12-13 6 views
0

Я создаю инструмент для работы, который генерирует новый элемент проекта на нашей sharepoint. В sharepoint у нас есть форма, которая должна быть заполнена, и для идентификации текстовых полей формы я использую команду IE.Document.All.Item("id").value=value.IE. Document.items.all не работает hta

Он работает в отдельном файле vbs, но когда я пытаюсь запустить его из hta, он блокируется командой IE.Documents.All.item. Кто-нибудь знает, как это решить?

код выглядит следующим образом (язык: VBScript):

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

Мммм, я работаю с:

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

или

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

Возможно, помогает, Рейнхард

+0

Привет Reinhard, Спасибо за ваш ответ. Однако он не работает, поскольку он все еще вызывает ошибку: «неопределенная ошибка». Возможно, это «.document». Возможно, он не определен для vbscript при использовании hta – Patty

+0

Я просто в тупике. Является ли текстовое поле внутри hta? Затем вы можете получить доступ к элементу только с их идентификатором или именем, поэтому «projectid.Value =« projectname »должно работать. Или текстовое поле в другом html-файле, и вы хотите заполнить его из hta-файла, используя код vbs? – ReFran

+0

Привет, ReFran, текстовое поле находится на стороннем веб-сайте, и я стараюсь заполнить его с помощью ввода моего собственного локального hta. Я работал над этим, сохраняя мои данные в txt-файле и запуская vbs, который заполняет текстовые поля (теперь, анализируя текстовый файл) на веб-сайте за пределами среды hta. – Patty

0

Это должно сработать. Испытано под Win10 с IE11:

Сначала 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> 

Enjoy, Reinhard

Смежные вопросы