将文本从Excel VBA发送到ServiceNow文本区域

时间:2019-05-12 20:26:50

标签: excel vba servicenow

我正在尝试使用VBA填写ServiceNow票务工具中的文本区域

到目前为止,我已经成功地使用了这种方法和这个确切的代码(不包括网站的标题和文本区域ID)来在不同的票证工具中填写文本区域,但是在ServiceNow中,由于某种原因它什么也没做。

它似乎确实可以很好地连接到页面,因为我可以在标题上获得返回值(使用VBA打开新的IE实例并对其进行挂钩也无济于事),但是在尝试将值设置为文本区域(描述字段,或与此相关的任何其他文本区域),它不会通过+发送任何文本,也不会为网页上的任何其他ID返回任何值。

我尝试以几种不同的方式来执行此操作,例如使用.innerHTML,.Value和.text,但似乎没有一个发送或返回任何值,将其设置为对象,并使用纯IE.document.getElementById( “ incident.comments”)。value =“ test”,但无砧座。

任何有关我可能在做错事情的指针将不胜感激。

Sub Test()



    Dim IE As Object
    Set IE = CreateObject("InternetExplorer.Application")



    marker = 0
Set objShell = CreateObject("Shell.Application")
IE_count = objShell.Windows.Count
For X = 0 To (IE_count - 1)
    On Error Resume Next
    my_url = objShell.Windows(X).document.Location
    my_title = objShell.Windows(X).document.Title

    If my_title Like "INC0010005" & "*" Then
        Set IE = objShell.Windows(X)
        marker = 1
        Exit For
    Else
    End If
Next


If marker = 0 Then
    MsgBox ("Website not found")
    Exit Sub
End If


'trying to send "test" text into the field, nothing comes up
   Set notesObj = IE.document.getElementById("incident.comments")
   notesObj.Value = "test"

   tests = IE.document.getElementById("incident.comments").innerHTML

'testing for return value (comes up as empty message box each time)
   MsgBox (tests)


Set evt = IE.document.createEvent("keyboardevent")
evt.initEvent "change", True, False
    notesObj.dispatchEvent evt



End Sub

以及说明的文本区号:

<textarea name="incident.comments" class="form-control" id="incident.comments" aria-required="false" style="height: 64px; overflow: hidden; -ms-overflow-y: hidden; -ms-word-wrap: break-word;" spellcheck="true" onkeydown="multiKeyDown(this);;" onkeyup="multiModified(this);fieldTyped(this);" onkeypress="" onfocus="this.isFocused=true;" onblur="this.isFocused=false;" onchange="this.isFocused=false;multiModified(this)" wrap="soft" autocomplete="off" data-type="glide_journal_input" data-ref="incident.comments" data-charlimit="false" data-length="4000"></textarea>

0 个答案:

没有答案