Закрытие Excel из приложения ВБ - VB
Формулировка задачи:
Проблемма вот в чём: Есть файл экселя и всё я с ним отлично делаю из ВБ но после закрытия повторно он не запускается без перезапуска программы. Точнее сам эксель не зупускается повторно если программа не была перезапущена. Может как то его хитро выгрузить надо?
Я подцепил в проекте Microsoft Excel 8.0 Object Library и вот сильно урезанный но рабочий код того как я запускаю эксель. Всё что я делаю в файле я вырезал так как без тих манипуляций эффект тот же - эксель виснет. Хотя я его закрываю иои програмно Application.Quit и в ручную крестиком но эффект тот же. Этот глюк проявляется и под 2К в 97 экселе и под ХР под Excel2000.
Для работы именно этого примера вам нужно кинуть в папку с программой еще и файл TBase_Report.xls так как он хочет быть открытым
Решение задачи: «Закрытие Excel из приложения ВБ»
textual
Листинг программы
On Error Resume Next Dim MinPth As String If Right(App.Path, 1) <> ' ' Then MinPth = App.Path & ' ' Else MinPth = App.Path End If myExcel.Application.Workbooks.Open MinPth & 'TBase_Report.xls' Dim Contract_Number As Range Dim FieldName As String myExcel.Application.Workbooks.Item('TBase_Report.xls').Worksheets('Contracts').Activate myExcel.Application.Range('Contract_Count') = 'Договоров: ' & DataVisual.Recordset.RecordCount myExcel.Application.Range('Date_Print') = 'Сформирован: ' & Date FieldName = 'Contract_Number' Set Contract_Number = Range(GetLetter(Range(FieldName).Column) & Range(FieldName).Row & ':' & GetLetter(Range(FieldName).Column) & DataVisual.Recordset.RecordCount + Range(FieldName).Row) Contract_Number.Range('A' & CntR).Value = DataVisual.Recordset.Fields('Contract_Number').Value myExcel.Application.WindowState = xlMaximized myExcel.Application.Caption = 'TBase' Application.Visible = True
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д