By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
454,621 Members | 1,087 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 454,621 IT Pros & Developers. It's quick & easy.

compare and replace visio text using excel VBA

100+
P: 142
I try to compare the text in excel and visio, if the text match, then replace that visio text with a range of excel text. Do anybody have any experiment with that? any ideal will be a big help.

Thanks
Mar 22 '07 #1
Share this Question
Share on Google+
33 Replies


SammyB
Expert 100+
P: 807
I try to compare the text in excel and visio, if the text match, then replace that visio text with a range of excel text. Do anybody have any experiment with that? any ideal will be a big help.

Thanks
Seems like I've already given you all that you need, so it's not clear what you having trouble with. Is the excel text in a cell or a shape? How do you know which Visio shape to use? How is the Excel Range Text inserted into the Visio shape? In multiple lines?
Mar 22 '07 #2

100+
P: 142
Seems like I've already given you all that you need, so it's not clear what you having trouble with. Is the excel text in a cell or a shape? How do you know which Visio shape to use? How is the Excel Range Text inserted into the Visio shape? In multiple lines?
In a visio drawing have a textbox with text "ABC",
in excel cells (two cells in one column) have text:
"ABC
DEF".
What I want is after I open the visio drawing from excel VBA, if the "ABC" in visio match "ABC" in excel, then replace the "ABC" in visio with
"ABC
DEF".

Any ideal? all i can think about is the "replace" function, but still cannot figure out a way.
Mar 22 '07 #3

SammyB
Expert 100+
P: 807
This works for me:
Expand|Select|Wrap|Line Numbers
  1.     Dim c As Range             ' Actually a single cell
  2.     Dim s As Visio.Shape
  3.     Dim sFind As String         'String to find
  4.     Dim sReplacement As String 'Replacement string
  5.     Dim i As Integer
  6.     With Range("A1:A2")         'My location of ABC & DEF
  7.         sFind = .Cells(1)
  8.         For Each c In .Cells
  9.             sReplacement = sReplacement & c.Text & Chr(10)
  10.         Next c
  11.         sReplacement = Left(sReplacement, Len(sReplacement) - 1) ' Remove last CR
  12.     End With
  13.     For Each s In vsApp.ActivePage.Shapes
  14.         If s.Text = sFind Then s.Text = sReplacement
  15.     Next s
Mar 22 '07 #4

100+
P: 142
This works for me:
Expand|Select|Wrap|Line Numbers
  1.     Dim c As Range             ' Actually a single cell
  2.     Dim s As Visio.Shape
  3.     Dim sFind As String         'String to find
  4.     Dim sReplacement As String 'Replacement string
  5.     Dim i As Integer
  6.     With Range("A1:A2")         'My location of ABC & DEF
  7.         sFind = .Cells(1)
  8.         For Each c In .Cells
  9.             sReplacement = sReplacement & c.Text & Chr(10)
  10.         Next c
  11.         sReplacement = Left(sReplacement, Len(sReplacement) - 1) ' Remove last CR
  12.     End With
  13.     For Each s In vsApp.ActivePage.Shapes
  14.         If s.Text = sFind Then s.Text = sReplacement
  15.     Next s
when i use this code, it didin't change the "ABC" to "ABC DEF" in the visio textbox, but input "ABC DEF" to all other shapes. and even i change the "ABC" to "XXX" in A1, it still input "ABC DEF" to all other shapes. Should we not declare the textbox as shape?
Mar 22 '07 #5

SammyB
Expert 100+
P: 807
when i use this code, it didin't change the "ABC" to "ABC DEF" in the visio textbox, but input "ABC DEF" to all other shapes. and even i change the "ABC" to "XXX" in A1, it still input "ABC DEF" to all other shapes. Should we not declare the textbox as shape?
>Should we not declare the textbox as shape?
I did: Dim s As Visio.Shape

>input "ABC DEF" to all other shapes
Put a breakpoint at the begining of your code and single step (F8) through it and see why If s.Text = sFind is always true

When steping thru, you can hover with the mouse over a variable and see their values, or you can select a variable and do Debug, Quick Watch on the menu to see the value.
Mar 22 '07 #6

100+
P: 142
>Should we not declare the textbox as shape?
I did: Dim s As Visio.Shape

>input "ABC DEF" to all other shapes
Put a breakpoint at the begining of your code and single step (F8) through it and see why If s.Text = sFind is always true

When steping thru, you can hover with the mouse over a variable and see their values, or you can select a variable and do Debug, Quick Watch on the menu to see the value.
when i do debug, it said vsApp: "object variable not set", how can i set it as active vsapp?
Mar 22 '07 #7

SammyB
Expert 100+
P: 807
Expand|Select|Wrap|Line Numbers
  1.     Dim vsApp As Visio.Application
  2.     Dim vsDoc As Visio.Document
  3.     Set vsApp = GetObject(, "Visio.Application")
  4.     Set vsDoc = vsApp.ActiveDocument
Mar 22 '07 #8

100+
P: 142
Figure out it is not vsApp problem. I just mess up with the range. It work for a single column. Since the column of text varies everytime, so i set the range to A1 to Z2.
In excel have something like:
A1 B1 ....
ABC XXX
DEF YYY


Do Until (IsEmpty(Cells(1, j)))
If Not (IsEmpty(Cells(1, j))) Then
With Range("A1:Z2")
sFind = .Cells(1, j)
For Each c In .Cells
sReplacement = sReplacement & c.Text & Chr(10)
Next c
sReplacement = Left(sReplacement, Len(sReplacement) - 1)
For Each ashape In apage.Shapes
If ashape.Text = sFind Then ashape.Text = sReplacement
Next ashape
j = j + 1
End If
Loop

But the all the text change to:
ABC
XXX
.
.
.
.
, how to make each column text separate?

thanks
Mar 22 '07 #9

SammyB
Expert 100+
P: 807
It hard to tell what went wrong because all of the indents were removed and there is a missing End With, please learn how to use the CODE tags. However, there are two serious problems: (1) you need to initialize sReplacement for each column, and (2) hard to explain, but Cells is actually two different methods: with a sheet, Cells(1,1) is A1, but with a range, Cells(1,1) is the first cell, so Range("C1:C6").Cells(1,1) is C1. So, I'm sure that my post was confusing. Here's my solution for multiple columns:
Expand|Select|Wrap|Line Numbers
  1.     Dim c As Range             ' A single cell
  2.     Dim s As Visio.Shape
  3.     Dim sFind As String         ' String to find
  4.     Dim sReplacement As String ' Replacement string
  5.     Dim i As Integer            ' Column index
  6.     For i = 1 To Cells(1, 1).CurrentRegion.Columns.Count    'for each column
  7.         With Range(Cells(1, i), Cells(1, i).End(xlDown))    'with the data in the column
  8.             sFind = .Cells(1)                             'the first cel is what to look for
  9.             sReplacement = ""
  10.             For Each c In .Cells    'concatinate all of the cells in the column
  11.                 sReplacement = sReplacement & c.Text & Chr(10)
  12.             Next c
  13.             sReplacement = Left(sReplacement, Len(sReplacement) - 1) ' Remove last CR
  14.         End With
  15.         For Each s In vsApp.ActivePage.Shapes ' for each shape
  16.             If s.Text = sFind Then s.Text = sReplacement    ' if it has the text, then replace it
  17.         Next s
  18.     Next i
Mar 23 '07 #10

100+
P: 142
cool, it work. Thanks a lot, Samm


It hard to tell what went wrong because all of the indents were removed and there is a missing End With, please learn how to use the CODE tags. However, there are two serious problems: (1) you need to initialize sReplacement for each column, and (2) hard to explain, but Cells is actually two different methods: with a sheet, Cells(1,1) is A1, but with a range, Cells(1,1) is the first cell, so Range("C1:C6").Cells(1,1) is C1. So, I'm sure that my post was confusing. Here's my solution for multiple columns:
Expand|Select|Wrap|Line Numbers
  1.     Dim c As Range             ' A single cell
  2.     Dim s As Visio.Shape
  3.     Dim sFind As String         ' String to find
  4.     Dim sReplacement As String ' Replacement string
  5.     Dim i As Integer            ' Column index
  6.     For i = 1 To Cells(1, 1).CurrentRegion.Columns.Count    'for each column
  7.         With Range(Cells(1, i), Cells(1, i).End(xlDown))    'with the data in the column
  8.             sFind = .Cells(1)                             'the first cel is what to look for
  9.             sReplacement = ""
  10.             For Each c In .Cells    'concatinate all of the cells in the column
  11.                 sReplacement = sReplacement & c.Text & Chr(10)
  12.             Next c
  13.             sReplacement = Left(sReplacement, Len(sReplacement) - 1) ' Remove last CR
  14.         End With
  15.         For Each s In vsApp.ActivePage.Shapes ' for each shape
  16.             If s.Text = sFind Then s.Text = sReplacement    ' if it has the text, then replace it
  17.         Next s
  18.     Next i
