Передача управления кодом от vb6 к vba и обратно
Формулировка задачи:
Здравствуйте!
Я написал небольшую программку на vb6, которая создает форму, контролирующую доступ пользователей к базе данных (в формате xl), формирующую список объектов, позволяющую выбрать необходимый объект (определенный лист книги xl) и собственно запустить приложение Excel, создав новую книгу и скопировав в нее нужный лист. С этими задачами я справился. Никак не разберусь со следующей задачей:
- как перед "показом" листа Excel убрать форму с экрана, а после выхода из Excel вновь показать форму и продолжить работу в ней, другими словами, как понять, что Excel отработал и vb6 пора принимать управление процессом на себя?
Заранее благодарен.
Решение задачи: «Передача управления кодом от vb6 к vba и обратно»
textual
Листинг программы
- Option Explicit
- Dim WithEvents xlApp As Excel.Application
- Dim xlWb As Excel.Workbook
- Private Sub Command1_Click()
- Set xlApp = New Excel.Application
- Set xlWb = xlApp.Workbooks.Open("c:\temp\Лист1.xls") '==== путь к книге
- xlApp.Visible = True
- End Sub
- Private Sub Form_Unload(Cancel As Integer)
- On Error Resume Next
- xlApp.Quit
- End Sub
- Private Sub xlApp_WorkbookBeforeClose(ByVal wb As Excel.Workbook, Cancel As Boolean)
- If wb Is xlWb Then
- xlApp.Visible = False
- If MsgBox("VB6 - Вы уверены, что хотите закрыть книгу?", vbYesNo) = vbNo Then
- Cancel = True
- MsgBox "VB6 - ОК, продолжаем"
- xlApp.Visible = True
- Exit Sub
- Else
- xlApp.EnableEvents = False
- wb.Close True 'закрыть с сохранением
- xlApp.Quit
- End If
- End If
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д