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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2013, 10:43   #11
Extril
Пользователь
 
Регистрация: 08.11.2010
Сообщений: 33
По умолчанию

Благодарю покорнейше. Скрипт выдает ошибку в строке, чтобы это моглло значить
ReDim b(1 To fso.GetFolder(p).Files.Count * 100, 1 To 9)
Extril вне форума Ответить с цитированием
Старый 22.11.2013, 11:22   #12
Extril
Пользователь
 
Регистрация: 08.11.2010
Сообщений: 33
По умолчанию

После правок, понял. что сам ошибся, в итоге все заработало. У меня вопрос,
1) а как сделать чтобы макрос работал без открытя книг, время на которое даже в скрытом режиме, занимает время. В той формуле которая была мной процитирована изначально макрос не открывает книги..
Extril вне форума Ответить с цитированием
Старый 23.11.2013, 13:05   #13
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
а как сделать чтобы макрос работал без открытя книг, время на которое даже в скрытом режиме, занимает время. В той формуле которая была мной процитирована изначально макрос не открывает книги..
Будет существенно медленнее. Хотите проверить?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 23.11.2013, 14:03   #14
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

А точней не будет ни медленней ни быстрей. Нельзя получить(внести) данные так или иначе не открыв книгу. Разве что посекторным чтением диска, но и в этом случае что-то придется открыть, для преобразования двоичных данных в табличные
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 23.11.2013, 14:25   #15
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
Нельзя получить(внести) данные так или иначе не открыв книгу
И я о том же... Да еще, плюс ко всему, нужно вставить по 900 формул (ссылок) на каждый файл...
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 25.11.2013, 15:24   #16
Extril
Пользователь
 
Регистрация: 08.11.2010
Сообщений: 33
По умолчанию

Спасибо, опробовал в действии, все работает. В этой связи, прошу нерадивому танкисту подсказать
1. Можно ли сделать этот макрос работающим из той же папки где находяться копируемые файлы
2. И гласное, возможно ли использовать в качестве пути
\\nwdata.nw.megafon.ru\DavWWWRoot\s ites\ur_dep\DocLib\мегафон"
Extril вне форума Ответить с цитированием
Старый 26.11.2013, 08:49   #17
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
1. Можно ли сделать этот макрос работающим из той же папки где находяться копируемые файлы
1. Если Вы разместите книгу с макросом в папке с данными и в качестве пути используете путь к книге как путь к данным
2. Переделаете макрос из VBA в VBS и будете запускать скрипт, который обрабатывает все файлы в папке где он находится и сохраняет результат по указанному пути.

Цитата:
2. И гласное, возможно ли использовать в качестве пути
\\nwdata.nw.megafon.ru\DavWWWRoot\s ites\ur_dep\DocLib\мегафон"
Поскольку доступ к файлам идет через стандартные механизмы Windows, то если данный путь открывается в проводнике и ресурс доступен для записи (если там планируется что-то записывать), то его вполне можно использовать.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 26.11.2013, 10:17   #18
Extril
Пользователь
 
Регистрация: 08.11.2010
Сообщений: 33
По умолчанию

[QUOTE=DiemonStar;1305496]1. Если Вы разместите книгу с макросом в папке с данными и в качестве пути используете путь к книге как путь к данным

Скажите пожалуйста, а как это прописать ?

У меня почему то ошибка выскакивает, с подсветкой строки
Set ws1 = GetObject(p & f).Worksheets("Проверки"), не понимаю, что это может быть.
Extril вне форума Ответить с цитированием
Старый 26.11.2013, 12:14   #19
Extril
Пользователь
 
Регистрация: 08.11.2010
Сообщений: 33
По умолчанию

Странно, что с локального диска при указании c:\temp макрос отлично работает, но стоит указать путь расположения обрабатываемых файлов "\\nwdata.nw.megafon.ru\DavWWWRoot\ sites\ur_dep\DocLib\W\": f = Dir(p & "*.xlsx*"): k = 0 то выдает подсветку Set ws1 = GetObject(p & f).Worksheets("Лист2").
Протестил другим макросом доступ к папке\\nwdata.nw.megafon.ru\DavWWWR oot\sites\ur_dep\DocLib\W\, путь доступен для работы. Ничего не понимаю, может быть работоспособность зависит от длинны пути ?
Extril вне форума Ответить с цитированием
Старый 27.11.2013, 04:42   #20
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
У меня почему то ошибка выскакивает, с подсветкой строки
Set ws1 = GetObject(p & f).Worksheets("Проверки"), не понимаю, что это может быть.
При размещении файла с макросом в той же папке, в которой находятся файлы-источники, ошибка будет возникать при попытке еще раз открыть файл с макросом. Другими словами, нужно добавить условие:
Код:
Do While f <> ""
    If f <> ThisWorkbook.Name Then
        Set ws1 = GetObject(p & f).Worksheets("Лист2")
        a = ws1.Range("A1:I100").Value
        For i = 1 To UBound(a, 1)
            If a(i, 4) <> "" And a(i, 4) <> 0 Then
                If Not x.Exists(a(i, 4)) Then
                    x.Add a(i, 4), a(i, 4)
                    k = k + 1
                    For j = 1 To UBound(a, 2): b(k, j) = a(i, j): Next
                End If
            End If
        Next
        ws1.Parent.Close (False)
    End If
    f = Dir
Loop
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос аля ВПР для формирования свода из закрытых книг MaxxVer Microsoft Office Excel 15 28.08.2012 12:02
Обьединение листов разных книг. Viktorkv Microsoft Office Excel 9 25.10.2011 21:25
Получение данных из множества закрытых книг книг hardkain Microsoft Office Excel 1 27.09.2011 20:18
Объединение книг и некоторых листов ? vovik07 Microsoft Office Excel 5 20.05.2010 11:52
копирование листов из закрытых книг mephist Microsoft Office Excel 4 10.07.2009 17:18