Работа с Excel из VB6
Формулировка задачи:
две недели назад открыл для себя программирование, начал с
vba,так как хотел оптимизировать свою работу в
excel.Сейчас пробую написать программулину(на
VB6,он ведь ближе всего к vba) для автоматического добавления своих макросов в книгу.
Начал я с добавления
Microsoft Excel 8.0 Object Library.И застрял в самом начале
Помогите плиз
null
пробовал
тоже выдает ошибку
Решение задачи: «Работа с Excel из VB6»
textual
Листинг программы
Private Sub Start_Click() Dim objExApp As Object, wbBook As Object Dim sFullPath As String, sPath As String, sWBName As String 'V = Application.GetOpenFilename 'У Вас же есть в VB диалог выбора файлов. Зачем использовать для этого Excel? 'Workbooks(V) - и в VBA у Вас это работало? коллекция Workbooks содержит имена книг(с расширениями), а не полные пути к файлам 'добавляем на форму "Microsoft Common Dialog Control 6.0" из контролов. Если среди контролов нет - добавляем: Проект-Компоненты ' CommonDialog1.Filter = "Excel (*.xls*)|*.xls*" CommonDialog1.ShowOpen sFullPath = CommonDialog1.FileName If sFullPath = "" Then Exit Sub sWBName = Dir(sFullPath, 16) sPath = Replace(sFullPath, sWBName, "") 'создаем новый экзмпляр Excel Set objExApp = CreateObject("Excel.Application") 'On Error GoTo ErrorHandler objExApp.Visible = True objExApp.Workbooks.Open sFullPath With objExApp.Workbooks(sWBName).VBProject.VBComponents ' ошибка Excel.Application.Workbooks(V).Path <> subscript out of range .Import sPath & "Macro\MD.bas" .Import sPath & "Macro\mw2.frm" .Import sPath & "Macro\CFormChanger.cls" End With 'освобождать ресурсы тоже надо: wbBook.Close 0 'закрываем книгу без сохранения objExApp.quit Set wbBook = Nothing: Set objExApp = Nothing Exit Sub ErrorHandler: If Not objExApp Is Nothing Then objExApp.quit Set objExApp = Nothing MsgBox "Программная ошибка!", vbOKOnly, "Внимание!" End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д