PDA

Click to See Complete Forum and Search --> : Help PLEASE!!!


joi2
Nov 1st, 2005, 07:48 AM
I am having problems with this code every time I run the code I get an error when this loop runs. what I am trying to do is pick up anything that appears between the words application and platform for example (platform blah, blah, blah, application)and when i run the loop after it finds the first case it gives me an error saying "Ivalid procedure call or argument". heres a copy of the code an i=2105 and j=553

Sub test1()
Dim r As Range
Dim rword As Range
Dim h As Long, l As Long
Dim xlApp As Excel.Application
Dim xlWB As Excel.Workbook

'With ActiveDocument
Dim seastring1 As String
Let seastring1 = ThisDocument.Content

Const seastring2 As String = "Application:"
Const pook As String = "Platform:"





Dim j As Long
Dim i As Long

j = InStr(seastring1, seastring2)
i = InStr(1, seastring1, pook)
Do While i <> 0





MsgBox Mid$(seastring1, i, j - i), Len(Mid$(seastring1, i, j - i))
'MsgBox pook & i
'MsgBox Mid$(seastring1, i, InStr(seastring1, seastring2) - i) ', Len(Mid$(seastring1, i, InStr(seastring1, seastring2) - i ))
i = InStr(i + 1, seastring1, pook)

Loop
'End With
End Sub

Webtest
Nov 1st, 2005, 08:51 AM
MsgBox Mid$(seastring1, i, j - i), Len(Mid$(seastring1, i, j - i))
^I think the comma in this line is a problem ... it makes the "Len" part of the statement look like a code for a button. Replace it with something like { & " | " & } (without the braces).

joi2
Nov 1st, 2005, 09:11 AM
no thats not the problem, someone told me that the mid$ functiopn cannot work with negative lenght could that be the prob because i is bigger than j?

Webtest
Nov 1st, 2005, 09:23 AM
I didn't say it was "the" problem ... I said "I think (it) is a problem".

joi2
Nov 1st, 2005, 09:31 AM
oh sorry

Webtest
Nov 1st, 2005, 09:52 AM
That "Someone" was correct ... the error message you get is the message when the "Length" parameter of the Mid$ call is negative (j < i). This will always happen when i "walks" over j looking for the second occurrence of "Platform:". You 'move' i looking for the second occurrence of "Platform:", but you never move j. Why not?

joi2
Nov 1st, 2005, 10:01 AM
thank you so much that was the problem