powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / формируется Excel Книга1 из программы на VB6. Очень ДОЛГО!
8 сообщений из 8, страница 1 из 1
формируется Excel Книга1 из программы на VB6. Очень ДОЛГО!
    #34069286
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Set XL = CreateObject("Excel.Application")
XL.Visible = False
XL.Workbooks.Add
XL.Sheets("Лист1").Name = "Накладная"
XL.Application.ScreenUpdating = False
Dim i As Integer
Do While Not rst.EOF ' записей всего 20 или 30
    i = i +  1 
    XL.Cells(i,  1 ).Value = rst.Fields![detal]
    XL.Cells(i,  2 ).Value = rst.Fields![name]
    XL.Cells(i,  3 ).Value = rst.Fields![kolvo]
    XL.Cells(i,  4 ).Value = rst.Fields![summa]
    rst.MoveNext
Loop
XL.Visible = True
XL.Application.ScreenUpdating = True
Set XL = Nothing

Что сделать, чтобы формирование прошло в момент. Пользователь не доволен что медленно. Где-то около минуты.
...
Рейтинг: 0 / 0
формируется Excel Книга1 из программы на VB6. Очень ДОЛГО!
    #34069308
Типа-гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а rst что? ADORecordSet?
...
Рейтинг: 0 / 0
формируется Excel Книга1 из программы на VB6. Очень ДОЛГО!
    #34069425
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Dim conn As ADODB.Connection
Dim rst As ADODB.Recordset
    
Set conn = New ADODB.Connection
conn.ConnectionString = "DRIVER={Microsoft dBase Driver (*.dbf)};" & "DBQ=" & path_basa & ";" & "DefaultDir=" & path_basa & "\"
conn.Open
Set rst = New ADODB.Recordset
rst.Open "SELECT * FROM " & sama_basa, conn

Я так отрыл открыл таблицу, но не в этом дело. Да же простой массив в Excel Книгу1 заносится медленно. Думаю дело в OLE объекте. Но что сделать чтобы было быстрее не знаю !
...
Рейтинг: 0 / 0
формируется Excel Книга1 из программы на VB6. Очень ДОЛГО!
    #34069685
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
klen_
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Dim conn As ADODB.Connection
Dim rst As ADODB.Recordset
    
Set conn = New ADODB.Connection
conn.ConnectionString = "DRIVER={Microsoft dBase Driver (*.dbf)};" & "DBQ=" & path_basa & ";" & "DefaultDir=" & path_basa & "\"
conn.Open
Set rst = New ADODB.Recordset
rst.Open "SELECT * FROM " & sama_basa, conn

Я так отрыл открыл таблицу, но не в этом дело. Да же простой массив в Excel Книгу1 заносится медленно. Думаю дело в OLE объекте. Но что сделать чтобы было быстрее не знаю !

выключить антивирус, просмотреть загрузку проца в "Диспетчере задач"
...
Рейтинг: 0 / 0
формируется Excel Книга1 из программы на VB6. Очень ДОЛГО!
    #34069701
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попытаться предварительно сохранить файл Excel на диск, а потом заполнять его (но это уже танцы с бубнами)
...
Рейтинг: 0 / 0
формируется Excel Книга1 из программы на VB6. Очень ДОЛГО!
    #34069740
Типа-гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вместо:
Dim i As Integer
Do While Not rst.EOF
....
....
loop

пиши
Dim massiv As Variant
massiv = rst.GetRows
xl.Cells(1, 1) = massiv
...
Рейтинг: 0 / 0
формируется Excel Книга1 из программы на VB6. Очень ДОЛГО!
    #34070642
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
rst.Open "SELECT * FROM " & sama_basa, conn
XL.Cells( 1 ,  1 ).CopyFromRecordset rst
если у тебя вставляются в лист не все столбцы то
в selecte выберай сразу нужные
Код: plaintext
1.
rst.Open "SELECT detal, name, kolvo, summa FROM " & sama_basa, conn
XL.Cells( 1 ,  1 ).CopyFromRecordset rst
...
Рейтинг: 0 / 0
формируется Excel Книга1 из программы на VB6. Очень ДОЛГО!
    #34082384
vitaus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно проще поступить - поменять позднее связывание на раннее, подключив библиотеку экселя. Ну, и объект XL под With сразу вынести, слегка убыстрит.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / формируется Excel Книга1 из программы на VB6. Очень ДОЛГО!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]