Работа с Vba из Lotus

  • Автор темы root
  • Дата начала
R

root

Гость
#1
Как всегда не все то VBA что MS Office OLE
Проблема: Нужно было перелопатить Excel Документ после выгузки из Lotus определенных данных.
Решение : Использовать готовые макросы написанные на 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")
'запускаем макрос