(VBA или Формула), чтобы открыть гиперссылку из ячейки и сохранить / переименовать загруженный файл из нового значения ячейки
Программа: Excel 2010
Уровень опыта: основной
Вопрос:
У меня есть таблица ссылок, я хочу открыть каждую ссылку (это файлы .csv / .xlsx на защищенном сервере, к которому я должен войти), а затем сохранить с именем файла, созданным в 3-й строке информации.Column (C)
сохранить BatchID нетронутым (как показано ниже).
| A | B | C |
| Batch Date | links | New name |
|------------|--------------|----------|
| 3/03/2014 | View | 20140303 |
| 2/05/2014 | View | 20140205 |
| 1/02/2014 | View | 20140102 |
| 12/01/2013 | View | 20131201 |
| 11/01/2013 | View | 20131101 |
| 10/01/2013 | View | 20131001 |
| 9/01/2013 | View | 20130901 |
| 8/01/2013 | View | 20130801 |
По ссылкам может появиться логин (это нормально, у меня есть учетные данные, хотя, если использовать VBA, было бы безопаснее использовать жесткий код, поэтому, если я пропущу всплывающее окно, оно не остановится).
Список обширен и обновляется ежемесячно.
Исходное имя файла csv / .xlsx аналогично:1036548025_detailed_sales_report.xls
число всегда отличается (отсюда и новый столбец выше), однако_detailed_sales_report.xls
всегда остается статичным.
В идеале я хотел бы сохранить имя файла, используя подстановочный знак ?? Так что-то вроде:savefilename = (A10) & "*" & "_detailed_sales_report.xls"
Я гуглил открытие гиперссылок из Excel, но в большинстве случаев речь идет либо о гиперссылках вообще, либо об открытии связанной книги, тогда как я хочу использовать это для загрузки новой работы.
РЕДАКТИРОВАТЬ
Между каждой строкой также должна быть задержка, заведомо медленная работа сервера.
Редактировать 3 Каждая ссылка является вновь сгенерированной, ни одна ссылка не является одинаковой (например, имя файла):
Range("C9").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Workbooks.Open Filename:="http://www.mylinkgoeshere.---/.php?pID=12898"
'the pID= is always different, its a dynamic report system
ActiveWindow.Visible = False
Windows("view_payment_orders.php").Visible = True
ActiveWorkbook.SaveAs Filename:="D:\location\20140205.xlsx", _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
ActiveWorkbook.Save
ActiveWindow.Close
Вышесказанное - это то, что происходит, когда я запускаю Macro-рекордер, я не хочу кодировать более 100 строк :-) Может ли цикл работать между двумя разными столбцами?
Пожалуйста, помогите, куда я иду отсюда ?!