Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.12.2009, 11:43   #1
choky
 
Регистрация: 29.12.2009
Сообщений: 6
По умолчанию Проблема с открытием файлов через макрос

Добрый день, у меня при написании макроса возникла проблема - нужно чтобы макрос поочереди открывал 5 файлов, лежащих на сетевом диске (файлы открываются долго, т.к. скорость канала небольшая) в итоге получается, что после открытия 1-го файла макрос прекращает работу. Если этот же макрос выполнять с локального жесткого диска, то файлы открывает нормально, возможно следует поставить задержку на открытие, но как - не знаю. Большая просьба помочь разобраться
Код макроса:
Код:
Sub Обновление данных ()
Workbooks.Open ("\\146.xxx.yyy.zzz\Path\filename1.xls")
Workbooks.Open ("\\146.xxx.yyy.zzz\Path\filename2.xls")
Workbooks.Open ("\\146.xxx.yyy.zzz\Path\filename3.xls")
Workbooks.Open ("\\146.xxx.yyy.zzz\Path\filename4.xls")
Workbooks.Open ("\\146.xxx.yyy.zzz\Path\filename5.xls")
choky вне форума Ответить с цитированием
Старый 31.12.2009, 11:51   #2
Pavel55
Форумчанин
 
Регистрация: 21.08.2007
Сообщений: 292
По умолчанию

А если так? (правда сам не пробовал)

Код:
Sub Макрос1()
    Call OpenWB("\\146.xxx.yyy.zzz\Path\filename1.xls")
    Call OpenWB("\\146.xxx.yyy.zzz\Path\filename2.xls")
    Call OpenWB("\\146.xxx.yyy.zzz\Path\filename3.xls")
    Call OpenWB("\\146.xxx.yyy.zzz\Path\filename4.xls")
    Call OpenWB("\\146.xxx.yyy.zzz\Path\filename5.xls")
End Sub

Sub OpenWB(WBFullPath As String)
    Workbooks.Open (WBFullPath)
End Sub
Pavel55 вне форума Ответить с цитированием
Старый 31.12.2009, 12:50   #3
choky
 
Регистрация: 29.12.2009
Сообщений: 6
По умолчанию

Решил проблему, спасибо за ответ...а вот вопрос - как прописать, чтобы программа ожидала пока загрузится 1-ый файл и только потом начинала загружать 2-ой?
choky вне форума Ответить с цитированием
Старый 31.12.2009, 17:04   #4
Pavel55
Форумчанин
 
Регистрация: 21.08.2007
Сообщений: 292
По умолчанию

может так )
Код:
Option Explicit

Declare Sub Sleep Lib "kernel32" (ByVal dwMS As Long)

Sub Макрос1()
    Call OpenWB("\\146.xxx.yyy.zzz\Path\filename1.xls")
    Call OpenWB("\\146.xxx.yyy.zzz\Path\filename2.xls")
    Call OpenWB("\\146.xxx.yyy.zzz\Path\filename3.xls")
    Call OpenWB("\\146.xxx.yyy.zzz\Path\filename4.xls")
    Call OpenWB("\\146.xxx.yyy.zzz\Path\filename5.xls")
End Sub

Sub OpenWB(WBFullPath As String)
    Workbooks.Open (WBFullPath)
    'время в миллисекундах
    Sleep 10000
End Sub
Pavel55 вне форума Ответить с цитированием
Старый 31.12.2009, 18:06   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
как прописать, чтобы программа ожидала пока загрузится 1-ый файл и только потом начинала загружать 2-ой?
Вообще-то, так и должно происходить...

А зачем вообще нужно это ожидание?
Покажите весь код макроса - посмотрим, что подправить, чтобы всё работало без задержек.
EducatedFool вне форума Ответить с цитированием
Старый 31.12.2009, 19:34   #6
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Открытие рабочей книги на сетевых дисках может выполняются асинхронно.
Зависит от версии Excel и системного ПО.
Aent вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПОМОГИТЕ ПРОБЛЕМА С ОТКРЫТИЕМ ФАЙЛОВ EXCEL Vilson85 Microsoft Office Excel 11 28.10.2009 12:15
Проблема с открытием файла (C++) Скарам Помощь студентам 6 09.09.2009 15:31
Проблема с открытием фотографий artemavd Операционные системы общие вопросы 6 19.08.2009 19:12
Помогите с автоматическим открытием файлов Maladoj Общие вопросы .NET 5 03.04.2009 00:40
Проблема с открытием дисков!! Merphi Операционные системы общие вопросы 4 24.12.2008 09:35