Как удалить vbaproject в excel

 

Добрый день. Есть куча проектов в книге и нужно их удалить. Проблема в том что они запаролены. Я достаточно точно себе представляю что если что то надо взломать то это куча неработающего кода, поэтому надежда только на то что можно удалить не взламывая  

  Сложность в том что переустановку я делал. Все равно они(проекты) где то сидят.  

  Кто что скажет

 

Если у вас Excel 2007 или 2010, всё делается очень просто:  
1) сохраняете файл в формате XLSX (не поддерживающем макросы)  
2) закрываете файл, открываете снова  
3) сохраняете файл под прежним именем (например, в формате XLS)  

  Если файлов много, и вручную делать это лень, — можно написать макрос, выполняющий указанные действия.

 

Inter_E

Пользователь

Сообщений: 399
Регистрация: 01.01.1970

A вообще сломать проект или взломать код vba, сложно? Просто сам еще не пробовал…

With my best regards,      Inter_E

 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

В Правилах об этом есть.

Я сам — дурнее всякого примера! …

 

На самом деле возможно меня не так поняли.    

  Что есть. Есть установленный 2007 excel    
У меня не один файл и не несколько. У меня все файлы по умолчанию содержат эти модули. То есть я открываю любую книгу и о чудо я вижу их при нажатии alt+f11    
Если я создам новую книгу я вижу их снова alt+f11    
Переустановил excel, но они никуда не уходят. Снова они есть эти проекты.    

  Разумеется фокус с пересохранением не сработал. Да и вообще хочу сказать что вижу эти проекты даже если сохраню в 2003 и естествено без поддержки макросов.  

  Может они сидят в каком — то шаблоне  

  Просто как то что то скачали addons какие для excel и теперь обратил внимание что при открытии новой/любой книги код vba не сохраняется / не виден.    
То есть я создал макрос сохр книгу в любом формате. Закрываю. Потом снова открываю а макроса нет. Кода не видно.    

  В момент загрузки в статусе пишет открытие книги с названием одного из проектов. Я думая он что — то качает от туда. Какие-то свойства книги. Где в системе найти шаблон книги по умолчанию

 

Inter_E

Пользователь

Сообщений: 399
Регистрация: 01.01.1970

{quote}{login=KukLP}{date=26.01.2012 05:06}{thema=}{post}В Правилах об этом есть.{/post}{/quote}  

  В каких правилах? Можете дать ссылку?

With my best regards,      Inter_E

 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

Я сам — дурнее всякого примера! …

 

{quote}{login=Inter_E}{date=26.01.2012 08:21}{thema=Re: }{post}{quote}{login=KukLP}{date=26.01.2012 05:06}{thema=}{post}В Правилах об этом есть.{/post}{/quote}  

  В каких правилах? Можете дать ссылку?{/post}{/quote}  
Так же:    
-здесь не взламывают пароли на файлы и проекты VBA;    
-не дают ссылок на ключи к подобным программам(и вообще здесь не дают ключей и т.п. для каких-либо программ);    
-запрещено обсуждение взлома(крэка) программ и файлов.

 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

454, найдите папку xlstart и посмотрите, что у Вас там. И еще. Не верю, что когда Вы сохраняете книгу в xlsx, у Вас в ней остаются макросы.

Я сам — дурнее всякого примера! …

 

Inter_E

Пользователь

Сообщений: 399
Регистрация: 01.01.1970

Да, действительно попробуйте, вот по этой директрии  

  C:Documents and SettingsUserХХ(«Здесь имя вашего компа»)Local SettingsApplication DataMicrosoftOffice  

  там найдете xlstart  и там файл надо удалить. Тогда должно быть ок…

With my best regards,      Inter_E

 

Inter_E

Пользователь

Сообщений: 399
Регистрация: 01.01.1970

Извиняюсь, вот правильная ссылка:  

  C:Documents and SettingsUserХХ(«Здесь имя вашего компа»)Application DataMicrosoftExcel  

  ТАм в папке XLSTART есть файл «PERSONAL» его удалите

With my best regards,      Inter_E

 

