Школоло / Говнокод #26971 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 Fike, (Updated )

Комментарии (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++» сделать такого бота, который будет рассказывать о возможностях «C++»?
        Ответить
        • Хорошая идея. Передали в аналитический отдел, думаем.
          Ответить
          • Можно отвечать на комменты с кейвордами «может» и «можно» и выбирать рандомом из пары-тройки готовых фраз.
            Ответить
  • > CreateObject ("InternetExplorer.Application")
    ...
    > set mailButton = page.GetElementByID("ybar-navigation-item-mail")

    Я сначала удивился, что опеноффисовцы даже смогли написать поддержку изъёбистых COM/DCOM/OLE-протоколов MSa.
    А потом понял что не смогли 🙁
    Ответить

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

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8