Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


On Wed, 2011-11-09 at 17:55 -0500, Andrew Douglas Pitonyak wrote:

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


-- 
Hi Andrew,

Excellent - the only problem is, and it aint yours per so, is removing
libraries from a document - at least with LibO 3.4.4 as that is what I
tried it on - does not set the dirty flag for the documnet. So if you
run the macro and close the document the change isn't saved...arrrgh.

Best wishes,

//drew




-- 
For unsubscribe instructions e-mail to: users+help@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

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.