{quote}{login=KukLP}{date=26.01.2012 08:29}{thema=}{post}454, найдите папку xlstart и посмотрите, что у Вас там. И еще. Не верю, что когда Вы сохраняете книгу в xlsx, у Вас в ней остаются макросы.{/post}{/quote}  

  Макросы иногда остаются ,я пока выяснил только то что если макрос запустился считай он сохранился, а вот если просто комментарии писать, то их точно не видно при открытии второй раз.

 

Не надо ничего удалять и переустанавливать.  

  Судя по описанным вами симптомам, у вас развивается паранойя, — вы видите проекты там, где их нет.  
Покажите скриншоты этих «проектов» — и мы скажем, как от них избавиться.  

  Вы такие проекты видите, как на этом скриншоте?  

http://ExcelVBA.ru/pictures/20120126-83d-9kb.jpg

 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

Не верю. Пришлите мне в личу(в подписи имейл) хоть один файл xlsm с макросами.

Я сам — дурнее всякого примера! …

 

Я имел ввиду — покажите скриншот кода VBA в файле XLSX (ранее сохранённого, закрытого, и открытого снова)  

  Или прикрепите к сообщению файл XLSX с кодом VBA (c проектом)

 

{quote}{login=Inter_E}{date=26.01.2012 08:39}{thema=исправление}{post}Извиняюсь, вот правильная ссылка:  

  C:Documents and SettingsUserХХ(«Здесь имя вашего компа»)Application DataMicrosoftExcel  

  ТАм в папке XLSTART есть файл «PERSONAL» его удалите{/post}{/quote}  

  Есть такая папка. Она пустая.  
«PERSONAL» там нету. НЕ знаю когда у меня был xp я туда лазил и верю что это возможно, но сейчас у меня другая ОС и там все пусто

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

{quote}{login=Имя забрали}{date=26.01.2012 09:03}{thema=}{post}{quote}{login=KukLP}{date=26.01.2012 08:29}{thema=}{post}{/post}{/quote}Макросы иногда остаются ,я пока выяснил только то что если макрос запустился считай он сохранился, а вот если просто комментарии писать, то их точно не видно при открытии второй раз.{/post}{/quote}Не может такого быть. А Вы, случайно, видите макрос не в личной книге?

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

{quote}{login=KukLP}{date=26.01.2012 09:07}{thema=}{post}Не верю. Пришлите мне в личу(в подписи имейл) хоть один файл xlsm с макросами.{/post}{/quote}А мне пришлите .xlsx с оставшимися макросами.

 

Хорошо вот этот скриншот. НЕ знаю где я подцепил эти проекты, но удалить их я не могу.

 

Это надстройки, которые поставляются вместе с Excel  
Вы их сами подключили )или они были подключены по-умолчанию)  

  Просто отключите их через интерфейс Excel

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

В проекте НЕТ общих модулей с макросами. Разве что в модулях листов и модуле книги. А выше — это надстройки.

 

ОК. Спасибо Всем. Но меня все равно удивило то каким образом их удалось этим настройкам сохраниться если я удалил excel сегодня. И сегодня же установил новый. Ничего не настраивал — они как — то пережили удаление.

 

Обычно любая программа удаляет только свои файлы, а если есть чужие — то она их не удаляет.  

  Грубо говоря, например, в папку XLSTART какие-то программы скопировали надстройки (не обязательно в этой папке). Вы удалили Excel. При удалении Excel увидел, что в папке XLSTART есть не его файлы, поэтому он удалил свои файлы в этой папке (если они были), а саму папку оставил на месте.  

  Вы заново установили Excel по стандартному пути в C:Program Files…    
там уже была папка C:Program FilesMicrosoft OfficeOffice14XLSTART  
в которой уже находились старые надстройки.  
Вы запустили Excel и старые неудалённые надстройки подхватились.  

  P.S. У меня много раз было, когда «модифицируешь» какую-то программу через crack или patch, а по некоторым условиям нужно этот patch скинуть в папку с программой, то когда удаляешь программу через Uninstall, то файл с patch’ем остаётся в этой папке. Т.е. программисты не пишут «ааа, удали всю папку с программой», они пишут «удали файл user.dll, удали файл setup.exe, удали файл modify.dll и т.д.  

  Если бы вы установили офис в другую директорию (не в первоначальную), то скорее всего у вас бы ничего не подцепилось автоматом и этих надстроек не было бы.

 