Mar 27 '07 #11

SammyB
Expert 100+
P: 807
>cool, it work. Thanks a lot, Samm

(_)/
Mar 27 '07 #12

100+
P: 142
Sam, If I want to use the the data on sheet 2 (sheet name: "TEXT"), where I should put the sheet number to? or is there a way to match the sheet name instead the sheet number?
thanks

Expand|Select|Wrap|Line Numbers
  1.  
  2. For i = 1 To Sheet2.Cells(1, 1).CurrentRegion.Columns.Count    'for each column
  3.         With Range(sheet2.Cells(1, i), sheet.Cells(1, i).End(xlDown))    'with the data in the column
  4.             sFind = Cells(1)            
  5.  
  6.  

It hard to tell what went wrong because all of the indents were removed and there is a missing End With, please learn how to use the CODE tags. However, there are two serious problems: (1) you need to initialize sReplacement for each column, and (2) hard to explain, but Cells is actually two different methods: with a sheet, Cells(1,1) is A1, but with a range, Cells(1,1) is the first cell, so Range("C1:C6").Cells(1,1) is C1. So, I'm sure that my post was confusing. Here's my solution for multiple columns:
Expand|Select|Wrap|Line Numbers
  1.     Dim c As Range             ' A single cell
  2.     Dim s As Visio.Shape
  3.     Dim sFind As String         ' String to find
  4.     Dim sReplacement As String ' Replacement string
  5.     Dim i As Integer            ' Column index
  6.     For i = 1 To Cells(1, 1).CurrentRegion.Columns.Count    'for each column
  7.         With Range(Cells(1, i), Cells(1, i).End(xlDown))    'with the data in the column
  8.             sFind = .Cells(1)                             'the first cel is what to look for
  9.             sReplacement = ""
  10.             For Each c In .Cells    'concatinate all of the cells in the column
  11.                 sReplacement = sReplacement & c.Text & Chr(10)
  12.             Next c
  13.             sReplacement = Left(sReplacement, Len(sReplacement) - 1) ' Remove last CR
  14.         End With
  15.         For Each s In vsApp.ActivePage.Shapes ' for each shape
  16.             If s.Text = sFind Then s.Text = sReplacement    ' if it has the text, then replace it
  17.         Next s
  18.     Next i
Mar 28 '07 #13

SammyB
Expert 100+
P: 807
Sam, If I want to use the the data on sheet 2 (sheet name: "TEXT"), where I should put the sheet number to? or is there a way to match the sheet name instead the sheet number?
thanks

Expand|Select|Wrap|Line Numbers
  1.  
  2. For i = 1 To Sheet2.Cells(1, 1).CurrentRegion.Columns.Count    'for each column
  3.         With Range(sheet2.Cells(1, i), sheet.Cells(1, i).End(xlDown))    'with the data in the column
  4.             sFind = Cells(1)            
  5.  
  6.  
Replace Sheet2 with Worksheets("TEXT"). Probably easiest to nest With blocks:
Expand|Select|Wrap|Line Numbers
  1.     With Worksheets("TEXT")
  2.         For i = 1 To .Cells(1, 1).CurrentRegion.Columns.Count    'for each column
  3.                 With .Range(.Cells(1, i), .Cells(1, i).End(xlDown))    'with the data in the column
  4.                     sFind = .Cells(1)
  5.                 End With
  6.         Next i
  7.     End With
Mar 28 '07 #14

100+
P: 142
If i want specify only two rows in each column in sheet "TEXT" input to visio, and my goal is enter the row numbers i want to two cells in sheet1. and then the sReplacement will only have values I pick. how to make that happen?
Mar 28 '07 #15

SammyB
Expert 100+
P: 807
If i want specify only two rows in each column in sheet "TEXT" input to visio, and my goal is enter the row numbers i want to two cells in sheet1. and then the sReplacement will only have values I pick. how to make that happen?
Sorry, that's not clear. Give me a sample of what the excel sheet looks like and then tell what that does to Visio.

This is what I think you want:
Say Visio has two shapes: (1) "A Job" but it's on two lines (2)"B Job" only one line, and you want to replace both of them with "A Good Job" on three lines

So, column A in excel has 2, A, Job,3,A,Good,Job in A1:A7.
Column B has 1,B Job,3,A,Good,Job in A1:A6.

Is that how you want it?
Mar 28 '07 #16

100+
P: 142
let me explain it:
There is number of shapes in visio, let's take two shape as example, and each shape have a textbox, the text are "A" & "B".
In excel, sheet "TEXT" have two column, row 1 have letter "A" & "B"..., and there is a range of data under "A" & "B". The code you help me above can input all the data under "A" &"B" to visio, but I only want some row under "A" & "B" input to the visio each time. So I want to input the row number in excel sheet 1, and only those row's data will be input to visio.

hopefully you can help.

Thanks

Sorry, that's not clear. Give me a sample of what the excel sheet looks like and then tell what that does to Visio.
Mar 29 '07 #17

SammyB
Expert 100+
P: 807
let me explain it:
There is number of shapes in visio, let's take two shape as example, and each shape have a textbox, the text are "A" & "B".
In excel, sheet "TEXT" have two column, row 1 have letter "A" & "B"..., and there is a range of data under "A" & "B". The code you help me above can input all the data under "A" &"B" to visio, but I only want some row under "A" & "B" input to the visio each time. So I want to input the row number in excel sheet 1, and only those row's data will be input to visio.

hopefully you can help.

Thanks
Ah, I see where you're going, that's easier. We can just grab the entire column, use the first row for sFind and the second row for the replacement row number:
Expand|Select|Wrap|Line Numbers
  1. Sub Macro1()
  2.     With Worksheets("TEXT")
  3.         For i = 1 To .Cells(1, 1).CurrentRegion.Columns.Count 'for each column
  4.             With .Columns(i)            'with the data in the column
  5.                 sFind = .Cells(1)
  6.                 Dim iRow As Integer
  7.                 iRow = .Cells(2)
  8.                 sReplace = .Cells(iRow)
  9.             End With
  10.         Next i
  11.     End With
  12. End Sub
Now, after you get done with the Visio update, you can .Cells(1) = .Cells(iRow) and you're ready for the next update. Plus, you can use a formula in row 2, so you can auto-magically update the Visio chart each month. I love it! That should get you a pay increase. :cool:
Mar 29 '07 #18

100+
P: 142
what I want is the iRow from worksheet1, so

Expand|Select|Wrap|Line Numbers
  1. Sub Macro1()
  2.     With Worksheets("TEXT")
  3.         For i = 1 To .Cells(1, 1).CurrentRegion.Columns.Count 'for each column
  4.             With .Columns(i)            'with the data in the column
  5.                 sFind = .Cells(1)
  6.                 With Worksheets(1)
  7.                 Dim iRow As Integer
  8.                 iRow = .Cells(2)
  9.                 End With
  10.                 sReplace = .Cells(iRow)
  11.             End With
  12.         Next i
  13.     End With
  14. End Sub
but it come out "sReplace=.Cells(iRow)" object-defined error.
Mar 29 '07 #19

SammyB
Expert 100+
P: 807
Is sReplace Dim'ed as string?
Mar 29 '07 #20

100+
P: 142
I think I am not a explainer, there may be 10 row in each column in worksheet"Text", and I may only want three row for input. So I input those three row numbers I want in worksheet 1, and it will input correspondly.

what I want is the iRow from worksheet1, so

Expand|Select|Wrap|Line Numbers
  1. Sub Macro1()
  2.     With Worksheets("TEXT")
  3.         For i = 1 To .Cells(1, 1).CurrentRegion.Columns.Count 'for each column
  4.             With .Columns(i)            'with the data in the column
  5.                 sFind = .Cells(1)
  6.                 With Worksheets(1)
  7.                 Dim iRow As Integer
  8.                 iRow = .Cells(2)
  9.                 End With
  10.                 sReplace = .Cells(iRow)
  11.             End With
  12.         Next i
  13.     End With
  14. End Sub
but it come out "sReplace=.Cells(iRow)" object-defined error.
Mar 29 '07 #21

100+
P: 142
yes, sReplace as string
Mar 29 '07 #22

SammyB
Expert 100+
P: 807
yes, sReplace as string
You added another With
Expand|Select|Wrap|Line Numbers
  1. With Worksheets(1)
  2.     iRow = .Cells(2)
  3. End With
That gives you the second cell in the first Worksheet which is either A2 or B1, I've forgotten which.

This is what you want:
Expand|Select|Wrap|Line Numbers
  1.     With Worksheets("TEXT")
  2.         For i = 1 To .Cells(1, 1).CurrentRegion.Columns.Count 'for each column
  3.             With .Columns(i)            'with the data in the column
  4.                 sFind = .Cells(1).Text
  5.                 Dim iRow As Integer
  6.                 iRow = .Cells(2).Value
  7.                 sReplace = .Cells(iRow).Text
  8.             End With
  9.             MsgBox "Replace " & sFind & " with " & sReplace
  10.         Next i
  11.     End With
Unless you are saying that the replacement text is not on the same sheet as the find text. My understanding is that the find and replace text are on the same sheet and the same column with find on row 1, and a row pointer on row 2.
Mar 29 '07 #23

SammyB
Expert 100+
P: 807
yes, sReplace as string
If the find and replace are on different sheets, then you want something like this:
Expand|Select|Wrap|Line Numbers
  1.     Dim wsOld As Worksheet, wsNew As Worksheet
  2.     Set wsOld = Worksheets("TEXT")
  3.     Set wsNew = Worksheets("MAY")
  4.     Dim sFind As String, sReplace As String
  5.     Dim i As Integer
  6.     For i = 1 To wsOld.Cells(1, 1).CurrentRegion.Columns.Count 'for each column
  7.         sFind = wsOld.Cells(1, i).Text
  8.         Dim iRow As Integer
  9.         iRow = wsOld.Cells(2, i).Value
  10.         sReplace = wsNew.Cells(iRow, i).Text
  11.         MsgBox "Replace " & sFind & " with " & sReplace
  12.     Next i
Mar 29 '07 #24

100+
P: 142
The find and replace text are on the same sheet same column, the sheet name is "TEXT", but I want the row pointer in a column in sheet 1. So if I enter 2, 5 in sheet1, row 2 and 5 in sheet "TEXT" will be input to visio.
Mar 29 '07 #25

SammyB
Expert 100+
P: 807
The find and replace text are on the same sheet same column, the sheet name is "TEXT", but I want the row pointer in a column in sheet 1. So if I enter 2, 5 in sheet1, row 2 and 5 in sheet "TEXT" will be input to visio.
You need to Split ;)
Expand|Select|Wrap|Line Numbers
  1.     Dim sFind As String, sReplace As String
  2.     Dim sRow As String, v As Variant
  3.     Dim i As Integer, j As Integer
  4.     With Worksheets("TEXT")
  5.         For i = 1 To .Cells(1, 1).CurrentRegion.Columns.Count 'for each column
  6.             With .Columns(i)            'with the data in the column
  7.                 sFind = .Cells(1).Text
  8.                 Dim iRow As Integer
  9.                 sRow = .Cells(2).Value
  10.                 v = Split(sRow, ",")
  11.                 sReplace = ""
  12.                 For j = 0 To UBound(v)
  13.                     sReplace = sReplace & .Cells(v(j)).Text & Chr(10)
  14.                 Next j
  15.             End With
  16.             MsgBox "Replace " & sFind & " with " & sReplace
  17.         Next i
  18.     End With
Mar 29 '07 #26

100+
P: 142
I don't get it, how can we know it is using the row pointer from sheet 1?

You need to Split ;)
Expand|Select|Wrap|Line Numbers
  1.     Dim sFind As String, sReplace As String
  2.     Dim sRow As String, v As Variant
  3.     Dim i As Integer, j As Integer
  4.     With Worksheets("TEXT")
  5.         For i = 1 To .Cells(1, 1).CurrentRegion.Columns.Count 'for each column
  6.             With .Columns(i)            'with the data in the column
  7.                 sFind = .Cells(1).Text
  8.                 Dim iRow As Integer
  9.                 sRow = .Cells(2).Value
  10.                 v = Split(sRow, ",")
  11.                 sReplace = ""
  12.                 For j = 0 To UBound(v)
  13.                     sReplace = sReplace & .Cells(v(j)).Text & Chr(10)
  14.                 Next j
  15.             End With
  16.             MsgBox "Replace " & sFind & " with " & sReplace
  17.         Next i
  18.     End With
