Gå til innhold

Sensurere en tallrekke i Microsoft Office


howieD

Anbefalte innlegg

Heisann,

 

Jeg trenger hjelp til office word 2007.

 

Det gjelder at jeg har en 20 sifret tallrekke, og bare de 5 første, og 5 siste sifrene skal vises.

De 10 i mellom skal erstattes med tegnet *

 

Eksempel original:

12345123451234512345

 

Ønsket resultat:

12345**********12345

 

 

Hvordan gjør man dette?

 

jeg er helt lost

 

Og igjen, jeg er ikke i Excel, men i Word!

Lenke til kommentar
Videoannonse
Annonse

Tror ikke helt at jeg forstår hva du mener:S

Er det ikke bare og skrive 10 siffrene som wet * tegn

problemet at originaltallene hentes ut fra et kjernesystem, og kopieres over i Word som da sendes ut til de som skal se dokumentet.

 

De 10 midterste sifrene kan ikke offentliggjøres for de som skal lese det, så derfor trenger jjeg en makro e.l som gjenkjenner de 20 sifrene, og erstatter de 10 midterste tallene.

 

Jobben manuelt tilsvarer flerfoldige timer i uken, og det hadde vært utrolig nyttig å ha en automatisert prosess som tar for seg dette :)

Lenke til kommentar

Skal leserane lese dokumentet digitalt eller som papirutgave?

 

Om dei berre skal lese det som papirutgave så kan kanskje det å legge ein firkant over den delen av nummeret som ikkje skal visast?

Då vil berre dei delane av nummeret som stikk ut på høgre og venstre side av firkanten visast.

Lenke til kommentar

De 10 midterste sifrene kan ikke offentliggjøres for de som skal lese det, så derfor trenger jeg en makro e.l som gjenkjenner de 20 sifrene, og erstatter de 10 midterste tallene.

 

Jeg er ingen kløpper på VB, men det skulle vel bli noe sånt:

 

' Aner ikke hvordan du leser inn tallene, men jeg antar at du klarer å få de inn

' i en tekst variabel ved navn OriginalTall (Dim OriginalTall)

ResultatTall="00000000000000000000" ' Initier med en passende verdi

TallLengde = Len(OriginalTall)

 

' Enkel sjekk på at vi har riktig antall siffer

If TallLengde = 20 Then

 

First5 = Left(OriginalTall, 5)

Last5 = Right(OriginalTall, 5)

ResultatTall = First5 + "**********" + Last5

End If

' ResultatTall er nå enten "00000000000000000000" eller "nnnnn**********nnnnn"

 

Hvis du har et dokument på N sider med M forekomster av forskjellige tallrekker (tilfeldig spredt rundt i dokumentet) som du først ønsker å finne og deretter re-formatere så er jo det en litt større og mer komplisert makro ... :p

... men det er mulig ;)

Endret av helsten2
Lenke til kommentar

Hei

 

Jeg vet nærmest ingenting om Words objektmodell. Men dette ser ut til å funke:

 

Sub FjernSifre()
Dim mot
Dim X As String
Selection.WholeStory
For Each mot In Selection.Words
   X = Trim(CStr(mot))
   If X Like "####################" Then
       Selection.Find.ClearFormatting
       Selection.Find.Replacement.ClearFormatting
       With Selection.Find
           .Text = X
           .Replacement.Text = Left(X, 5) & String(10, "*") & Right(X, 5)
           .Format = False
           .MatchCase = False
       End With
       Selection.Find.Execute Replace:=wdReplaceAll
   End If
Next
End Sub

 

Hvis dette virker for deg og det for alvor sparer dere for timer jobb pr uke, gi noen kroner til en fritt valgt veldedighet :)

 

HTH. Beste hilsen Harald

Lenke til kommentar

Hei

 

Jeg vet nærmest ingenting om Words objektmodell. Men dette ser ut til å funke:

 

Sub FjernSifre()
Dim mot
Dim X As String
Selection.WholeStory
For Each mot In Selection.Words
   X = Trim(CStr(mot))
   If X Like "####################" Then
       Selection.Find.ClearFormatting
       Selection.Find.Replacement.ClearFormatting
       With Selection.Find
           .Text = X
           .Replacement.Text = Left(X, 5) & String(10, "*") & Right(X, 5)
           .Format = False
           .MatchCase = False
       End With
       Selection.Find.Execute Replace:=wdReplaceAll
   End If
Next
End Sub

 

Hvis dette virker for deg og det for alvor sparer dere for timer jobb pr uke, gi noen kroner til en fritt valgt veldedighet :)

 

HTH. Beste hilsen Harald

 

 

Dette gjorde meg veldig glad!

Dette fungerer kjempefint!

 

Lover å putte litt penger i røde kors bøtta vår på jobb!

Tusen tusen takk!!

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...