|
|
|
заиметь полное имя любого файла в переменной (VBA Excel)
|
|||
|---|---|---|---|
|
#18+
спасибо за помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2011, 19:45 |
|
||
|
заиметь полное имя любого файла в переменной (VBA Excel)
|
|||
|---|---|---|---|
|
#18+
The_PristP.S. А FSO все же медленный в работе. И для инфо: Ваш код не будет работать в версии офиса младше 2003. Т.к. метод Application.FileDialog появился именно в 2003. Как ни прискорбно, но многие все еще работают на 2000... Честно скажу, что не вдавался в эти различия версий. И вообще человек, задающий вопрос по данной тематике (Microsoft Office), должен указать, какой версией Офиса он пользуется. Я-то начинал VBA c 2003-го (сам Офис - с 97). Ну а по поводу "медленный". Конкретно, какие примеры, сравнения? Просто хочу выяснить, почему он медленный. Заранее благодарен за ответ! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2011, 08:14 |
|
||
|
заиметь полное имя любого файла в переменной (VBA Excel)
|
|||
|---|---|---|---|
|
#18+
Yudzhin, Пример попозже постараюсь состряпать, т.к. косяки FSO в медленности на одной операции не покажешшь. А если брать теорию и логику: всё что подключается пользователем в ссылках работает через COM. Отсюда вывод: Требуется время на обработку интерфейсов. И это обращение к COM идет каждый раз при обращении к функциям, свойствам и методам объекта. Если не прав - поправьте. А вообще, даже в Вашем коде FSO лишний(здесь VBA без него управится польностью): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2011, 09:58 |
|
||
|
заиметь полное имя любого файла в переменной (VBA Excel)
|
|||
|---|---|---|---|
|
#18+
Попробуйте вот так протестировать на скорость: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2011, 11:00 |
|
||
|
заиметь полное имя любого файла в переменной (VBA Excel)
|
|||
|---|---|---|---|
|
#18+
The_Prist, Отчёт. :-) В папке - 1513 файлов. Стандартный метод - 0,05. FileSystemObject - 0,16. В три раза быстрее. :-) Но эта разница не ощутима даже при таком огромном количестве файлов. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2011, 11:23 |
|
||
|
заиметь полное имя любого файла в переменной (VBA Excel)
|
|||
|---|---|---|---|
|
#18+
Yudzhin, А причем здесь кол-во файлов, если мы анализируем лишь один(первый) - .SelectedItems(1) ? :-) Да и к тому же - все зависит еще и от конфигурации компьютера. Не у всех установлены даже Core2Duo(бывает намного хуже...). А на слабых машинах Ваши миллисекунды могут обратиться в секунды и даже минуты, в зависимости от выполняемых задач. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2011, 11:30 |
|
||
|
заиметь полное имя любого файла в переменной (VBA Excel)
|
|||
|---|---|---|---|
|
#18+
The_Prist, Мой метод: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. Отчёт. :-) В папке - 1513 файлов. Стандартный метод - 0,007. FileSystemObject - 0,28. Разница ощутима. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2011, 11:58 |
|
||
|
|

start [/forum/topic.php?fid=61&startmsg=37203344&tid=2177002]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
145ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 406ms |

| 0 / 0 |
