Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Макрос удаления макросов - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос удаления макросов (Макросы/Sub)
Макрос удаления макросов
vfrc08 Дата: Пятница, 05.06.2020, 12:03 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Добрый день. Прошу подсказать код макроса удаляющий все макросы в книге и самого себя!
[vba]
Код
Sub Delete_VBA()

  Dim oVB As Object
    For Each oVB In ActiveWorkbook.VBProject.VBComponents
        On Error Resume Next
        With oVB
            If .Type = 1 Or .Type = 2 Or .Type = 3 Then .Collection.Remove oVB 'модули, классы, формы
            If .Type = 100 Then .CodeModule.DeleteLines 1, .CodeModule.CountOfLines 'книга, листы
        End With
    Next
    Set oVB = Nothing
End Sub
[/vba]
Тема такая была, но макрос нерабочий. предложение пересохранить в .xlsx не подходит. Нужно просто удаление макроса. Якобы рабочий макрос у меня не работает. Защиты макросов нет.
ругается на строку
[vba]
Код
For Each oVB In ActiveWorkbook.VBProject.VBComponents
[/vba]
К сообщению приложен файл: 3891875.xlsm (15.7 Kb)


Максим
 
Ответить
СообщениеДобрый день. Прошу подсказать код макроса удаляющий все макросы в книге и самого себя!
[vba]
Код
Sub Delete_VBA()

  Dim oVB As Object
    For Each oVB In ActiveWorkbook.VBProject.VBComponents
        On Error Resume Next
        With oVB
            If .Type = 1 Or .Type = 2 Or .Type = 3 Then .Collection.Remove oVB 'модули, классы, формы
            If .Type = 100 Then .CodeModule.DeleteLines 1, .CodeModule.CountOfLines 'книга, листы
        End With
    Next
    Set oVB = Nothing
End Sub
[/vba]
Тема такая была, но макрос нерабочий. предложение пересохранить в .xlsx не подходит. Нужно просто удаление макроса. Якобы рабочий макрос у меня не работает. Защиты макросов нет.
ругается на строку
[vba]
Код
For Each oVB In ActiveWorkbook.VBProject.VBComponents
[/vba]

Автор - vfrc08
Дата добавления - 05.06.2020 в 12:03
Pelena Дата: Пятница, 05.06.2020, 12:22 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19161
Репутация: 4412 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
У меня нормально отработал.
Проверьте, стоит ли у Вас галка Доверять доступ к объектной модели VBA (вкладка Разработчик -- Безопасность макросов)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
У меня нормально отработал.
Проверьте, стоит ли у Вас галка Доверять доступ к объектной модели VBA (вкладка Разработчик -- Безопасность макросов)

Автор - Pelena
Дата добавления - 05.06.2020 в 12:22
Sobirjon Дата: Пятница, 05.06.2020, 12:38 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 151
Репутация: 2 ±
Замечаний: 0% ±

2016
Вариант по проще
[vba]
Код
Sub KillMe()
    Dim a As String
    Application.DisplayAlerts = False
    ThisWorkbook.ChangeFileAccess xlReadOnly
    a = ThisWorkbook.FullName
        
    Kill a
    Application.DisplayAlerts = True
    ThisWorkbook.Close (False)
End Sub
[/vba]
 
Ответить
СообщениеВариант по проще
[vba]
Код
Sub KillMe()
    Dim a As String
    Application.DisplayAlerts = False
    ThisWorkbook.ChangeFileAccess xlReadOnly
    a = ThisWorkbook.FullName
        
    Kill a
    Application.DisplayAlerts = True
    ThisWorkbook.Close (False)
End Sub
[/vba]

Автор - Sobirjon
Дата добавления - 05.06.2020 в 12:38
Pelena Дата: Пятница, 05.06.2020, 13:29 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 19161
Репутация: 4412 ±
Замечаний: ±

Excel 365 & Mac Excel
Вариант по проще
ну да, лучшее средство от головной боли - гильотина :D
Нет файла - нет проблемы


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение
Вариант по проще
ну да, лучшее средство от головной боли - гильотина :D
Нет файла - нет проблемы

Автор - Pelena
Дата добавления - 05.06.2020 в 13:29
Sobirjon Дата: Пятница, 05.06.2020, 13:31 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 151
Репутация: 2 ±
Замечаний: 0% ±

2016
Pelena, lol Как с On Error как люблю lol
Ну а если по заданию
и самого себя!

Исходя из этого подумал что будет проще :D
 
Ответить
СообщениеPelena, lol Как с On Error как люблю lol
Ну а если по заданию
и самого себя!

Исходя из этого подумал что будет проще :D

Автор - Sobirjon
Дата добавления - 05.06.2020 в 13:31
Pelena Дата: Пятница, 05.06.2020, 13:33 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 19161
Репутация: 4412 ±
Замечаний: ±

Excel 365 & Mac Excel
хм... а я прочитала из самого себя. Слепая совсем


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщениехм... а я прочитала из самого себя. Слепая совсем

Автор - Pelena
Дата добавления - 05.06.2020 в 13:33
vfrc08 Дата: Пятница, 05.06.2020, 13:38 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Вариант по проще


То что нужно!!!


Максим
 
Ответить
Сообщение
Вариант по проще


То что нужно!!!

Автор - vfrc08
Дата добавления - 05.06.2020 в 13:38
bmv98rus Дата: Пятница, 05.06.2020, 13:56 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4098
Репутация: 766 ±
Замечаний: 0% ±

Excel 2013/2016
О теневом копировании и возврате удаленного файла видимо никто не слышал :-)


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеО теневом копировании и возврате удаленного файла видимо никто не слышал :-)

Автор - bmv98rus
Дата добавления - 05.06.2020 в 13:56
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос удаления макросов (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!