On 11/09/2011 05:45 PM, Andrew Douglas Pitonyak wrote:
On 11/09/2011 05:07 PM, drew wrote:
On Wed, 2011-11-09 at 20:12 +0000, Alex Thurgood wrote:
Le 09/11/2011 10:22, hhm a écrit :
Hi Hans,
I'm looking for a way to find every macro that is attached to a
document and
delete or respectively deactivate them. How do I do that?
With a script would probably be the easisest way, by unzipping the OD*
files and parsing the unzipped contents to seach for the Basic
directory, deleting it, then rezipping the file ?
Hi Alex,
I was thinking it took a bit more then that and so I just tried it and
yes.
You need to make three changes.
After unzipping the file you remove two directories:
= Basic
= Dialogs
Then you need to edit the file manifest.xml in the META-INF directory.
- remove all lines that reference basic or dialog.
[They look something like]
<manifest:file-entry manifest:media-type="text/xml"
manifest:full-path="Basic/Standard/script-lb.xml"/>
Then you re-zip and voila it works.
If you leave out the last step the file will not open.
HTH somehow,
//drew
Drew's method will work just fine if what you mean to do is to remove
all macros contained in a document (as opposed to removing all
references to macros from inside the document; in a button or an
associated event, for example).
See if you can make the document current and run this macro....
Sub RemoveAllContainedLibs
Dim sNames
Dim oLibs
Dim i%
oLibs = ThisComponent.BasicLibraries
sNames = oLibs.getElementNames()
For i = UBound(sNames) To LBound(sNames) Step -1
oLibs.removeLibrary(sNames(i))
Next
oLibs = ThisComponent.DialogLibraries
sNames = oLibs.getElementNames()
For i = UBound(sNames) To LBound(sNames) Step -1
oLibs.removeLibrary(sNames(i))
Next
End Sub
--
Andrew Pitonyak
My Macro Document: http://www.pitonyak.org/AndrewMacro.odt
Info: http://www.pitonyak.org/oo.php
--
For unsubscribe instructions e-mail to: users+h...@global.libreoffice.org
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/global/users/
All messages sent to this list will be publicly archived and cannot be deleted