PDA

Просмотр полной версии : Выгрузка Рейсов в Excel


Tolik
27.12.2011, 09:00
Private Sub Workbook_Open()
Dim Group As Integer
Set AG = CreateObject("AutoGRAPH.AutoGRAPHAutomation")
With AG
.WaitForInitializing
'Cells(1, 1) = .GroupsNum
XNum = 0
If .GroupsNum > 0 Then
For õ = 1 To .GroupsNum ' öèêë ïî êîëè÷åñòâó ãðóïï àâòî
.GroupIndex = õ 'Ïåðåäàåì èíäåêñ (íîìåð) ãðóïïû â ÀÃ
'Cells(XNum, 1) = "èìÿ ãðóïïû"
'Cells(XNum, 2) = .GroupName AG.GroupCarsNum;
'MsgBox Str(.GroupCarsNum)
XGrup = õ + XNum
If .GroupCarsNum > 0 Then
Stroki = 0
For õõ = 1 To .GroupCarsNum ' öèêë ïî êîë ìàøèí â ãðóïïå
If Trim(.GroupName) <> "Ýâàêóàòîðû" Then
Exit For
End If
.CarIndex = õõ 'Ïåðåäàåì èíäåêñ (íîìåð) ÒÑ âíóòðè ãðóïïû â ÀÃ

.SetGroupIndexByFileName (.GroupFileName)
.SetCarIndexByDevice (.CarDevice)
For Y = 1 To 50000000
Next Y
.WaitForComputing(.GroupFileName, .CarDevice, Str(Date) + " 00:00:00", Str(Date) + " 23:59:59", "GSM", 1) = 1
Делаю такой код на Microsoft Visual Basik Excel 2003. Выпадает ошибка на последний строчки. Когда .WaitForComputing не приравниваешь к чему нибудь код не хочет компилироваться? А когда приравниваешь то ошибка 451. Автограф 3.4.7 Сборка 1869

SK
27.12.2011, 09:02
А что выдает у Вас Str(Date) ?

Tolik
27.12.2011, 09:10
27.12.2011

Добавлено через 57 секунд
А что выдает у Вас Str(Date) ?

27.12.2011

SK
27.12.2011, 09:16
напишите значения всех переменных для WaitForComputing

Tolik
27.12.2011, 09:28
.GroupFileName - ООО Юрий.ini
.CarDevice - 15119
Str(Date) + " 00:00:00" - 27.12.2011 00:00:00
Str(Date) + " 23:59:59" - 27.12.2011 23:59:59

Добавлено через 3 минуты
На 1С Не надо .WaitForComputing(.GroupFileName, .CarDevice, Str(Date) + " 00:00:00", Str(Date) + " 23:59:59", "GSM", 1) - приравнивать к 1
А Microsoft Visual Basik если не приравниваешь к чему-нибудь выдает ошибку

Tolik
27.12.2011, 09:37
Вот ошибка

SK
27.12.2011, 09:40
Да всё ясно...
Str(.CarDevice)

Пробуйте...

Я, кстати, не понял, зачем Вы делаете:
.SetGroupIndexByFileName (.GroupFileName)
.SetCarIndexByDevice (.CarDevice)
если у Вас уже есть присвоения:
.GroupIndex = õ
.CarIndex = õõ
этого вполне достаточно...

иначе, по сути Вы по индексу õ или õõ находите GroupFileName или CarDevice и потом сразу же обратно по ним ищете индекс... который получится тем же самым, что логично.

SK
27.12.2011, 09:44
Dim Group As Integer
Set AG = CreateObject("AutoGRAPH.AutoGRAPHAutomation")

With AG
.WaitForInitializing
'Cells(1, 1) = .GroupsNum
'XNum = 0
If .GroupsNum > 0 Then
For o = 1 To .GroupsNum
.GroupIndex = o
'Cells(XNum, 1) = "eiy a?oiiu"
'Cells(XNum, 2) = .GroupName AG.GroupCarsNum;
'MsgBox Str(.GroupCarsNum)
'XGrup = o + XNum
If .GroupCarsNum > 0 Then
'Stroki = 0
For zz = 1 To .GroupCarsNum
.CarIndex = zz
'''.SetGroupIndexByFileName (.GroupFileName)
'''.SetCarIndexByDevice (.CarDevice)
'For Y = 1 To 50000000
'Next Y
MsgBox (AG.GroupFileName + " " + Str(.CarDevice))
ddd = AG.WaitForComputing(.GroupFileName, Str(.CarDevice), Str(Date) + " 00:00:00", Str(Date) + " 23:59:59", "GSM", 1)
Next zz
End If
Next o
End If
End With


Или, если почистить код:


Dim Group As Integer
Set AG = CreateObject("AutoGRAPH.AutoGRAPHAutomation")

With AG
.WaitForInitializing
If .GroupsNum > 0 Then
For o = 1 To .GroupsNum
.GroupIndex = o
If .GroupCarsNum > 0 Then
For zz = 1 To .GroupCarsNum
.CarIndex = zz
MsgBox (AG.GroupFileName + " " + Str(AG.CarDevice))
ddd = AG.WaitForComputing(.GroupFileName, Str(.CarDevice), Str(Date) + " 00:00:00", Str(Date) + " 23:59:59", "GSM", 1)
Next zz
End If
Next o
End If
End With

Tolik
27.12.2011, 10:18
Все работает. Спасибо.