Mar 29 '07 #27

SammyB
Expert 100+
P: 807
I don't get it, how can we know it is using the row pointer from sheet 1?
I'm sorry, I didn't read your post correctly. Is there just one row pointer on Sheet1 or is there one for each column on the TEXT sheet?
Mar 29 '07 #28

100+
P: 142
I'm sorry, I didn't read your post correctly. Is there just one row pointer on Sheet1 or is there one for each column on the TEXT sheet?
there is more than one row pointer, but each row pointer is for all the column on TEXT sheet.
Mar 29 '07 #29

SammyB
Expert 100+
P: 807
there is more than one row pointer, but each row pointer is for all the column on TEXT sheet.
Since, you are using multiple sheets, I got rid of the With Block's. It's too easy to trick your brain. Assuming your row list is in A1, this should work:
Expand|Select|Wrap|Line Numbers
  1. Sub Macro2()
  2.     Dim wsText As Worksheet, ws As Worksheet
  3.     Set wsText = Worksheets("TEXT")
  4.     Set ws = Worksheets("Sheet1")
  5.     Dim sFind As String, sReplace As String, v As Variant
  6.     Dim i As Integer, j As Integer
  7.     For i = 1 To wsText.Cells(1, 1).CurrentRegion.Columns.Count 'for each column
  8.         sFind = wsText.Cells(1, i).Text
  9.         Dim sRow As String
  10.         sRow = ws.Range("A1").Text
  11.         v = Split(sRow, ",")
  12.         sReplace = ""
  13.         For j = 0 To UBound(v)
  14.             sReplace = sReplace & wsText.Cells(v(j), i).Text & Chr(10)
  15.         Next j
  16.         MsgBox "Replace " & sFind & " with " & sReplace
  17.     Next i
  18. End Sub
Mar 29 '07 #30

100+
P: 142
What is the format for "ws.Range().Text"?
I try to use the list from A1:A3, but "ws.Range("A1:A3").Text" won't work?
Mar 29 '07 #31

SammyB
Expert 100+
P: 807
What is the format for "ws.Range().Text"?
I try to use the list from A1:A3, but "ws.Range("A1:A3").Text" won't work?
Argggggggg, when you said "So if I enter 2, 5 in sheet1...", I thought you ment that you entered 2,5 in a single cell. How do you know how long the list is? I'm going to assume that it starts in A1, and continues on row 1, and has a blank cell at the end of the list. In other words, in the 2,5 case, A1=2, B1=5, and C1 is blank.
Mar 29 '07 #32

SammyB
Expert 100+
P: 807
What is the format for "ws.Range().Text"?
I try to use the list from A1:A3, but "ws.Range("A1:A3").Text" won't work?
Sorry for the confusion. Does this make sense?
Expand|Select|Wrap|Line Numbers
  1. Sub Macro4()
  2.     Dim wsText As Worksheet, ws As Worksheet
  3.     Set wsText = Worksheets("TEXT")
  4.     Set ws = Worksheets("Sheet1")
  5.     Dim sFind As String, sReplace As String, v As Variant
  6.     Dim i As Integer, j As Integer, iRow As Integer
  7.     For i = 1 To wsText.Cells(1, 1).CurrentRegion.Columns.Count 'for each column
  8.         sFind = wsText.Cells(1, i).Text
  9.         sReplace = ""
  10.         For j = 1 To ws.Range("A1").End(xlToRight).Column
  11.             iRow = ws.Cells(1, j).Value
  12.             sReplace = sReplace & wsText.Cells(iRow, i).Text & Chr(10)
  13.         Next j
  14.         MsgBox "Replace " & sFind & " with " & sReplace
  15.     Next i
  16. End Sub
Mar 29 '07 #33

100+
P: 142
oh, yeah, finally got it, thanks, I was wonder what that split function is doing here, but it make sense now.
Mar 29 '07 #34

Post your reply

Sign in to post your reply or Sign up for a free account.