{quote}{login=EducatedFool}{date=26.01.2012 09:07}{thema=}{post}Я имел ввиду — покажите скриншот кода VBA в файле XLSX (ранее сохранённого, закрытого, и открытого снова)  

  Или прикрепите к сообщению файл XLSX с кодом VBA (c проектом){/post}{/quote}  

  Хорошо прислал<EM><STRONG>Файл удален</STRONG> — велик размер — [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>

 

{quote}{login=EducatedFool}{date=26.01.2012 09:07}{thema=}{post}Я имел ввиду — покажите скриншот кода VBA в файле XLSX (ранее сохранённого, закрытого, и открытого снова)  

  Или прикрепите к сообщению файл XLSX с кодом VBA (c проектом){/post}{/quote}

 

{quote}{login=Ластик}{date=26.01.2012 09:41}{thema=}{post}Обычно любая программа удаляет только свои файлы, а если есть чужие — то она их не удаляет.  

  Грубо говоря, например, в папку XLSTART какие-то программы скопировали надстройки (не обязательно в этой папке). Вы удалили Excel. При удалении Excel увидел, что в папке XLSTART есть не его файлы, поэтому он удалил свои файлы в этой папке (если они были), а саму папку оставил на месте.  

  Вы заново установили Excel по стандартному пути в C:Program Files…    
там уже была папка C:Program FilesMicrosoft OfficeOffice14XLSTART  
в которой уже находились старые надстройки.  
Вы запустили Excel и старые неудалённые надстройки подхватились.  

  P.S. У меня много раз было, когда «модифицируешь» какую-то программу через crack или patch, а по некоторым условиям нужно этот patch скинуть в папку с программой, то когда удаляешь программу через Uninstall, то файл с patch’ем остаётся в этой папке. Т.е. программисты не пишут «ааа, удали всю папку с программой», они пишут «удали файл user.dll, удали файл setup.exe, удали файл modify.dll и т.д.  

  Если бы вы установили офис в другую директорию (не в первоначальную), то скорее всего у вас бы ничего не подцепилось автоматом и этих надстроек не было бы.{/post}{/quote}  

  Да наверно так оно и есть. Тем не менее проблема то еще есть. Символы в редакторе кода не сохраняются

 

{quote}{login=Имя украли}{date=26.01.2012 09:46}{thema=Re: }{post}{quote}{login=EducatedFool}{date=26.01.2012 09:07}{thema=}{post}Я имел ввиду — покажите скриншот кода VBA в файле XLSX (ранее сохранённого, закрытого, и открытого снова)  

  Или прикрепите к сообщению файл XLSX с кодом VBA (c проектом){/post}{/quote}  

  Хорошо прислал{/post}{/quote}  

  Сорри вот этот файл полностью  
<EM><STRONG>Файл удален</STRONG> — велик размер — [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>

 

тут нельзя выкладывать файлы больше 100кб. Их удалят

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

#29

26.01.2012 22:00:25

Вы хоть читате, что Вам пишут? » прикрепите к сообщению файл XLSX с кодом VBA (c проектом)».    
А Вы в каком формате файлы даёте? То xlsm, то docx…

Импорт, экспорт и удаление модуля в редакторе VBA. Программный экспорт-импорт модуля из одной рабочей книги Excel в другую с помощью кода VBA Excel.

1. Откройте рабочую книгу Excel, в которую планируете импортировать модуль. Для импорта модуля в Личную книгу макросов, откройте любую книгу.

2. Откройте редактор VBA сочетанием клавиш Alt+F11 (в этом сочетании используется левая клавиша Alt). Обратите внимание на наличие в окне редактора VBA окна проводника «Project-VBAProject», обычно, расположенного слева. При отсутствии, отобразите его через главное меню, выбрав «View» — «Project Explorer».

3. В окне проводника «Project-VBAProject» найдите строку «VBAProject (ИмяКниги)», где «ИмяКниги» — это имя книги, в которую вы собираетесь импортировать модуль. Если вы желаете импортировать модуль в Личную книгу макросов, строка называется «VBAProject (PERSONAL.XLSB)». Если у вас нет Личной книги макросов — создайте ее.

4. У выбранной строки раскройте все крестики слева.

5. Откройте контекстное меню, кликнув правой кнопкой мыши на строке «ЭтаКнига», и выберите в нем пункт «Import File…».

6. В открывшемся окне выбора файла найдите импортируемый модуль с расширением .bas и дважды кликните по нему, или кликните один раз и нажмите кнопку «Открыть». Модуль импортирован и отобразился в проводнике под именем «Module» с очередным номером, независимо от имени импортируемого файла.

7. Если вы импортировали модуль в Книгу Excel 2007-2016 с расширением .xlsx, ее необходимо будет пересохранить как «Книга Excel с поддержкой макросов (.xlsm)», иначе импортированный модуль не сохранится.

Инструкцию с картинками вы можете посмотреть здесь в параграфе «Пользовательская функция «СуммаПрописью».

Экспорт модуля в редакторе VBA

1. Откройте рабочую книгу Excel, из которой вы планируете экспортировать модуль. Для экспорта модуля из Личной книги макросов, откройте любую книгу.

2. Откройте редактор VBA сочетанием клавиш Alt+F11 и в окне проводника «Project-VBAProject» найдите экспортируемый модуль.

3. Откройте контекстное меню, кликнув правой кнопкой мыши на экспортируемом модуле, и выберите в нем пункт «Export File…».

4. В открывшемся окне выберите папку, куда следует сохранить экспортируемый модуль, если необходимо, измените название сохраняемого файла, и нажмите кнопку «Сохранить». Модуль экспортирован и отобразился в выбранном каталоге с указанным именем и расширением .bas.

Удаление модуля в редакторе VBA

1. В окне проводника «Project-VBAProject» найдите удаляемый модуль.

2. Откройте контекстное меню, кликнув правой кнопкой мыши на удаляемом модуле, и выберите в нем пункт «Remove Module…» с номером удаляемого модуля.

3. VBA Excel предложит экспортировать модуль перед удалением, нажмите «Да», если хотите сохранить модуль, или «Нет», чтобы удалить без сохранения.

Как удалить стандартный модуль с помощью кода VBA Excel, смотрите в последнем параграфе статьи Программное создание модуля.

Программный экспорт-импорт модуля

Пример программного экспорта стандартного модуля "Module1" из книги "Книга2.xlsm" и импорта его в книгу "Книга3.xlsm" с помощью кода VBA Excel:

Sub ExportImportModule()

    Workbooks(«Книга2.xlsm»).VBProject.VBComponents(«Module1»).Export «C:ТестоваяModule1.bas»

    Workbooks(«Книга3.xlsm»).VBProject.VBComponents.Import «C:ТестоваяModule1.bas»

End Sub

Если в книге "Книга3.xlsm" уже присутствует модуль с именем "Module1", то импортированному модулю будет присвоен другой номер.

Программное удаление модуля

Код VBA Excel для программного удаления стандартного модуля с именем "Module24":

Sub RemoveModule()

    With ThisWorkbook.VBProject

        .VBComponents.Remove .VBComponents(«Module24»)

    End With

End Sub

Замените имя "Module24" на имя своего модуля, который вы хотите безвозвратно удалить.


  • #3

Try that Hans W. Herber suggests:

Sub RemoveAllVBAElements()

‘BY Hans W. Herber

Dim vbc As Object
Dim wks As Worksheet
Dim dlg As DialogSheet

With ActiveWorkbook.VBProject
For Each vbc In .VBComponents
Select Case vbc.Type
Case 1, 2, 3
.VBComponents.Remove vbc
Case 100
vbc.CodeModule.DeleteLines 1, vbc.CodeModule.CountOfLines
End Select
Next vbc
End With

‘For old MACRO Excel4MacroSheets
Application.DisplayAlerts = False
For Each wks In Excel4MacroSheets
wks.Delete
Next
For Each dlg In DialogSheets
dlg.Delete
Next
Application.DisplayAlerts = True

MsgBox «All program-elements are deleted!», vbExclamation, «Hi, Ciao, Valete!»

End Sub

  • #4

Please can some kind person explane how to remove / delete an VBA Project.
I have axidently create 3 projecks / work books ?
How I do not know ?

Now when I open the Excel programe using the Icon form the tool bar ( Widows 7 ) I open all three projects = I don,t want them at all !

I click on the Visual Basic button in the Deleveloper tab and get a window = Microsoft Visual Basic — (name of work book ) .xlsb
In the left side = Project — VBA Project.
I have clicked on one of the ( files / work books ) in the list / in the following window the remove tab is not high lighted ???

Please ! Please ansrew in an or with plain instructions ! I have never used VBA projects and most proberly never again.

HELP !

I DON’T UNDERSTAND THE ANSREW FROM ABOVE !

Thanks

Last edited: Mar 12, 2011

  • #5

Hi Philip,

Dumb question, but does your file have an extension of .xlsm? If so then you can just save it an .xlsx extension which can not contain macros. It will give you a warning about this when you come to change file extensions.

I hope this helps and apologize if I didn’t understand you question completely.

AMAS

  • #6

Hi.

As I said I have three VBA work books that open when I click on the Excel icon.
( they are not in any file = in order to open as a file on its own or to bealbe to delete ) ?

When open I open the Developer tab. far left of the tool bar = Visual Basic icon. New window, far left again = 3 project
1st VBAProject (Makcro.xlsb)
2nd VBAProject (Makcro.xlsm)
3rd VBAProject (personal,XLSB)

The first two have the following once the Plus sign has been opened
3 x Modules
up to sheet 3
Thisworkbook

The third
2 x Modules
1 sheet
1 thisworkbook

I hope this is a help and what you asked for ?

Meny ! thanks for the reply + help !

Philip

  • #7

Move them from the XLSTART folder. That should be

Windows XP
C:Documents and SettingsusernameApplication DataMicrosoftExcelXLSTART

In Vista or Windows 7 look here
C:UsersusernameAppDataRoamingMicrosoftExcelXLSTART

  • #8

Sorry ?????

Pass ???
Sorry ! do not under stand your instructions
Is this using save as = if so the save as widow doe’s not have the file ext’s

And how do in find that save in ??? Roaming ??? .

I tried to resave then in XLSX

I now have 5 open and saved VBA Projects

?

Phil

  • #9

Phillip you are mis-understanding what Peter is sugggesting you do. Forget Excel(you can close it). He is telling you to( depending on how old your windows version is) either click the start button, then computer then the folders
Local disk C:UsersusernameAppDataRoamingMicrosoftExcelXLSTART or
My Computer then
Local disk C:UsersusernameAppDataRoamingMicrosoftExcelXLSTART

Each ????? is a folder on your system

  • #10

Sorry, my answer was brief as I was about to go out.

Any Excel file in the XLSTART folder will be loaded every time you start Excel. As Mark said you need to

  • Close Excel
  • Find the XLSTART folder
  • Move any Excel files from there to another folder (like My Documents).

Then start Excel — you should no longer have the unwanted files and modules.

In VBA I can see three different references for PDFCreator. One of them (see the second image) is a version of the software stored locally, and it works. I’d like to use this reference.

The other two are references to versions stored on a server, and they’re broken (at this stage, I don’t have permission to reinstall or delete them).

My problem is that after selecting the desired reference (see the second image) and clicking ‘Ok’, it resets to an incorrect reference, as shown in the third image.

How can I either override whatever’s going on and select the desired reference or remove the incorrect references? While I’m not able to uninstall these versions from the server, I see no reason that my Excel would need to reference them. Can they just be removed from the list?


Image 1: Default state of the VBA Project References (PDFCreator not selected)

Here's what it looks like before adding a reference

Image 2: Selecting the correct PDFCreator version
Selecting correct (local) PDFCreator reference

Image 3: Re-opening the menu shows that the incorrect PDFCreator version is selected
Hitting ok and re-opening References shows that it's changed to an incorrect (on server) PDFCreator reference

Community's user avatar

asked Jan 27, 2017 at 3:43

Sam Woolerton's user avatar

8

You might be able to something like the following…

To Remove broken references:

Private Sub RemoveBrokenReferences(ByVal Book As Workbook)

'////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Dim oRefS As Object, oRef As Object
'////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Set oRefS = Book.VBProject.References
For Each oRef In oRefS
    If oRef.IsBroken Then
        Call oRefS.Remove(oRef)
    End If
Next

End Sub

To Remove a specific reference:

Use something like:

Call ActiveWorkbook.VBProject.References.Remove(oReference)

and you can get the oReference from:

Private Function GetReferenceFromPath(ByVal FilePathName As String) As Object

'////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Dim oFs As Object, oReferenceS As Object, oReference As Object
Dim sFileName  As String, sRefFileName As String
'////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Set oFs = Interaction.CreateObject("Scripting.FileSystemObject")

sFileName = oFs.GetFileName(FilePathName)
Set oReferenceS = ActiveWorkbook.VBProject.References
For Each oReference In oReferenceS
    sRefFileName = oFs.GetFileName(oReference.FullPath)
    If StrComp(sFileName, sRefFileName, vbTextCompare) = 0 Then
        Set GetReferenceFromPath = oReference
    End If
Next

End Function

answered Feb 2, 2017 at 14:42

PaulG's user avatar

PaulGPaulG

1,0217 silver badges9 bronze badges

1

Public Sub RemoveReference()
On Error GoTo EH
    Dim RefName As String
    Dim ref As Reference
    RefName = "Selenium"
     
    Set ref = ThisWorkbook.VBProject.References(RefName)
    ThisWorkbook.VBProject.References.Remove ref
    
Exit Sub
EH:
'If an error was encountered, inform the user
    Select Case Err.Number
        Case Is = 9
            MsgBox "The reference is already removed"
        Exit Sub
        Case Is = 1004
            MsgBox "You probably do not have to have Trust Access To Visual Basic Project checked or macros enabled"
        Exit Sub
       Case Else
         'An unknown error was encountered
            MsgBox "Error in 'RemoveReference'" & vbCrLf & vbCrLf & Err.Description
    End Select
End Sub

P.S It is not possible to remove A MISSING/ broken references programmatically after MISSING occurs, only before it happens or manually after it happens. Most cases of MISSING/ broken references are caused because the type library has never before been registered on that system.
See How to Remove Reference programmatically?

answered Jan 6, 2021 at 11:51

Noam Brand's user avatar

Noam BrandNoam Brand

3152 silver badges13 bronze badges

I had a broken reference problem with a large number of Excel spreadsheets when I uninstalled Flash (which for some unknown reason I had included as a reference).
I got round the problem as follows:

BE CAREFUL BECAUSE THIS INVOLVES A REGISTRY HACK AN IS COMPLICATED.
MAKE A BACKUP OF REGISTRY BEFORE HACKING.

I wrote VBA code to find the Guid of the broken reference.
I used Regedit to insert a DUMMY TypeLib entry as follows:

D27CDB6B-AE6D-11CF-96B8-444553540000 was the Guid of the Broken Reference.

HKEY_CLASSES_ROOTTypeLib{D27CDB6B-AE6D-11CF-96B8-444553540000}
HKEY_CLASSES_ROOTTypeLib{D27CDB6B-AE6D-11CF-96B8-444553540000}1.0 Adobe Acrobat 7.0 Browser Control Type Library 1.0
HKEY_CLASSES_ROOTTypeLib{D27CDB6B-AE6D-11CF-96B8-444553540000}1.0
HKEY_CLASSES_ROOTTypeLib{D27CDB6B-AE6D-11CF-96B8-444553540000}1.0win32 C:Program Files (x86)Common FilesAdobeAcrobatActiveXAcroPDF.dll
HKEY_CLASSES_ROOTTypeLib{D27CDB6B-AE6D-11CF-96B8-444553540000}1.0FLAGS 0
HKEY_CLASSES_ROOTTypeLib{D27CDB6B-AE6D-11CF-96B8-444553540000}1.0HELPDIR C:Program Files (x86)Common FilesAdobeAcrobatActiveX

I based the above on another TypeLib entry.

Then I wrote VBA code to read each Reference.Guid in turn and if the Guid matched {D27CDB6B-AE6D-11CF-96B8-444553540000} to remove the reference using References.Remove Reference.

Code for doing this is available all over the forums so I won’t repeat here.

After modifying all the affected Workbooks I reinstated the saved registry.

Hope this works for you.

BE CAREFUL BECAUSE THIS INVOLVES A REGISTRY HACK AN IS COMPLICATED.
MAKE A BACKUP OF REGISTRY BEFORE HACKING.

answered Jan 10, 2021 at 14:38

Simon Hedges's user avatar

Delete a VBA macro module from Excel with this macro. This macro allows you to fully remove a macro module from Excel. This is great when you need to quickly clean up your macros, vba, or just leftover modules in Excel. You do need to be careful not to delete a module that contains important code.
This is a great macro and is very powerful.

To use this macro, you need to do two things. First, replace Module1 with the name of the actual module which you want to delete. If you wanted, you could include this in a loop in order to delete all modules from the workbook in Excel. Second, you need to enable access to the vba project object model — > In previous versions of Excel go to Tools > Macro > Security — Trusted Publishers check the box next to «Trust access to Visual Basic Editor». In Excel 2007 go to Office Button > Excel Options > Trust Center > Trust Center Settings > Macro Setting and check the box next to «Trust access to the VBA project object model».

Where to install the macro:  Module

Excel Macro to Delete a VBA Module From Excel

Sub Delete_Module()
Dim vbCom As Object

Set vbCom = Application.VBE.ActiveVBProject.VBComponents

vbCom.Remove VBComponent:= _
vbCom.Item("Module1")

End Sub


Excel VBA Course

Excel VBA Course — From Beginner to Expert

200+ Video Lessons
50+ Hours of Instruction
200+ Excel Guides

Become a master of VBA and Macros in Excel and learn how to automate all of your tasks in Excel with this online course. (No VBA experience required.)

View Course

Similar Content on TeachExcel

Open a Word Document from Excel

Macro: This Microsoft Excel macro will open a Microsoft Word document from excel. With this m…

Open a PowerPoint Presentation from Excel

Macro: This free macro for Microsoft Excel allows you to open any PowerPoint presentation fro…

Open PDF from Excel

Tutorial:
How to open a PDF file from a clickable button, link, or image in Excel.  This allows yo…

Remove Comments from a Workbook in Excel — All Comments Deleted — Macro VBA

Macro: Excel macro that will remove/delete all of the comments from an entire Excel workbook….

Delete All Chart Sheets in Excel — Only Chart Sheets are Deleted — Not Embedded Charts

Macro: Delete all chart sheets and tabs in Excel using this macro. This will only delete the char…

Delete Comments in Excel — Permanently Remove Specific Comments from Excel

Macro: Delete a comment in Excel with this macro. You can permanently remove or delete a specific…

How to Install the Macro

  1. Select and copy the text from within the grey box above.
  2. Open the Microsoft Excel file in which you would like the Macro to function.
  3. Press «Alt + F11» — This will open the Visual Basic Editor — Works for all Excel Versions.
     Or For other ways to get there, Click Here.
  4. On the new window that opens up, go to the left side where the vertical pane is located. Locate your Excel file; it will be called VBAProject (YOUR FILE’S NAME HERE) and click this.
  5. If the Macro goes in a Module, Click Here, otherwise continue to Step 8.
  6. If the Macro goes in the Workbook or ThisWorkbook, Click Here, otherwise continue to Step 8.
  7. If the Macro goes in the Worksheet Code, Click Here, otherwise continue to Step 8.
  8. Close the Microsoft Visual Basic Editor window and save the Excel file. When you close the Visual Basic Editor window, the regular Excel window will not close.
  9. You are now ready to run the macro.

Similar Content

Open a Word Document from Excel

Macro: This Microsoft Excel macro will open a Microsoft Word document from excel. With this m…

Open a PowerPoint Presentation from Excel

Macro: This free macro for Microsoft Excel allows you to open any PowerPoint presentation fro…

Open PDF from Excel

Tutorial:
How to open a PDF file from a clickable button, link, or image in Excel.  This allows yo…

Excel VBA Course

Excel VBA Course — From Beginner to Expert

200+ Video Lessons

50+ Hours of Video

200+ Excel Guides

Become a master of VBA and Macros in Excel and learn how to automate all of your tasks in Excel with this online course. (No VBA experience required.)

View Course

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Как удалить tabs для word
  • Как удалить адреса в excel
  • Как удалить tabs for word
  • Как удалить автофильтр excel
  • Как удалить plex excel

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии