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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Удаление макроса макросом
KolyvanOFF Дата: Среда, 18.02.2015, 08:58 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 217
Репутация: 7 ±
Замечаний: 60% ±

Excel 2010
Добрый день. Прошу подсказать код макроса удаляющий все макросы в книге и самого себя!


С уважением, Евгений
 
Ответить
СообщениеДобрый день. Прошу подсказать код макроса удаляющий все макросы в книге и самого себя!

Автор - KolyvanOFF
Дата добавления - 18.02.2015 в 08:58
Nic70y Дата: Среда, 18.02.2015, 09:20 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8999
Репутация: 2366 ±
Замечаний: 0% ±

Excel 2010
сохранение файл как... xlsx не подходит?
http://www.excelworld.ru/forum/10-15252-1


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Среда, 18.02.2015, 09:26
 
Ответить
Сообщениесохранение файл как... xlsx не подходит?
http://www.excelworld.ru/forum/10-15252-1

Автор - Nic70y
Дата добавления - 18.02.2015 в 09:20
KolyvanOFF Дата: Среда, 18.02.2015, 09:36 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 217
Репутация: 7 ±
Замечаний: 60% ±

Excel 2010
но в разработчике макросы все ровно фигурируют. И запускаются!


С уважением, Евгений
 
Ответить
Сообщениено в разработчике макросы все ровно фигурируют. И запускаются!

Автор - KolyvanOFF
Дата добавления - 18.02.2015 в 09:36
Nic70y Дата: Среда, 18.02.2015, 09:44 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 8999
Репутация: 2366 ±
Замечаний: 0% ±

Excel 2010
xlsx не может содержать макросы.
может они у Вас в персональной книге макросов.


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Среда, 18.02.2015, 09:46
 
Ответить
Сообщениеxlsx не может содержать макросы.
может они у Вас в персональной книге макросов.

Автор - Nic70y
Дата добавления - 18.02.2015 в 09:44
KolyvanOFF Дата: Среда, 18.02.2015, 10:11 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 217
Репутация: 7 ±
Замечаний: 60% ±

Excel 2010
Вот в том то и дело что не в персоналке.


С уважением, Евгений
 
Ответить
СообщениеВот в том то и дело что не в персоналке.

Автор - KolyvanOFF
Дата добавления - 18.02.2015 в 10:11
Nic70y Дата: Среда, 18.02.2015, 10:17 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 8999
Репутация: 2366 ±
Замечаний: 0% ±

Excel 2010
KolyvanOFF, не может такого быть в принципе.
xlsx не может содержать макросы

закройте, его и откройте заново,


ЮMoney 41001841029809
 
Ответить
СообщениеKolyvanOFF, не может такого быть в принципе.
xlsx не может содержать макросы

закройте, его и откройте заново,

Автор - Nic70y
Дата добавления - 18.02.2015 в 10:17
Manyasha Дата: Среда, 18.02.2015, 11:26 | Сообщение № 7
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 901 ±
Замечаний: 0% ±

Excel 2010, 2016
Ну если все-таки понадобится код для удаления макросов, то
[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]

Кстати, если разместить макрос в книге, в которой нужно его запускать, удаляется все, кроме этого макроса (у меня через раз срабатывает). А если сохранить в личную книгу макросов, то из активной книги удаляется все!


ЯД: 410013299366744 WM: R193491431804

Сообщение отредактировал Manyasha - Среда, 18.02.2015, 11:40
 
Ответить
СообщениеНу если все-таки понадобится код для удаления макросов, то
[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]

Кстати, если разместить макрос в книге, в которой нужно его запускать, удаляется все, кроме этого макроса (у меня через раз срабатывает). А если сохранить в личную книгу макросов, то из активной книги удаляется все!

Автор - Manyasha
Дата добавления - 18.02.2015 в 11:26
KolyvanOFF Дата: Среда, 18.02.2015, 11:43 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 217
Репутация: 7 ±
Замечаний: 60% ±

Excel 2010
Manyasha, материться что то!


С уважением, Евгений
 
Ответить
СообщениеManyasha, материться что то!

Автор - KolyvanOFF
Дата добавления - 18.02.2015 в 11:43
Manyasha Дата: Среда, 18.02.2015, 12:19 | Сообщение № 9
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 901 ±
Замечаний: 0% ±

Excel 2010, 2016
В каком месте? Что пишет? VBA проект не защищен?
Вставьте в начале кода проверку на наличие защиты VBA проекта:
[vba]
Код
If ActiveWorkbook.VBProject.Protection = 1 Then
         MsgBox "Снимите защиту с VBAProject!"
         Exit Sub
End If
[/vba]


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеВ каком месте? Что пишет? VBA проект не защищен?
Вставьте в начале кода проверку на наличие защиты VBA проекта:
[vba]
Код
If ActiveWorkbook.VBProject.Protection = 1 Then
         MsgBox "Снимите защиту с VBAProject!"
         Exit Sub
End If
[/vba]

Автор - Manyasha
Дата добавления - 18.02.2015 в 12:19
KolyvanOFF Дата: Среда, 18.02.2015, 13:44 | Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 217
Репутация: 7 ±
Замечаний: 60% ±

Excel 2010
Спасибо!


С уважением, Евгений
 
Ответить
СообщениеСпасибо!

Автор - KolyvanOFF
Дата добавления - 18.02.2015 в 13:44
volga063 Дата: Понедельник, 04.05.2015, 17:44 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Рекомендую сайт по изучению Макросов Удалено. Реклама
 
Ответить
СообщениеРекомендую сайт по изучению Макросов Удалено. Реклама

Автор - volga063
Дата добавления - 04.05.2015 в 17:44
maverick_77 Дата: Пятница, 07.08.2015, 19:51 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Manyasha, добрый день.
Столкнулся с задачей, как у ТС.
Попробовал воспользоваться Вашим советом. Но не получается ничего. Пишет:
Цитата
Method 'VBProject' of object '_Workbook' failed

И ругается на эту строку:
[vba]
Код
For Each oVB In ActiveWorkbook.VBProject.VBComponents
[/vba]

А в случае, когда вставляю проверку на защиту VBAProject, ругается на строку:
[vba]
Код
If ActiveWorkbook.VBProject.Protection = 1 Then
[/vba]
[moder]Создавайте свою тему, эту закрываю.[/moder]


если нельзя, но очень хочется, то можно!

Сообщение отредактировал Manyasha - Пятница, 07.08.2015, 21:31
 
Ответить
СообщениеManyasha, добрый день.
Столкнулся с задачей, как у ТС.
Попробовал воспользоваться Вашим советом. Но не получается ничего. Пишет:
Цитата
Method 'VBProject' of object '_Workbook' failed

И ругается на эту строку:
[vba]
Код
For Each oVB In ActiveWorkbook.VBProject.VBComponents
[/vba]

А в случае, когда вставляю проверку на защиту VBAProject, ругается на строку:
[vba]
Код
If ActiveWorkbook.VBProject.Protection = 1 Then
[/vba]
[moder]Создавайте свою тему, эту закрываю.[/moder]

Автор - maverick_77
Дата добавления - 07.08.2015 в 19:51
KSV Дата: Пятница, 07.08.2015, 20:37 | Сообщение № 13
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
maverick_77, создайте новую тему и приложите файл-пример с вашим макросом, который выдает ошибку


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333
 
Ответить
Сообщениеmaverick_77, создайте новую тему и приложите файл-пример с вашим макросом, который выдает ошибку

Автор - KSV
Дата добавления - 07.08.2015 в 20:37
  • Страница 1 из 1
  • 1
Поиск:

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