R
root
Проблема: Нужно было перелопатить Excel Документ после выгузки из Lotus определенных данных.Как всегда не все то VBA что MS Office OLE
Решение : Использовать готовые макросы написанные на VBA и внедренные в Excel из Lotus.
Пример:
Код:
Dim StringMacros As String
Dim cn As Integer
Dim xls As Variant
Set xls = CreateObject("Excel.Application")
Stringmacros = |
Sub Mymacros()
msgbox "hello word"
End Sub|
'сам макрос
For cn = xls.ActiveWorkbook.VBProject.VBComponents.Count To 1 Step -1
If xls.ActiveWorkbook.VBProject.VBComponents.Item(cn).Type = 1 Then
'Type =1 это объект типа Модуль удаляем все старые если они есть
xls.ActiveWorkbook.VBProject.VBComponents.Remove xls.ActiveWorkbook.VBProject.VBComponents.Item(cn)
End If
Next cn
xls.ActiveWorkbook.VBProject.VBComponents.add(1)
'создаем новый модуль в котором будет макрос написан на VBA
For cn = xls.ActiveWorkbook.VBProject.VBComponents.Count To 1 Step -1
If xls.ActiveWorkbook.VBProject.VBComponents.Item(cn).Type = 1 Then
'ищем наш модуль
Call xls.ActiveWorkbook.VBProject.VBComponents.Item(cn).CodeModule.InsertLines(1,StringMacros)
'добавляем в него макрос
End If
Next cn
xls.run("Mymacros")
'запускаем макрос