Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
 
194 / 16 / 2
Регистрация: 15.01.2015
Сообщений: 190
1

Почему файл с выбором вручню обрабатывается дольше, чем если бы он был выбран сам по известному пути?

07.03.2017, 12:25. Просмотров 397. Ответов 1
Метки нет (Все метки)


Имеем 100мб текстовый файл с разделителями строк CRLF.
Задача - перенести его на лист экселя построчно.
Попробовал двумя способами - с выбором файла вручную, и заранее прописав путь к файлу.
Во втором случае макрос отработал на порядок быстрее! Хотя сам процесс выбора файла занимает полторы секунды.

При path = Application.GetOpenFilename время обработки ~21 сек,
при path = "C:\0.txt" время обработки ~2 сек,

Подскажите пожалуйста почему время так стремительно увеличивается, и как его уменьшить, оставив возможнотсь выбора файла вручную.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Sub openFile()
    tim = Timer
    Application.ScreenUpdating = False
    Application.DisplayStatusBar = True
    Application.Calculation = xlCalculationManual
    Application.EnableEvents = False
    ActiveSheet.DisplayPageBreaks = False
    Application.DisplayAlerts = False
    Application.CutCopyMode = False
 
    'path = Application.GetOpenFilename(FileFilter:="Log Files (*.log; *.txt),*.log;*.txt", MultiSelect:=False, Title:="Please choose log file")
    'path = "C:\0.txt"
 
        Open path For Input As #1
        Do Until EOF(1)
            Line Input #1, TextLine
            I = I + 1
            Cells(I, 1).Value = TextLine
            If I Mod 1000 = 0 Then DoEvents
        Loop
        Close #1
        Debug.Print Timer - tim
End Sub
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.03.2017, 12:25
Ответы с готовыми решениями:

Что если запрос обрабатывается дольше, чем длина сессии?
Допустим у нас есть сессия, которая стухает через 5 минут (maxInactiveInterval) а запрос...

Если скрипт выполняется дольше чем max_execution_t
Здравствуйте! Есть необходимость выполнять объемный скрипт, состоящий из однотипных итераций. Чтобы...

Почему запрос в приложении выполняется в разы дольше чем в MicrosoftSQLServer
Добрый день! Впервые столкнулась с такой ситуацией: есть SQL запрос, который в MsSQLServer...

Создать папку в том же каталоге, где до этого был выбран файл
через openfiledialog выбираю текстовый файл. путь к файлу записывается в текстовое поле. Dim OFD...

__________________
Помогаю в написании студенческих работ здесь.
1
141 / 119 / 28
Регистрация: 12.02.2017
Сообщений: 308
07.03.2017, 21:32 2
Попробуйте добавить пару строк:
Visual Basic
1
2
3
4
Dim s as string
s=path
open s for input as #1 
'и т.д.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.03.2017, 21:32

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Найти вероятность того, что был выбран четвёртый или пятый ящик, если эта кружка оказалась белой
помогите решить задачи по Классической вероятности: 32.Имеется 5 ящиков с кружками. В первом,...

Нужно сделать так, чтобы ComboBox2 активировался только, если в первом ComboBox был выбран параметр "группе".
Ребят помогите пожалуйста.Мне нужно сделать так,чтобы комбобокс2 активировался только,если в первом...

Как корректно закрыть OpenFileDialog, если файл не выбран
Если закрыть диалог выбора файла не выбрав файл, нижеприведённый код в строке 8 вызывает ошибку:...

Как из пути к файлу, оставить только сам файл
Функция вставляет полный путь к файлу, к примеру: C:\Foto\1.png. А мне нужно выдернуть отсюда...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.