email adressen uit word bestand vissen...

Status
Niet open voor verdere reacties.

joog

Gebruiker
Lid geworden
5 jun 2001
Berichten
368
goedendag,

ik heb een word bestand met adresgevens.

een voorbeeld hieronder. (Ik heb alle tekens vervangen door een X, behalve het email adres)

Mijn vraag is: hoe vis ik alle emailadressen eruit?

groet,


Jochanan



XXXXXXXXX
XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXX
XXX info@helpmij.nl XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Wat bedoel je precies met uitvissen?

Wil je de mailadressen gebruiken, of wil je de mail-adressen uit je document hebben?

Als je zoekt naar @, ga je natuurlijk langs alle mailadressen, en vergeet je er niet snel eentje, ik weet niet of je aan deze tip iets hebt?
 
wat ik wel bedoel . . .

Ik bedoel dat ik alle email-adressen eruit wil halen, want die wil ik in mijn contactpersonen toevoegen.
Het zijn er meer dan 400 in het bestrand. Ik kan het wel handmatig gaan doen, dat duurt nogal lang. (met copy en control oid.)

Wat ik me voorstel is dat ik iets doe met zoeken en vervangen. of wellicht een andere methode.


J.
 
Ik heb gisteren even zitten klooien met een macro, waar je misschien wat aan hebt:

Code:
Sub EmailSplitsen()
Dim sTmp As String, sLijst() As String, i As Integer, x As Long, Teller As Integer

    sHuidigeTekst = "@"
    Selection.HomeKey Unit:=wdStory
    With Selection.Find
        .Text = sHuidigeTekst
        .Forward = True
        Do While .Execute
            If .Found Then Teller = Teller + 1
        Loop
    End With
    Selection.HomeKey Unit:=wdStory
    MsgBox Teller

    ReDim Preserve sLijst(Teller)

    Selection.HomeKey Unit:=wdStory
    For i = 1 To Teller
        Selection.Find.Text = "@"
        Selection.Find.Execute
        Selection.MoveLeft Unit:=wdCharacter, Count:=1
        Selection.MoveLeft Unit:=wdWord, Count:=1
        Selection.MoveRight Unit:=wdWord, Count:=5, Extend:=wdExtend
        sLijst(i) = Selection.Range.Text
        sTmp = sTmp & sLijst(i) & vbCrLf
        Selection.MoveRight Unit:=wdCharacter, Count:=1
    Next

MsgBox sTmp

End Sub

Het vervolg van de macro zou kunnen zijn, dat alle emailadressen in een nieuwe tabel of zo worden gezet. De macro is niet helemaal foolproef, omdat punten in een emailadres tot onvolledige emailadressen leidt. Daar is overigens wel een (wat langere) mouw aan te passen.

Michel
 
En nog een variant, die wel je document overhoop gooit, maar wel alle emailadressen er correct uitvist:

Code:
Sub EmailSplitsen2()
Dim sEmail As String, sTmp As String, sLijst() As String, i As Integer, x As Long, Teller As Integer

    Selection.HomeKey Unit:=wdStory
    With Selection.Find
        .Text = " "
        .Replacement.Text = "^p"
        .Forward = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll

    x = ActiveDocument.Paragraphs.Count
    Selection.HomeKey Unit:=wdStory

For i = 1 To x
    sTmp = ActiveDocument.Paragraphs(i).Range.Text
    If InStr(1, sTmp, "@") > 0 Then
        y = y + 1
        ReDim Preserve sLijst(y)
        sLijst(y) = sTmp
        sEmail = sEmail & sLijst(y)
    End If
Next i

MsgBox sEmail

End Sub

Deze macro vervangt alle spaties door alineamarkeringen, en gaat er vanuit, dat je dus altijd na een emailadres een keer een spatie hebt. Wat ook zo zou moeten zijn natuurlijk.... Maakt niet uit of je dan een zin eindigt, of een leesteken hebt, er komt altijd wel een keer een spatie.
Vervolgens wordt elke alinea in een variabele gezet, en gecontroleerd of er een @ in de tekst zit, wat dus duidt op een email adres. Vervolgens wordt de tekst in een variabele gezet, en voilà!

Als de macro gedraaid heeft, kun je met één keer <Ctrl>+<z> je tekst overigens weer herstellen.

Michel
 
macroos

ik heb er nooit mee gewerkt, en is voor mij nog abacadabra.
Enfin, ik heb help in word, dus ik zoek uit,

ik laat het weten!

alvast dank,

J.


-half uur later-
ik denk dat ik wel weet hoe een macro werkt.

helaas, het werkt niet op mijn document.


bij de eerste een foutmelding, en krijg ik visual basic,en bij de andere blijft niets over!

wat zal ik doen?
 
Laatst bewerkt:
Welke foutmelding krijg je? Heb je misschien de macrobeveiliging om Middel of Hoog staan? Om een macro goed te laten werken, moet je de beveiliging eigenlijk op Laag zetten.

Michel
 
beveiliging

het lukt me niet . . .macroos. hoe doe ik dat? Foutmelding zie iknu ooknie meer..


dit gaat mn pet te ver.

ik bedoel, ik snap macroos niet. ik ben geneigd jou, octal-fisch, het bestand te sturen... wat denk je ervan?

groet,

J.
 
Laatst bewerkt:
Als je het bestad comprimeert, dan kun je het wel posten, en als je het niet publiek wilt doen, dan mag je het ook wel mailen.

Eerst maar eens uitleggen wat je moet doen om de macro's te activeren:

Bij Office 2003 en ouder: ga naar <Extra>, <Macro's>, <Beveiliging> en zet de beveiliging op de laagste stand.

De code die ik eerder heb neergezet, moet je plakken in een module van je document. Dat doe je door met je geopende document op <Alt>+<F11> te drukken. Je komt dan in de Visual Basic Editor. Daarna klik je op <Invoegen>, <Module> en plak je de code. Bij voorkeur Email2, want die werkt bij mij het beste.

Het uitvoeren van een macro doe je met <Alt>+<F8>, en dan kies je macro's uit het huidige document waar je de macro in hebt geplakt, niet uit Normal.dot.
Vervolgens klik je op Uitvoeren.

Dat is alles!

Ik heb de macro in een testdocument gezet, dan kun je hem in werking zijn.

Bij mij doet-ie het in ieder geval...

Michel
 

Bijlagen

  • The quick brown fox jumps over the lazy dog.doc
    29 KB · Weergaven: 56
Laatst bewerkt:
een snellere manier is met een E-mail collector
die kun je wil ergens downloaden zoek maar even met google.
 
De eerste opmerking van stefan is natuurlijk complete onzin, want daar heb je helemaal niks aan, maar zijn tweede idee is inderdaad niet zo'n slechte!
Ik had nog nooit van zo'n programmaatje gehoord, want ik heb dat ook niet zo nodig gehad, maar na een eerste Google vond ik EmEx3, wat precies doet wat jij wilt: o.a. ook emailadressen uit een document vissen. Ik heb het uitgeprobeerd, en het werkt prima.

Dus Stefan, bedankt voor die tip!

Michel
 
geweldig

Ik ga t zo proberen, klinkt heel veelbelovend,

wat mij betreft is t opgelost!

dank jullie wel!

J.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan