Avatar billede wmtoole Nybegynder
05. juli 2007 - 12:49 Der er 6 kommentarer og
1 løsning

VBA kode til sletning af linier

Er der nogen der kal hjælpe mig med følgende problem:
I en dokumentskabelon vil jeg gerne kunne vælge et defineret Bognærke og slette Bogmærket samt den linie bogmærket står på og X linier fremad?
Det skal kunne gøres ved hjælp af VBA kode!
Avatar billede word-hajen Nybegynder
05. juli 2007 - 21:10 #1
Antagelser:
1. At du med linje mener afsnit
2. At du vil slette 4 afsnit inkl. det afsnit,som bogmærket står i
********************
Public Sub SletLinjer
    If ActiveDocument.Bookmarks.Exist("Bogmærke") then
        activeDocument.Bookmarks("Bogmærke").Range.Paragraphs(4).range.delete
    end if
End Sub
Avatar billede wmtoole Nybegynder
09. juli 2007 - 09:27 #2
Hej word-hajen

Dit forslag ser jo rigtig godt ud men desværre virker det ikke efter hensigten.
Word kommer med en Debug box og rapporterer fejl i linien med delete.
Jeg har indsat koden således (bogmærket eksisterer):

' Sletter 7 afsnit (linier)
If frmProduktblad.txtIV <> "" Then
    If ActiveDocument.Bookmarks.Exists("bmkStartAMU") Then
    ActiveDocument.Bookmarks("bmkStartAMU").Range.Paragraphs(7).Range.Delete
    End If
End If
Avatar billede word-hajen Nybegynder
09. juli 2007 - 21:42 #3
Sorry - det er ikke sådan, når man tror, at man kan gå på vandet...
*********
Sub SletLinjer()
    Dim objRange As Range
    Dim objEndRange As Range
    Dim objDeleteRange As Range
    Dim i As Integer
    Dim intParagraphs As Integer
   
    intParagraphs = 7
   
    If frmProduktblad.txtIV <> "" Then
        If ActiveDocument.Bookmarks.Exists("bmkStartAMU") Then
            Set objRange = ActiveDocument.Bookmarks("bmkStartAMU").Range.Paragraphs(1).Range
            Set objEndRange = ActiveDocument.Bookmarks("bmkStartAMU").Range.Paragraphs(1).Range
           
            For i = 1 To intParagraphs
                objEndRange.Collapse wdCollapseEnd
                objEndRange.EndOf wdParagraph, wdExtend
            Next i
               
            Set objDeleteRange = ActiveDocument.Range(objRange.Start, objEndRange.End)
            objDeleteRange.Delete
        End If
    End If
   
    Set objRange = Nothing
    Set objEndRange = Nothing
    Set objDeleteRange = Nothing
   
End Sub
Avatar billede wmtoole Nybegynder
10. juli 2007 - 09:27 #4
Hej word-hajen
Jeg har implementeret din kode i min skabelon men den giver desværre stadig en fejl som jeg ikke kan gennemskue:
Run-time error '424': Object requierd
og så viser debug rutinen at der er problemer med linien:
    Set objDeleteRange = ActiveDokument.Range(objRange.Start, obJEndRange.End)
Variablen objDeleteRange vises som Empty når jeg peger på den med musen

Jeg vedlægger lige koden som jeg har indtastet den:

' Sletter AMU afsnittet hvis det er et IV kursus
Dim objRange As Range
Dim obJEndRange As Range
Dim objDeleteRang As Range
Dim i As Integer
Dim intParagraphs As Integer

intParagraphs = 8

If frmProduktblad.btnIV = True Then
  If ActiveDocument.Bookmarks.Exists("bmkStartAMU") Then
    Set objRange = ActiveDocument.Bookmarks("bmkStartAMU").Range.Paragraphs(1).Range
    Set obJEndRange = ActiveDocument.Bookmarks("bmkStartAMU").Range.Paragraphs(1).Range
   
    For i = 1 To intParagraphs
      obJEndRange.Collapse wdCollapseEnd
      obJEndRange.EndOf wdParagraph, wdExtend
    Next i
   
    Set objDeleteRange = ActiveDokument.Range(objRange.Start, obJEndRange.End)
    objDeleteRange.Delete
  End If
End If

Set objRange = Nothing
Set obJEndRange = Nothing
Set objDeleteRang = Nothing

Jeg håber meget du kan gennemskue problemet da jeg IKKE er en VBA kode haj
Avatar billede word-hajen Nybegynder
10. juli 2007 - 12:46 #5
Hvis ovenstående er præcis, som det står i din kode - mangler du at erklære variablen objDeleteRange (du har skrevet objDeleteRang).
Avatar billede wmtoole Nybegynder
12. juli 2007 - 10:05 #6
Hej word-hajen
Du havde ret - efter at jeg angav variabel navnet korrekt fungerer det bare perfekt!
MANGE TAK for hjælpen. Det er rigtig skønt at kunne få hjælp af folk der ved hvad de snakker om.
Læg lige et svar så du kan få dine velfortjente points.
Avatar billede word-hajen Nybegynder
12. juli 2007 - 11:41 #7
Velbekomme. Rart at kunne være behjælpelig.
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