Код VBA работает в режиме отладки, но не во время выполнения - PullRequest
0 голосов
/ 03 января 2019
    Public myHTTP As MSXML2.XMLHTTP60
    Sub SendXML()
    Dim response As String 
    Dim MyXmlHttpHandler As CXMLHTTPHandler 
    Dim myxml As String 
    Dim a As String
    Dim URL2 As String 
    Dim FSO As Object
    Dim NewFile As Object
    Dim XMLFileText As String

    If Not myHTTP Is Nothing Then Set myHTTP = Nothing

    Set myHTTP = New MSXML2.XMLHTTP60
    Set MyXmlHttpHandler = New CXMLHTTPHandler
    MyXmlHttpHandler.Initialize myHTTP
    myHTTP.OnReadyStateChange = MyXmlHttpHandler
    myxml = "D:\1.xml"
    myHTTP.Open "get", myxml, True
    myHTTP.send (myxml)
    a = myHTTP.responseText
    URL2=Workbooks("MainSheet.xlsm").Worksheets("OTHERS").Range("I2").Value
    If Workbooks("MainSheet.xlsm").Worksheets("OTHERS").Range("h2").Value = vbNullString Or Workbooks("MainSheet.xlsm").Worksheets("OTHERS").Range("h3").Value = vbNullString Then
    MsgBox "User not defined server database address or port number...!!!" & vbNewLine & " Failed.."
    Exit Sub
    End If

    myHTTP.Open "POST", URL2, True
    myHTTP.send (a)

    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set NewFile = FSO.CreateTextFile("D:\response.XML", 1, 1)
    XMLFileText = ""
    NewFile.write (XMLFileText & myHTTP.responseText & vbNewLine)  ‘---------error occurred here not printing my response.text in new file.

    End Sub

Я уже пробовал при возобновлении ошибки далее, он просто печатал пустой файл.

Я также пробовал при ошибке goto errorhandler, но он также не смог сказать окно диалога ошибки времени выполнения ....

Я просто хочу сохранить текст ответа в xml-файле без диалогового окна с ошибкой ..

Ответы [ 2 ]

0 голосов
/ 03 января 2019

Для будущих читателей

Изменить последний аргумент с True на False

myHTTP.Open "POST", myxml, False

Разрешить время для завершения

0 голосов
/ 03 января 2019

Это большой файл?Зачем использовать асинхронную оболочку таким образом?Почему бы не простой xmlhttp POST запрос с ложным аргументом- QHarr 8 минут назад

этот комментарий решил мою ошибку ..... thnks

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