Поместите текстовое содержимое сайта в переменную vba Excel

819
Riccardo La Marca

Эта функция неверна:

Function UUID() As String UUID = Workbooks.OpenText("https://www.uuidgenerator.net/api/version1") 'Compile Error: Expected Function Or Variable End Function 

Какой правильный синтаксис?

-2
Каково точное сообщение об ошибке и что вы ожидаете от него? Jeff Zeitlin 6 лет назад 0
Ошибка компиляции: ожидаемая функция или переменная Riccardo La Marca 6 лет назад 0
Это говорит о том, что `Workbooks.OpenText ()` не является функцией или переменной. Предположительно, это должно быть функцией; где это он определил? Этот тип вопроса, вероятно, лучше задать в [так], но вам нужно будет предоставить гораздо больше информации и минимальный, полный, поддающийся проверке пример, иначе он будет закрыт. Jeff Zeitlin 6 лет назад 1
когда я нажимаю «Спросить» в stackoverflow, я получаю сообщение, которое говорит: «Вы достигли своего лимита вопроса» Riccardo La Marca 6 лет назад 0
К сожалению, не существует примера для этого, просто я хочу поместить текстовое содержимое URL в переменную. Riccardo La Marca 6 лет назад 0
Откуда вы взяли этот код? Это весь ваш код? Если да, то откуда берется `Workbooks.OpenText ()`? Вам нужно предоставить гораздо больше информации, прежде чем вы сможете получить какую-либо полезную помощь - независимо от того, находится ли она здесь или в StackOverflow. Jeff Zeitlin 6 лет назад 1
это мой полный код Функция вызывается ячейкой. Riccardo La Marca 6 лет назад 0
Кроме того, что вы пытаетесь сделать с помощью `OpenText ()`? Открыть URL в браузере? У вас есть функция OpenText? Вы должны опубликовать это. Если это * единственный * код, то вы получаете сообщение об ошибке, потому что `OpenText ()` не существует. BruceWayne 6 лет назад 0
Я пытаюсь поместить содержимое веб-сайта в переменную Riccardo La Marca 6 лет назад 0
Если вам не разрешено задавать вопросы в StackOverflow, из-за того, что вы достигли лимита вашего вопроса, вы должны увидеть [полное руководство по ограничению скорости] (https://meta.stackexchange.com/questions/164899/the-complete-rate -limiting-гид). Jeff Zeitlin 6 лет назад 0
Я задаю несколько вопросов в течение длительного времени. Я сделал всего 11 вопросов почти за 1 год. Riccardo La Marca 6 лет назад 0
Это кажется чрезвычайно широким. Что вы пытаетесь получить, точно. «Контентом веб-сайта» могут быть изображения в нем, HTML, некоторые элементы и т. Д. FYI [`OpenText ()`] (https://msdn.microsoft.com/en-us/vba/excel- vba / articles / workbooks-opentext-method-excel) предназначена для файлов, а не для веб-сайтов. BruceWayne 6 лет назад 0
Я пытаюсь поместить текстовое содержимое сайта в переменную Riccardo La Marca 6 лет назад 0
Я изменил название вопроса, надеюсь, что информации достаточно. Riccardo La Marca 6 лет назад 0

2 ответа на вопрос

1
ttaylor1218

Во-первых, вам нужно добавить ссылку на ваш проект в VBA, чтобы предоставить вам доступ к MSXML:

  1. Microsoft XML, v 3.0.
  2. Microsoft XML, v 4.0 (если вы установили MSXML 4.0 отдельно).
  3. Microsoft XML, v 5.0 (если вы установили Office 2003 - 2007, который предоставляет MSXML 5.0 для приложений Microsoft Office).
  4. Microsoft XML, v 6.0 для последних версий MS Office.

    Dim xmlhttp As New MSXML2.XMLHTTP60, myurl As String  myurl = "http://requestb.in/15oxrjh1" //replace with your URL  xmlhttp.Open "GET", myurl, False  xmlhttp.Send  MsgBox(xmlhttp.responseText) 
0
Riccardo La Marca

Спасибо ttaylor1218:

Function UUID(Version As Integer) As String Dim HTTP As Object Set HTTP = CreateObject("WinHttp.WinHttpRequest.5.1") HTTP.Open "GET", "https://www.uuidgenerator.net/api/version" & Version, False HTTP.Send UUID = Replace(HTTP.ResponseText, vbCrLf, "") End Function 

Похожие вопросы