Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> VB и приложения офиса, Запускаем, изменяем, сохраняем 
:(
    Опции темы
rmaf
Дата 3.10.2005, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 15.7.2005

Репутация: нет
Всего: нет



Зарание прозу меня извинить за столь делитантский код. Но все же...

Вот такой код:

Код

Private Sub Cmd1_Click()
    Dim ExcelApp As Object
    Dim at As Object
    Dim bt As Object
    Dim shablon As Object
    kod = Frm.Txt1.Text
    
    If (Len(kod) < 6) Or Len(kod) > 12 Then MsgBox "Íå â³ðíî ââåäåíî êîä...", , "ïîìèëêà"
    
    Set ExcelApp = CreateObject("Excel.Application")
    ExcelApp.Visible = False
    
    Set at = ExcelApp.Workbooks.Open(App.Path & "\in\at.xls")
    Set shablon = ExcelApp.Workbooks.Open(App.Path & "\in\shablon.xls")
    'shablon.Activate
'---Ïåðâàÿ ñòðàíèöà
    s1 = 6
    i = 2
    While at.Worksheets(1).Cells(i, 1) <> nul
        If kod = Val(at.Worksheets(1).Cells(i, 1)) Then
            ki = 2
            For k = 2 To 9
                shablon.Worksheets(1).Cells(s1, ki) = at.Worksheets(1).Cells(i, k)
                ki = ki + 1
            Next k
            s1 = s1 + 1
        End If
        i = i + 1
    Wend
    at.Close True
'------------------
'---Âòîðàÿ ñòðàíèöà
Set bt = ExcelApp.Workbooks.Open(App.Path & "\in\bt.xls")
    s1 = 4
    i = 2
    While bt.Worksheets(1).Cells(i, 1) <> nul
        If kod = Val(bt.Worksheets(1).Cells(i, 1)) Then
            pr = 0
            For k = 3 To 6
                If bt.Worksheets(1).Cells(i, k) <> nul Then
                    pr = 1
                    GoTo l1
                End If
            Next k
l1:
            If pr = 1 Then
                ki = 1
                For k = 2 To 7
                    shablon.Worksheets(2).Cells(s1, ki) = bt.Worksheets(1).Cells(i, k)
                    ki = ki + 1
                Next k
                s1 = s1 + 1
                shablon.Worksheets(2).Cells(s1, k).EntireRow.Insert
                pr = 0
            End If
        End If
        i = i + 1
    Wend
    bt.Close True
'------------------
    Frm.Hide
    shablon.SaveAs (App.Path & "\out\" & kod & ".xls")
    shablon.Close True
    MsgBox "Âèêîíàíî!", , "Ïîâ³äîìëåííÿ"
    End
    'ExcelApp.quit True

End Sub



Почему-то при завершении работы кода, программа очень долго думает и ничего с ней поделать нельзя. В списке задачь системы показывается как рабочая (никакого намека на зависание).

Может кто может что-то сказать в чем тут моя недоделка?

Да, и еще....
Код

    'ExcelApp.quit True

эта строка почему-то выпадает в ошибку...

Спасибо

Это сообщение отредактировал(а) rmaf - 3.10.2005, 16:29
PM MAIL   Вверх
cardinal
Дата 3.10.2005, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99



Цитата(rmaf @ 3.10.2005, 14:27)
Почему-то при завершении работы кода, программа очень долго думает и ничего с ней поделать нельзя.

Ты знаешь какая строчка задумывается? Сделай пошаговое исполнение этой процедуры.


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
rmaf
Дата 3.10.2005, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 15.7.2005

Репутация: нет
Всего: нет



Ок! Попробую.
Че я сам не догадался...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0416 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.