cliff_martin
asked on
Extracting text from a text file
I need to extract certain strings of text from a formatted text file (web addresses). I need to open an existing file extract the info and save into a comma delimeted form. Basically just outputting any web addresses it finds into a text file with quotes around them.
you haven't specified your problem.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
This Looks Like it will work. Forgive me for not stating my problem. Problem: I'm Dumb. Actuall I am a VB newbie and I was just looking for a sample that I can learn from while accomplishing my task. Thanks...
Additions.
Hi,
I add 2 more functions to the "Project".
1. Auto save in case you overwrite the original file (HTML or so.)
2. Create a new file with the results (You specify the file name.)
'=========== Start ============
Option Explicit
Private Sub Command1_Click()
Dim a$
Dim Start As Long
Dim st As Long
Dim ere As Long
Dim f$
Dim Str1$, Str2$
Dim StartTime
Dim EndTime
Dim Rc As RichTextBox
Set Rc = Rtb ' Create valid object reference.
Dim OneLine$
Dim AllLines
Dim Wrap
On Error Resume Next
Wrap = Chr$(13) & Chr(10)
Rc = Rtb
f = FreeFile
CommonDialog1.ShowOpen
Open CommonDialog1.filename For Input As f
FileCopy CommonDialog1.filename, "Autosave.txt" ' this is auto save in case you made a mistake and overwrite your original file.
Rc.Text = Input(LOF(f), f)
Close f
a = Rc.Text
Start = 1
Rc.SelStart = 0
Rc.SelLength = Len(Rtb)
Rc.SelColor = RGB(0, 0, 0)
Rc.SelLength = 0
Rc.Visible = False ' hide richtextbox
Screen.MousePointer = vbHourglass
StartTime = Timer
Do
Str1 = "<A HREF=" & Chr$(34)
Str2 = Chr(34) & ">"
ere = InStr(Start, a, Str1)
If ere Then
Start = ere
Else
Exit Do
End If
ere = InStr(Start, a, Str2)
If ere Then
st = ere
Rc.SelStart = Start - 1
Rc.SelLength = st - Start + 1
Rc.SelColor = QBColor(9)
If Len(Rc.SelText) > 2 Then
OneLine = Right(Rc.SelText, Rc.SelLength - 8)
AllLines = AllLines & OneLine & Wrap
End If
Else
Exit Do
End If
Start = Start + 1
Loop
Close
Text1.Text = AllLines
Screen.MousePointer = vbArrow
Rc.Visible = True
EndTime = Timer
MsgBox "Click OK now and then type the name of the file you want to Save As"
CommonDialog1.ShowOpen
Open CommonDialog1.filename For Output As f
Print #f, Text1.Text
Close
MsgBox "Done " & EndTime - StartTime & " In Seconds"
End Sub
'============End =============
Also the complete Project is at: www.hili.com/~shay/htmlfile.zip
The zip file contained an EXE file for use to any user/Programmer that not having VB 5.0 compiler.
Shay@hili.com
Hi,
I add 2 more functions to the "Project".
1. Auto save in case you overwrite the original file (HTML or so.)
2. Create a new file with the results (You specify the file name.)
'=========== Start ============
Option Explicit
Private Sub Command1_Click()
Dim a$
Dim Start As Long
Dim st As Long
Dim ere As Long
Dim f$
Dim Str1$, Str2$
Dim StartTime
Dim EndTime
Dim Rc As RichTextBox
Set Rc = Rtb ' Create valid object reference.
Dim OneLine$
Dim AllLines
Dim Wrap
On Error Resume Next
Wrap = Chr$(13) & Chr(10)
Rc = Rtb
f = FreeFile
CommonDialog1.ShowOpen
Open CommonDialog1.filename For Input As f
FileCopy CommonDialog1.filename, "Autosave.txt" ' this is auto save in case you made a mistake and overwrite your original file.
Rc.Text = Input(LOF(f), f)
Close f
a = Rc.Text
Start = 1
Rc.SelStart = 0
Rc.SelLength = Len(Rtb)
Rc.SelColor = RGB(0, 0, 0)
Rc.SelLength = 0
Rc.Visible = False ' hide richtextbox
Screen.MousePointer = vbHourglass
StartTime = Timer
Do
Str1 = "<A HREF=" & Chr$(34)
Str2 = Chr(34) & ">"
ere = InStr(Start, a, Str1)
If ere Then
Start = ere
Else
Exit Do
End If
ere = InStr(Start, a, Str2)
If ere Then
st = ere
Rc.SelStart = Start - 1
Rc.SelLength = st - Start + 1
Rc.SelColor = QBColor(9)
If Len(Rc.SelText) > 2 Then
OneLine = Right(Rc.SelText, Rc.SelLength - 8)
AllLines = AllLines & OneLine & Wrap
End If
Else
Exit Do
End If
Start = Start + 1
Loop
Close
Text1.Text = AllLines
Screen.MousePointer = vbArrow
Rc.Visible = True
EndTime = Timer
MsgBox "Click OK now and then type the name of the file you want to Save As"
CommonDialog1.ShowOpen
Open CommonDialog1.filename For Output As f
Print #f, Text1.Text
Close
MsgBox "Done " & EndTime - StartTime & " In Seconds"
End Sub
'============End =============
Also the complete Project is at: www.hili.com/~shay/htmlfile.zip
The zip file contained an EXE file for use to any user/Programmer that not having VB 5.0 compiler.
Shay@hili.com
OKay well I just add a comment and I saw you gave me the points and some of "your comments"
In any case I'll be happy to assist you at any time.
Just Email to shay@hili.com with your question/s.
Thanks again.
BTW is was fun.
In any case I'll be happy to assist you at any time.
Just Email to shay@hili.com with your question/s.
Thanks again.
BTW is was fun.
Hi again.
Well for a newbie I will recommend for you to make a function from the selected
code that I posted here.
Remember backup your code every time you made a big modification.
The project is as an example only i.e. "Form1" , "Project1" and so.
It is NOT the way to write programs, But it is as is in order to give you a chance to change it name and make it clear.
Shay
Well for a newbie I will recommend for you to make a function from the selected
code that I posted here.
Remember backup your code every time you made a big modification.
The project is as an example only i.e. "Form1" , "Project1" and so.
It is NOT the way to write programs, But it is as is in order to give you a chance to change it name and make it clear.
Shay