ОФИЦИАЛЬНЫЙ ФОРУМ ГРУППЫ КОМПАНИЙ «ТЕХНОКОМ»

ОФИЦИАЛЬНЫЙ ФОРУМ ГРУППЫ КОМПАНИЙ «ТЕХНОКОМ» (http://forum.tk-chel.ru/index.php)
-   Система «АвтоГРАФ»: Программное обеспечение (http://forum.tk-chel.ru/forumdisplay.php?f=4)
-   -   Выгрузка Рейсов в Excel (http://forum.tk-chel.ru/showthread.php?t=1399)

Tolik 27.12.2011 09:00

Выгрузка Рейсов в Excel
 
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 секунд
Цитата:

Сообщение от SK (Сообщение 21708)
А что выдает у Вас 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

Вложений: 1
Вот ошибка

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

Все работает. Спасибо.


Текущее время: 13:34. Часовой пояс GMT.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot