Передача управления кодом от vb6 к vba и обратно

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Я написал небольшую программку на vb6, которая создает форму, контролирующую доступ пользователей к базе данных (в формате xl), формирующую список объектов, позволяющую выбрать необходимый объект (определенный лист книги xl) и собственно запустить приложение Excel, создав новую книгу и скопировав в нее нужный лист. С этими задачами я справился. Никак не разберусь со следующей задачей: - как перед "показом" листа Excel убрать форму с экрана, а после выхода из Excel вновь показать форму и продолжить работу в ней, другими словами, как понять, что Excel отработал и vb6 пора принимать управление процессом на себя? Заранее благодарен.

Решение задачи: «Передача управления кодом от vb6 к vba и обратно»

textual
Листинг программы
  1. Option Explicit
  2.  
  3. Dim WithEvents xlApp As Excel.Application
  4. Dim xlWb As Excel.Workbook
  5.  
  6. Private Sub Command1_Click()
  7.   Set xlApp = New Excel.Application
  8.   Set xlWb = xlApp.Workbooks.Open("c:\temp\Лист1.xls") '==== путь к книге
  9.  xlApp.Visible = True
  10. End Sub
  11.  
  12. Private Sub Form_Unload(Cancel As Integer)
  13.   On Error Resume Next
  14.   xlApp.Quit
  15. End Sub
  16.  
  17. Private Sub xlApp_WorkbookBeforeClose(ByVal wb As Excel.Workbook, Cancel As Boolean)
  18.   If wb Is xlWb Then
  19.     xlApp.Visible = False
  20.     If MsgBox("VB6 - Вы уверены, что хотите закрыть книгу?", vbYesNo) = vbNo Then
  21.       Cancel = True
  22.       MsgBox "VB6 - ОК, продолжаем"
  23.       xlApp.Visible = True
  24.       Exit Sub
  25.     Else
  26.       xlApp.EnableEvents = False
  27.       wb.Close True 'закрыть с сохранением
  28.      xlApp.Quit
  29.     End If
  30.   End If
  31. End Sub

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


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

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

11   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут