Avatar billede suss Nybegynder
30. juni 2005 - 13:44 Der er 7 kommentarer og
1 løsning

Kode der sletter alle makroer

Jeg sidder og laver en masse skabeloner. Til skabelonerne laver jeg nogle makroer, som henter oplysninger, auto indsætter tekst m.m.
Når jeg videresender dokumenterne baseret på disse skabeloner, får jeg problemer med makro-sikkerheden.
Jeg efterlyser derfor noget kode, der sletter alle makroer, når dokumentet lukkes. Er der nogen, der kan hjælpe med dette lille problem :O) ???
Avatar billede rvm Nybegynder
30. juni 2005 - 13:55 #1
Du vil altså lave en makro, der sletter sig selv - det hedder en virsu og derfor vil du få problemet med dit antivirusprogram...

Men hvis du f.eks. placerer maroen i normal.dot og køre den på det aktive dokument, så skulle det nok kunne lade sig gøre - vil det være en løsnig, der er OK ?
Avatar billede suss Nybegynder
30. juni 2005 - 14:18 #2
Hm.... det lyder lidt skummelt - men jah. Jeg har tidligere benyttet at placere makroerne i normal.dot, men når jeg laver nye versioner, er der også en ny normal.dot og derved overskriver jeg de andre brugers indstillinger - det bliver man ikke populær af :O) Og jeg skal kunne videresende mine dokumenter til samarbejdspartnere, der så skal kunne skrive videre på sagen. Derfor kan jeg ikke bare sende en pdf-fil. Jeg kan heller ikke forvente, at alt og alle vil installere mit certifikat - det er kun okay internt. Men jeg kan jo heller ikke ha´ at mit antivirusprogram popper op og forhindrer åbningen af dokumenterne. Andre forslag?
Avatar billede rvm Nybegynder
30. juni 2005 - 14:35 #3
Så må du manuelt gå ind i assistenten og slette de moduler der er placeret under makroer
Avatar billede rvm Nybegynder
30. juni 2005 - 14:37 #4
Men jeg arbejder videre med sagen i morgen :-)

Det jeg mente med Normal.dot var at den´makro der sletter andre makroer i andre filer skulle ligee i normal.dot og køres aktivt fra dig, når du vil sende dine skabeloner til samarbejdspartnere.
Avatar billede supertekst Ekspert
01. juli 2005 - 11:36 #5
Lidt kode, derkan væretil inspiration:

Rem Følgende kode er i "ThisDocument i Normal"
Sub autoclose()
    find_Slet_Macroer
End Sub
Sub find_Slet_Macroer()
Dim antalProjekter, projektNavn, antalKomponenter, komponentNavn, vbC As Object, antalLinier

    antalProjekter = Application.VBE.VBProjects.Count
    If antalProjekter > 0 Then
        For p = 1 To antalProjekter
            projektNavn = LCase(Application.VBE.VBProjects.Item(p).Name)
            If projektNavn = "project" Then
                antalKomponenter = Application.VBE.VBProjects.Item(p).VBComponents.Count
                If antalKomponenter > 0 Then
                    For c = 1 To antalKomponenter
                        komponentNavn = LCase(Application.VBE.VBProjects.Item(p).VBComponents(c).Name)
                        If komponentNavn <> "thisdocument" Then
Rem sletter evt. modul-objektet
                            Set vbC = Application.VBE.VBProjects.Item(p).VBComponents.Item(komponentNavn)
                            Application.VBE.VBProjects.Item(p).VBComponents.Remove vbC
                        Else
Rem sletter evt. kodelinier i ThisDocument - men ikke objektet
                            antalLinier = Application.VBE.VBProjects.Item(p).VBComponents(c).CodeModule.CountOfLines
                            If antalLinier > 0 Then
                                Application.VBE.VBProjects.Item(p).VBComponents(c).CodeModule.DeleteLines 1, antalLinier
                            End If
                        End If
                    Next c
                End If
            End If
        Next p
    End If
End Sub
Avatar billede suss Nybegynder
09. marts 2007 - 10:58 #6
Lukker
Avatar billede supertekst Ekspert
09. marts 2007 - 14:41 #7
Hvad blev så løsningen?
Avatar billede suss Nybegynder
18. april 2007 - 15:22 #8
Det er ikke nogen løsning :-( I Word 97 benyttede jeg mig af en-NULL stil funktion og det er bedre end at "udfordre" diverse anti virus programmer - det kan vist kun give problemer - men det kan jeg ikke rigtig finde frem til i Word XP. Så der er ikke rigtig nogen løsning for nuværende.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Tag et kursus i Word og øg effektiviteten

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester