1. VisualBasic / Говнокод #26971

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    REM I'm trying to do some simple webscraping in OpenOffice (I usually work in Excel but I'm trying to port 
    REM something over for a coworker that doesn't have Excel). 
    REM However, when I try to run something very similar to this, it keeps giving me this BASIC runtime error 1.
    
    Sub Macro1
        Dim explorer As Object
        Set explorer = CreateObject("InternetExplorer.Application")
        explorer.Visible = True
        explorer.navigate("www.yahoo.com")
        
        Const READYSTATE_COMPLETE As Long = 4
        Do While explorer.Busy Or explorer.readyState <> READYSTATE_COMPLETE
        Loop
    
        dim page as object
        set page = explorer.Document
        
        dim mailButton as object
        set mailButton = page.GetElementByID("ybar-navigation-item-mail") 'this is the line the error occurs on
        mailButton.Click
    End Sub

    а чего бы нам не краулить сайты, запуская IE через BASIC в экселе

    https://stackoverflow.com/questions/64010764/is-webscraping-with-openoffice-basic-even-possible

    Запостил: Fike, 22 Сентября 2020

    Комментарии (26) RSS

    • Переведи на делпхи.
      Ответить
    • Единственный ответ:

      «Do you know that you can save script in vbs file (you have to delete types in variables declarations) and run it directly by double click without using office application? I recommend you to use this way».

      Именно поэтому я против стака, любой лалке там нужен исключительно рейтинг, поэтому у зарегистрированных пользователей есть непреодолимое желание получить баллы или чё там у них любым способом. Вот этот индивидуум, например, не ответил на вопрос, а насрал каким-то бестолковым советом, поучая senior enterprise Excell девелопера.
      Ответить
    • Хм, т.е. можно сделать экселевский файл, который собирает треды ГК в табличку?

      До чего дошел прогресс.
      Ответить
      • На Экселе даже рендерят 3д питушню, так что почему бы и нет

        А таблички потом можно заливать на гитхаб, получится архив с говнокодами
        Ответить
      • > можно сделать экселевский файл, который собирает треды ГК в табличку?

        Это всё ещё фигня, и уже 20 лет назад как доступно.
        Самая круть была в другом.

        У CreateObject был второй аргумент, который задавал удалённую машину, на которой можно было создать COM-объект.
        Ответить
      • В «C++» тоже, кстати, можно сделать экселевский файл, который собирает треды ГК в табличку.
        Ответить
        • А можно ли в «C++» сделать такого бота, который будет рассказывать о возможностях «C++»?
          Ответить
          • Хорошая идея. Передали в аналитический отдел, думаем.
            Ответить
            • Можно отвечать на комменты с кейвордами «может» и «можно» и выбирать рандомом из пары-тройки готовых фраз.
              Ответить
    • > CreateObject ("InternetExplorer.Application")
      ...
      > set mailButton = page.GetElementByID("ybar-navigation-item-mail")

      Я сначала удивился, что опеноффисовцы даже смогли написать поддержку изъёбистых COM/DCOM/OLE-протоколов MSa.
      А потом понял что не смогли :(
      Ответить
      • Где ж они ИЕ возьмут кроссплатформенный?
        Ответить
        • В wine :)
          Ответить
        • В FF есть какие-то accessibility сервисы.
          https://support.mozilla.org/en-US/kb/accessibility-services#w_what-is-firefox-accessibility-service


          А вот в Линуксе и поныне нет похожего функционала. Чтобы из коробки 3rd party скриптуха могла плодить объект приложения.

          И оно заэкспортило свою объектную модель, через которую можно полностью им управлять.

          Оверинжинирный D-BUS так вообще не умеет.
          Ответить
          • Погуглил. Оказывается мои сведенья устарели.

            Джва года назад в FF наконец-то завезли поддержку D-BUS.
            https://utcc.utoronto.ca/~cks/space/blog/unix/FirefoxDBusRemoteControl
            Ответить
            • Представил себе веб-браузер с большими буквами в шапке: «ЭТО Д-БУС».
              Ответить
    • https://www.pinterest.ru/ekaterinabatorova02/%D1%85%D1%83%D0%B9%D0%BD%D1%8F-%D0%B8%D0%B7-%D0%BF%D0%BE%D0%B4-%D0%BA%D0%BE%D0%BD%D1%8F/
      Ответить

    Добавить комментарий