Закрытие 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.2 из 5
Похожие ответы