uffie Skrevet 5. oktober 2007 Del Skrevet 5. oktober 2007 Noen som vet hvordan man kan lage et script som søker etter e-post adresser i en txt fil? Og som genererer en ny fil med alle e-post adressene som finnes ? Lenke til kommentar
backup Skrevet 5. oktober 2007 Del Skrevet 5. oktober 2007 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
uffie Skrevet 5. oktober 2007 Forfatter Del Skrevet 5. oktober 2007 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
backup Skrevet 5. oktober 2007 Del Skrevet 5. oktober 2007 Post et eksempel på input og output du får fra scriptet, så skal jeg se om jeg får fiksa det. Sikkert lett å få til bare man ser input og output. Lenke til kommentar
uffie Skrevet 10. oktober 2007 Forfatter Del Skrevet 10. oktober 2007 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
backup Skrevet 11. oktober 2007 Del Skrevet 11. oktober 2007 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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå