Работа с 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