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+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

Reply via email to