Загрузка в Интернет с помощью VBA - PullRequest
0 голосов
/ 01 апреля 2019

<div id="xe-editor-container-1" class="input_area xpress_xeditor_editing_area_container" style="height: 400px;">
 <iframe id="editor_iframe_1" allowtransparency="true" frameborder="0" src="http://my_URL.or.kr/xe/modules/editor/styles/default/editor.html" scrolling="yes" style="width: 100%; height: 400px; display: block;">
      <html xmlns="http://www.w3.org/1999/xhtml>
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <link rel="stylesheet" type="text/css" href="editor.css">
      <title>XpressEngine</title>
      </head>
      <body class="xe_content editable"></body>
      </html>			
 </iframe>
 <textarea id="xpress-editor-1" rows="8" cols="42" style="display: none; width: 100%;"></textarea>
 <textarea rows="8" cols="42" class="input_syntax " style="display:none"></textarea>
</div>

Я хочу скопировать две таблицы, ListObjects ("Tbl1") на Sheet1, ListObjects ("Tbl2") на Sheet2, и загрузить их как один пост в Интернете.

Диапазон таблицы можно изменять каждый раз.

Вход в Интернет, переход к доске объявлений, нажатие кнопки записи и ввод заголовка выполнены успешно.

Но мне не удалось загрузить сообщение.

Возможно, вы не можете найти объект доски объявлений.

Код, созданный при поиске в Интернете.

HTML-код вышеHTML-код доски.

With ie
    .navigate "http://my_URL/offering"
    ieBusy ie   'Procedure fetched as search (check the ready status)

    .Document.getElementsByClassName("ico_16px write")(0).Click
    ieBusy ie

    Dim oTitle As Object, Ocontents As Object

    Set oTitle = .Document.getElementsByname("title")(0)   'Sometimes fail(sometimes Nothing)
    Set oContents = .Document.getElementsByClassName("xe_content editable")(0) 'evry time fail(=Nothing)

    oTitle.Value = "my Title"
    oContents.Value = ????
    .Document.forms(0).submit   'I could not confirm it because it did not work anymore.

End With
Sub ieBusy(ie As Object)
    Do While ie.Busy Or ie.readyState < 4
        DoEvents
    Loop
End Sub

title HTML

enter image description here

доска HTML

enter image description here

1 Ответ

0 голосов
/ 01 апреля 2019

1) Используйте дополнительный временной цикл для установки oTitle в соответствии с https://stackoverflow.com/a/55334183/6241235

2) Ваша переменная oContents выбирает элемент, который находится внутри фрейма, я думаю.Я ожидаю, что вы вместо этого нацелитесь на элемент textarea.Есть два, которые идут после iframe.Первый имеет идентификатор xpress-editor-1

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