Gå til innhold

Søke etter epost i txt fil


Anbefalte innlegg

Videoannonse
Annonse

Tja, du kan jo prøve dette vbs-script som jeg snekra sammen på 1 2 3. Det forutsettes rene mailadresser av typen xxxx@yyyyy i teksten, dvs ikke noe mailto:xxxx@yyyy greier etc.

 

Set oShell = WScript.CreateObject ("WSCript.shell")
oShell.run"Notepad.exe"
wscript.sleep 1000
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("inputFil.txt", 1) 'Adressa til inputfila
Do While Not f.AtEndOfStream
c = f.readline & " "
ar=split(c," ")
for i = 0 To UBound(ar)-1
If InStr(ar(i),"@") >0 Then
x = Right(ar(i),1)
If x="." Or x="!" Or x="?" Or x="," Or x=":" Or x=";" Then ar(i) = Left(ar(i), Len(ar(i))-1)
cc = cc & ar(i) & "   "
End if
next
Loop
oShell.SendKeys cc 'Skriver til Notepad

Lenke til kommentar

Takk for rask respons, jeg kjørte dette nå og det ligner det jeg er på jakt etter.

Problemet er at i outputen så tar den også med Fra:

 

Vet du hvordan man unngår dette?

Målet er å importere alle epost adresser som finnes i txt fila over i et excel dokument.

 

 

 

Tja, du kan jo prøve dette vbs-script som jeg snekra sammen på 1 2 3. Det forutsettes rene mailadresser av typen xxxx@yyyyy i teksten, dvs ikke noe mailto:xxxx@yyyy greier etc.

 

Set oShell = WScript.CreateObject ("WSCript.shell")
oShell.run"Notepad.exe"
wscript.sleep 1000
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("inputFil.txt", 1) 'Adressa til inputfila
Do While Not f.AtEndOfStream
c = f.readline & " "
ar=split(c," ")
for i = 0 To UBound(ar)-1
If InStr(ar(i),"@") >0 Then
x = Right(ar(i),1)
If x="." Or x="!" Or x="?" Or x="," Or x=":" Or x=";" Then ar(i) = Left(ar(i), Len(ar(i))-1)
cc = cc & ar(i) & "   "
End if
next
Loop
oShell.SendKeys cc 'Skriver til Notepad

9640963[/snapback]

Lenke til kommentar

Jeg har gjort om litt på scriptet og får nå en feilmelding. Kopierer inn scriptet slik det ser ut nå:

Option Explicit

Dim oShell, fso, f, c, cc, ar, i, x

 

 

Set oShell = WScript.CreateObject ("WSCript.shell")

oShell.run"notepad.exe" 'Notepad.exe"

WScript.sleep 1000

Set fso = CreateObject("Scripting.FileSystemObject")

Set f = fso.OpenTextFile("D:\script\2.txt", 1) 'Adressa til inputfila

Do While Not f.AtEndOfStream

c = f.readline & " "

ar=Split(c," ")

For i = 0 To UBound(ar)-1

If InStr(ar(i),"@") >0 Then

x = Right(ar(i),1)

 

If x="." Or x="!" Or x="?" Or x="," Or x=":" Or x=";" Then ar(i) = Left(ar(i), Len(ar(i))-1)

cc = cc & ar(i) & " " & vbCrLf 'setter inn line break

End If

 

Next

Loop

oShell.SendKeys cc 'Skriver til Notepad

 

 

Når jeg kjører denne så får jeg ut noen epost adresser, men den ser ut til å stoppe midt i jobben som kjøres. Via admin editoren får jeg følgende feilmelding:

 

hent epost.vbs(49, 1) Microsoft VBScript runtime error: Invalid procedure call or argument

Lenke til kommentar

Etter feilmeldinga å dømme gjelder feilen instruksjonen: hent epost.vbs(49, 1), dvs meldinga sier at enten er det noe feil med selve kallet: hent epost.vbs(49,1) eller så er en eller begge av parametrene 49,1 feil i forhold til det epost.vbs forventer av parametre. Mer konkret hjelp kan jeg ikke gi, fordi du gir alt for lite informasjon for det.

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...