Avatar billede ksattrup Nybegynder
05. marts 2008 - 23:14 Der er 17 kommentarer

makro til at erstatte word-objects i excel-regneark

Hej

Jeg har et excel-dokument, hvor jeg gerne skulle have erstattet alle de wordobjects som ligger i arkene med et billede.

Kan det lade sig gøre?
Avatar billede supertekst Ekspert
10. marts 2008 - 20:37 #1
Går ud fra, at det er af typen WordDocument's
Ligger der andre objekter i dokumentet?
Det er vel ikke samme billede, der skal indsættes - eller?
Avatar billede ksattrup Nybegynder
11. marts 2008 - 18:31 #2
På alle de ark, hvor der er et word-object(tror det er sådan et) skal det erstattes med det samme billede. Der står nemlig det samme i alle word-objects.
Avatar billede supertekst Ekspert
11. marts 2008 - 23:12 #3
forslag - koden anbringes i aktuelle ark:

Sub erstatObj()
    For Each obj In ActiveSheet.OLEObjects
        With obj
Rem gem placering & størrelse
            navn = .Name
            oL = .Left
            oT = .Top
            oW = .Width
            oh = .Height
            .Delete
        End With

Rem indsætter billede på samme placering & størrelse
        ActiveSheet.Pictures.Insert("\\private\PB$\Billeder\dk-benzin.jpg").Select
        With Selection
            .Left = oL
            .Top = oT
            .Width = oW
            .Height = oh
        End With
    Next
End Sub
Avatar billede supertekst Ekspert
11. marts 2008 - 23:13 #4
I første omgang på et enkelte ark...
Avatar billede supertekst Ekspert
11. marts 2008 - 23:23 #5
Alle ark i mappen:

Sub erstatObj()
    For Each ark In ActiveWorkbook.Sheets
        ark.Activate
        behandlingAfArk
    Next
End Sub
Private Sub behandlingAfArk()
    For Each obj In ActiveSheet.OLEObjects
        With obj
Rem gem placering & størrelse
            navn = .Name
            oL = .Left
            oT = .Top
            oW = .Width
            oh = .Height
            .Delete
        End With

Rem indsætter billede på samme placering & størrelse
        ActiveSheet.Pictures.Insert("\\private\PB$\Billeder\dk-benzin.jpg").Select
        With Selection
            .Left = oL
            .Top = oT
            .Width = oW
            .Height = oh
        End With
    Next
End Sub
Avatar billede ksattrup Nybegynder
12. marts 2008 - 16:52 #6
Skal jeg bruge den første kode, hvis jeg gerne vil bruge den sidste kode, det er nemlig en kode, som skal være tilgængelig for flere brugere på et netværk.
Avatar billede ksattrup Nybegynder
12. marts 2008 - 17:05 #7
Du må undskylde, men jeg har lige opdaget at det ikke er alle word-objects hvor der står det samme. Kan man kun erstatte dem, hvor der står noget bestemt?

Det er nemlig kun de objects, som skal erstattes, alle de andre skal bare stå uberørt.
Avatar billede supertekst Ekspert
12. marts 2008 - 18:17 #8
Sp.1 Version 2 behandler alle ark i en xls.mappe
Sp.2 Ja - men så skal jeg vide, hvordan et objekt, der skal slettes, kan identificeres?
Avatar billede ksattrup Nybegynder
12. marts 2008 - 18:31 #9
Ja det er jo lige det... Jeg ved bare hvad der står i objektet - kan det identificeres på andre måder?
Avatar billede supertekst Ekspert
13. marts 2008 - 14:46 #10
Er er tale om dokumenter - hvis ja - er der så noget i dokumentnavnet, der kan identificerer de dok., der skal slettes?
Avatar billede ksattrup Nybegynder
13. marts 2008 - 21:55 #11
jeg ved hvad teksten er i dokumentet, men har dokumentet også et navn - ligesom autotekster i word har et navn?
Avatar billede supertekst Ekspert
14. marts 2008 - 14:13 #12
Hvad adskiller tekstmæssigt de "dokumenter", der må slettes i forhold til dem, der ikke må.
Avatar billede ksattrup Nybegynder
16. marts 2008 - 10:32 #13
Skal du jeg skrive hvad der præcis står i de "dokumenter", som skal erstattes?
Avatar billede supertekst Ekspert
16. marts 2008 - 11:53 #14
Word-objekterne er det lagrede dokumenter - så der er et filnavn - eller?
Avatar billede ksattrup Nybegynder
16. marts 2008 - 15:15 #15
Nåh.. Kan man se det noget sted, for det er ikke mig, som har lavet excel-mappen. Jeg har kun en fil, men ved du hvordan man kan se det? Den må jo tydeligvis stå et eller andet sted.
Avatar billede supertekst Ekspert
17. marts 2008 - 14:44 #16
Hvis muligt, er du velkommen til at sende filen til: pb@supertekst-it.dk
Avatar billede ksattrup Nybegynder
20. marts 2008 - 19:42 #17
Mange tak, det gør jeg så...
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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