Avatar billede puppetmaster Nybegynder
22. marts 2002 - 12:31 Der er 5 kommentarer og
1 løsning

Makro i Word 2000

der kan søge en fil igennem for alle forekomster af sri00 efterfulgt af 6 tal, f.eks.
sri00432321
sri00546789

Disse skal anbringes i en ny tekstfil, det er ligegyldigt om formatet er .txt eller .doc
Avatar billede puppetmaster Nybegynder
22. marts 2002 - 12:35 #1
Til illustration:

RFP02 SRI00604339
STP01          K                       
DTP02 ISR200203201204                      203       
S04P1 04   

Her vil jeg gerne have hevet SRI00604339 ud i en ny tekstfil
Avatar billede rvm Nybegynder
22. marts 2002 - 12:48 #2
Her er lidt at bygge videre på - jeg skal desværre til møde, så jeg er her føst igen senere *S*

Sub FindOrd()
' Makro indspillet 05-02-2002 af Richardt Veje Madsen

'Gå til toppen af dokumentet
Selection.HomeKey Unit:=wdStory

'tæler antal ord i dokumentet
AntalOrd = ActiveDocument.Words.Count

'Marker første ord
Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
Flag = 0
   
'løkke
For n = 1 To AntalOrd
    ' Indsætter ordet i en variabel
    var = Selection
    Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdMove
   
    MyNewString = Mid(var, 1, 5)
    MyNewString1 = Mid(var, 6)
    Mylen = Len(MyNewString1)
    MyCheck = VarType(Mylen) ' skal være 2
   
    'Hvis ordet er længere en et bogstav
    If (MyNewString = "sri00") And (Mylen = 6) And (MyCheck = 2) Then
       
        Open "c:\tekst.txt" For Append Shared As #1
        Print #1, var
        Close #1
       
    End If
   
Next n
   
End Sub
Avatar billede rvm Nybegynder
22. marts 2002 - 16:47 #3
Her er en testet version *S*

Sub FindOrd()
' Makro indspillet 05-02-2002 af Richardt Veje Madsen

'Gå til toppen af dokumentet
Selection.HomeKey Unit:=wdStory

'tæler antal ord i dokumentet
AntalOrd = ActiveDocument.Words.Count

'Marker første ord
Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
var = Selection
flag = True

'løkke
For n = 1 To AntalOrd
    If flag = True Then
        flag = False
        Else
        Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdMove
        Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
        var = Selection
    End If
    MyNewString = Mid(var, 1, 5)
    MyNewString1 = Mid(var, 6)
    Mylen = Len(MyNewString1)
    Mycheck = IsNumeric(Mylen)
    'Hvis ordet er længere en et bogstav
    If (MyNewString = "sri00") And (Mylen = 6) And (Mycheck = True) Then
        Open "c:\tekst.txt" For Append Shared As #1
        Print #1, var
        Close #1
    End If
Next n
   
End Sub
Avatar billede puppetmaster Nybegynder
25. marts 2002 - 09:08 #4
1000 tak, rvm, der skulle lidt tilrettelser til, men det virker nu.
Avatar billede puppetmaster Nybegynder
25. marts 2002 - 09:36 #5
Er det muligt at checke dokumentet igennem, uden at scrolle?
Sagen er nemlig den, at hvis det givent dokument tager f.eks. 15 sekunder ved Udskriftslayout(100%), tager det kun ca. 7-8 sekunder ved Udskriftslayout(10%)!
Det er jo en betragtelig forskel.
Avatar billede rvm Nybegynder
25. marts 2002 - 17:47 #6
Du kunne optage at du laver Udskriftslayout(10%)som det føste i makroen.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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