Добрый вечер StackOverflow когорты,VBA Script Переберите определенный диапазон дат
После интересного крещения огнем в процессе обучения VBA, у меня есть более продвинутый вопрос о выполнении моего скрипта в цикле. В настоящее время у меня есть сценарий, ссылающийся на ячейку на конкретном листе, в котором находится текущая дата. Сценарий помещает эту дату в переменную часть строки URL-адреса, которая затем выполняет извлечение данных с этой веб-страницы.
Моя цель - включить DATEDIF где-то внутри этого, чтобы указать, сколько дней осталось между последними доступными данными и текущей датой. Если возможно, скрипт затем сможет настроить переменную строку URL соответственно, чтобы заменить каждую дату в этом цикле, а затем добавить данные в лист ниже предыдущих данных. Это мой сценарий до сих пор ниже:
Sub MasterDataIngest()
Dim sh1 As Worksheet
Dim wkb As Workbook
With wkb
Set sh1 = Worksheets("SheetOne")
Set wkb = Workbooks("SheetTwo")
Set IE = CreateObject("InternetExplorer.Application")
sh1.Activate
IE.Visible = False
IE.navigate "http://website.com/dir1/dir2/" & Format(Cells(1, 1).Value, "yyyymmdd") & "/file.txt"
'Check for good connection to web page loop!
Do
If IE.readyState = 4 Then
IE.Visible = False
Exit Do
Else
DoEvents
End If
Loop
'Wait for window to open!
Application.wait (Now + TimeValue("0:00:02"))
IE.Visible = False
IE.navigate "http://website.com/dir1/dir2/" & Format(Cells(1, 1).Value, "yyyymmdd") & "/file.txt"
IE.ExecWB 17, 0 '// SelectAll
IE.ExecWB 12, 2 '// Copy selection
sh1.PasteSpecial Format:="Text", link:=False, DisplayAsIcon:=False
sh1.Range("A2").Select
IE.Quit
End With
End Sub
Возможно, вы захотите прочитать следующее: http://stackoverflow.com/questions/38000194/difference-between-date-and-time-w-out-work-week-excel/38001028#38001028 – Ralph
Сначала ваш 'С wkb' должен идти ниже строки 'Set wkb = ...', но нет никакой пользы. Если вы просто открываете эти ** txt ** файлы без входа в систему, Excel может открыть его напрямую и удалить компонент IE. – PatricK
Привет, Ральф, чтобы сделать это еще более интересным, веб-страница, которую я использую, требует входа в систему, я думаю, что могу обмануть IE, чтобы только просить логин один раз, что помешало бы VBA просить пароль для каждой веб-страницы. I циклически –