Как я могу удалить HTML элемент в VBA Excel - PullRequest
0 голосов
/ 30 апреля 2020

Я работаю над кодом, который использует VBA-Excel для перехода на веб-сайт и автоматизации ежедневных задач, которые я выполняю. Сказав это, я застрял между попытками удалить элемент html. Следующий код js отлично работает, т. Е.: -

var elmnt = document.getElementById("foregxyz");
elmnt.remove();

Как я могу сделать вышеупомянутые 2 строки кода js в VBA Excel?

Я пробовал следующее, но без результат Пожалуйста, помогите, спасибо заранее.

Sub DailyTask()

    Dim ie As InternetExplorer
    Set ie = New InternetExplorerMedium
    Dim url As String
    Dim elementToBeDeleted As String
    url = "https://www.example.com"

    ie.Visible = True
    ie.Navigate url

    While ie.Busy
    DoEvents
    Wend

    ie.Document.getElementsByTagName("select")("toDOList").Value = "TEST1"
    ie.Document.getElementsByTagName("select")("scheduleDate").Value = "TEST2"
    ie.Document.getElementsByTagName("select")("descriptionTask").Value = "TEST3"

    'Many more of data entry until submitting the form works fine . 

    elementToBeDeleted = ie.Document.getElementById("xyz") 
    Call DeleteTagById(elementToBeDeleted)

    Set ie = Nothing
    End Sub

    Function DeleteTagById(elementToBeDeleted As String) As String

    On Local Error GoTo MyError

    Dim HTMLDoc As HTMLDocument
    Dim Node As IHTMLDOMNode

    If elementToBeDeleted = "" Then GoTo MyExit

    Set HTMLDoc = New HTMLDocument
    Set Node = HTMLDoc.getElementById("xyz") 'Node always equals to nothing , why ? hence i get stuck here and cant move further.

    'If Node Is Nothing Then GoTo MyExit
    Node.ParentNode.RemoveChild Node      'this line gives me run time error 91 object variable or with block variable not set . 

MyExit:
    Set Node = Nothing
    Set HTMLDoc = Nothing
    Exit Function
MyError:
    'Handle Error
    Resume MyExit

End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...