Страницы: 1
RSS
Макросом закрыть окно VBA
 
Здравствуйте!
У меня макрос по завершению открывает "Исходный текст" и прописывает туда троечку макросов,
проблема в том, что окно VBA ну ни как не хочет закрываться, перегуглил весь инет, даже похожего не нашел
Если кто знает как макросом закрыть окно VBA (если это возможно) подскажите.
Заранее спасибо!!!
 
А зачем открывать вообще это окно?
Макросы в файл и без этого вставляются...

пример кода:
Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub AddMacroToWorkbook(ByVal Code$, Optional ByRef WB As Workbook, Optional RunMacro$)
    'Dim VBProj As VBProject, VBComp As VBComponent, CodeMod As CodeModule
 
    On Error Resume Next
    If WB Is Nothing Then Set WB = ActiveWorkbook
 
    Set VBProj = WB.VBProject
    If VBProj Is Nothing Then MsgBox "Невозможно запустить макрос, - нет доступа к проекту VBA", vbExclamation: Exit Sub
 
    Dim mod_name$
    Set VBComp = VBProj.VBComponents.Add(1)        ' vbext_ct_StdModule=1
 
    If VBComp Is Nothing Then MsgBox "Ошибка добавления модуля VBA, - обратитесь к разработчику", vbExclamation: Exit Sub
    Set CodeMod = VBComp.CodeModule
    CodeMod.AddFromString Code$
 
    If Len(Trim(RunMacro$)) Then Run RunMacro$         ' требуется сразу запустить макрос
End Sub
 
Я конечно не очень силен в макросах, но что то не хватает, VBA этот код не видит
 
Он создает модуль, а надо чтоб именно в "Исходный текст" В лист макрос вставил
 
Люди просто закрыть модуль, если в обще макрос на это способен.
 
Цитата
Vasyok написал:
У меня макрос по завершению открывает "Исходный текст" и прописывает туда троечку макросов
Каким кодом это делается?
Можно попробовать закрыть окно, послав Alt+F4, т.е.
Код
1
SendKeys "%{F4}"
 
можно закрыть и штатными средствами, если используете доступ к VBE
Код
1
thisWorkbook.vbproject.vbe.mainwindow.visible = false
Спасибо
 
Цитата
' vbext_ct_StdModule=1
вот эту строку разберите.. поменяйте аргумент, чтобы в другой модуль вставляло..
Живи и дай жить..
 
Как добавить код процедуры программно, скопировать модуль

Там есть и пример с созданием событийных процедур.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1
Читают тему
Наверх
Loading...