|
Обновить ссылки не открывая файл
|
|||
---|---|---|---|
#18+
Коллеги, Необходимо из одного открытого файла - запустить обновление ссылок между другими файлами из данной папки. Не открывая при этом по отдельности все указанные файлы. Используя информацию с Форума получается такой скрипт: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Модератор: Учимся использовать тэги оформления кода - FAQ Подскажите - как сделать так, чтобы данный макрос запускался для любой другой папки. Т.е. в данном макросе надо избавиться от конкретного адреса папки, который прописан в начале. Можно сделать так, чтобы макрос самостоятельно определял папку для обработки - как ту из которой открыт текущий файл !? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2018, 16:26 |
|
Обновить ссылки не открывая файл
|
|||
---|---|---|---|
#18+
Furdmitri, Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2018, 16:29 |
|
Обновить ссылки не открывая файл
|
|||
---|---|---|---|
#18+
Спасибо. По адресу - макрос отработал. Но вот ещё вопрос - Если файл из которого запускается макрос имеет такое же расширение как у остальных - появляется конфликт при отработке макроса: при попытке повторного открытия данного файла. Как этого избежать. P/s/ в приведённом примере - открываются файлы xlsx. Но если бы надо было открывать xlsm - не получилось бы. Поскольку у открытого файла - такое же расширение. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2018, 16:35 |
|
Обновить ссылки не открывая файл
|
|||
---|---|---|---|
#18+
Furdmitriпоявляется конфликт при отработке макросаНу ясен пень, надо же ещё сравнивать myName с ThisWorkbook.Name и выполнять операцию только при неравенстве... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2018, 16:43 |
|
Обновить ссылки не открывая файл
|
|||
---|---|---|---|
#18+
Спасибо. Получилось. Ещё вопросик - когда при последовательном открытии файлов макрос напарывается на сообщение "Не удаётся обновить одну или несколько связей в книге Excel". Как сделать чтобы макрос не останавливался на этом - а проскакивал дальше (как при нажатии клавиши "Продолжить") !? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2018, 16:52 |
|
Обновить ссылки не открывая файл
|
|||
---|---|---|---|
#18+
Furdmitri, on error goto или on error resume next. Первый вариант позволит отловить файл с ошибкой, второй просто проигнорит ошибку и продолжит выполнение макроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2018, 17:21 |
|
Обновить ссылки не открывая файл
|
|||
---|---|---|---|
#18+
big-dukeon error goto или on error resume next. Первый вариант позволит отловить файл с ошибкой, второй просто проигнорит ошибку и продолжит выполнение макроса.Разве Application.DisplayAlerts=False не поможет? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2018, 17:24 |
|
Обновить ссылки не открывая файл
|
|||
---|---|---|---|
#18+
Shocker.Pro, Да, нужен именно Application.DisplayAlerts, on error не то что нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2018, 08:55 |
|
Обновить ссылки не открывая файл
|
|||
---|---|---|---|
#18+
Помогло Application.DisplayAlerts=False Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2018, 09:14 |
|
Обновить ссылки не открывая файл
|
|||
---|---|---|---|
#18+
FurdmitriПомогло Application.DisplayAlerts=False Спасибо.Не забудьте в конце макроса Application.DisplayAlerts=True ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2018, 09:56 |
|
Обновить ссылки не открывая файл
|
|||
---|---|---|---|
#18+
Коллеги, Нижеуказанный макрос нормально отрабатывает только в применении к файлам, расположенным на смежном сервере, с ссылками формата \\2corp\data\LES\fin\Бюджет\Бюджет\МОДЕЛЬ\ГОД 2018\[Смета.xlsx]Смета'! А с файлами к которым осуществляется доступ через интернет соединение - не отрабатывает. Выдает ошибку. У этих файлов ссылка типа ' http://global.corp.com/sites/LES/fg/DocLib12/ [Смета.xlsx]Смета' Подскажите - что можно изменить в макросе - чтобы он отрабатывал файлы И через интернет доступ. (Обычное принудительное обновление файлов - работает нормально; слэш на обратный - менял, не помогает). Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2018, 16:30 |
|
Обновить ссылки не открывая файл
|
|||
---|---|---|---|
#18+
P/S Выдаёт Bad file name or number ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2018, 16:33 |
|
Обновить ссылки не открывая файл
|
|||
---|---|---|---|
#18+
Никак, писать другой макрос. Определившись с ответами на вопросы: 1) как вы планируете получить список файлов на веб сервере (Dir тут никак не поможет) 2) как вы планируете закачивать файл обратно на веб-сервер (ЗЫ: а почему вы VB-код решили оформлять с помощью [srс XML]?) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2018, 16:46 |
|
Обновить ссылки не открывая файл
|
|||
---|---|---|---|
#18+
1. На веб-сервере - файлы визуально располагаются в аналогичных папках. При этом - при открытии какого-либо файла и "Обновлении" ссылок - они нормально обновляются. Ссылки - именно такие как я указал (с "http"). Почему собственно для макроса данный путь - не является путём ? 2. "Закачивать обратно" ? Ну они вроде так же открываются, сохраняются, и закрываются как и с сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2018, 17:03 |
|
Обновить ссылки не открывая файл
|
|||
---|---|---|---|
#18+
FurdmitriПочему собственно для макроса данный путь - не является путём ?Потому что функция Dir не понимает http, и уж тем более не понимает термина "визуально в аналогичных папках" FurdmitriНу они вроде так же открываются, сохраняются, и закрываютсяВы уверены, что сохраняются они на сервере, а не во временной папке, куда были скачаны? Попробуйте руками внести какое-то изменение (ячейку покрасить), сохранить, закрыть и заново открыть именно с сервера по ссылке (а не последний открытый) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2018, 17:13 |
|
Обновить ссылки не открывая файл
|
|||
---|---|---|---|
#18+
Сохраняются сразу на сервере. При повторном открытии - все изменения сразу видны. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2018, 17:19 |
|
Обновить ссылки не открывая файл
|
|||
---|---|---|---|
#18+
Если зайти в свойства файла на портале - выдаётся вот такой URL-адрес http://global.corp.venera.com/sites/LES/fg/_layouts/xlviewer.aspx?id=/sites/LES/fg/DocLib12/МСБ_Аст.xlsm&Source=http://global.corp.venera.com/sites/LES/fg/DocLib12/Forms/AllItems.aspx?InitialTabId=Ribbon%2EDocument&VisibilityContext=WSSTabPersistence&DefaultItemOpen=1&DefaultItemOpen=1 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2018, 17:23 |
|
Обновить ссылки не открывая файл
|
|||
---|---|---|---|
#18+
Furdmitri, Если это шарепойнт, то копайте в сторону MapNetworkDrive и WebDAV. Или же попытайтесь получить UNC путь к DocLib12. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2018, 17:29 |
|
Обновить ссылки не открывая файл
|
|||
---|---|---|---|
#18+
авторЕсли это шарепойнт, то копайте в сторону MapNetworkDrive и WebDAV. Или же попытайтесь получить UNC путь к DocLib12. Так общо - у меня не получится разобраться (( ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2018, 17:53 |
|
Обновить ссылки не открывая файл
|
|||
---|---|---|---|
#18+
А чем мы можем помочь, если не знаем подробностей, даже версию офиса вы не указали. "xlviewer.aspx" в URL намекает, что файл может открываться в интегрированном куда-то экселе или вообще не в экселе. Ну либо дождаться человека, который опознает по URL-у, что у вас там за сервер и как он настроен. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2018, 18:00 |
|
Обновить ссылки не открывая файл
|
|||
---|---|---|---|
#18+
Shocker.Pro"xlviewer.aspx" в URL намекает Тут уже без намёков шарик ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2018, 20:14 |
|
Обновить ссылки не открывая файл
|
|||
---|---|---|---|
#18+
big-dukeShocker.Pro"xlviewer.aspx" в URL намекает Тут уже без намёков шарик просто ты сказал "если"big-dukeЕсли это шарепойнта так-то я с ним не работал, поэтому не в курсе ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2018, 21:58 |
|
Обновить ссылки не открывая файл
|
|||
---|---|---|---|
#18+
Получилось прописать последовательно открытие-обновление файлов (с местом нахождения - http...) на основе определения пути исходного через ThisWorkbook.Path Однако хотелось бы все таки запускать цикл на последовательное открытие всех файлов с определённым путём/адресом. Может кто-то предложить вариант такого цикла ? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2018, 15:11 |
|
Обновить ссылки не открывая файл
|
|||
---|---|---|---|
#18+
Furdmitri ... всех файлов с определённым путём/адресом. И где хранится список всех файлов с определённым путём/адресом ? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2018, 15:20 |
|
Обновить ссылки не открывая файл
|
|||
---|---|---|---|
#18+
В сведениях о файле - http://global.corp.venera.com/sites/LES/fg/DocLib12/МСБ_Аст.xlsm А в свойствах объекта - URL-адрес - http://global.corp.venera.com/sites/LES/fg/_layouts/xlviewer.aspx?id=/sites/LES/fg/DocLib12/МСБ_Аст.xlsm&Source=http://global.corp.lukoil.com/sites/LES/fg/DocLib12/Forms/AllItems.aspx&DefaultItemOpen=1&DefaultItemOpen=1 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2018, 15:25 |
|
|
start [/forum/topic.php?fid=61&msg=39622840&tid=2172362]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
36ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
others: | 287ms |
total: | 436ms |
0 / 0 |