Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming,microsoft.public.access
|
|||
|
|||
![]()
Hi all
I am writing some code that searches a VBA project for (in this case) APIs and I am using "Declare" as the search criteria. If I find "Declare", is there some way (perhaps an API) that can ascertain whether the use of "Declare" is a string or a reserved word? Now, I realise that if it is an API, it would be followed by "Function" or "Sub". I have other search criteria that I also need to look for (such as "Shell" and ".RegisterDatabase"). Any suggestions appreciated. Thanks in advance. Paul Martin Melbourne, Australia |
#2
![]()
Posted to microsoft.public.excel.programming,microsoft.public.access
|
|||
|
|||
![]()
I believe you would have to parse the line.
-- Terry Kreft "Paul Martin" wrote in message oups.com... Hi all I am writing some code that searches a VBA project for (in this case) APIs and I am using "Declare" as the search criteria. If I find "Declare", is there some way (perhaps an API) that can ascertain whether the use of "Declare" is a string or a reserved word? Now, I realise that if it is an API, it would be followed by "Function" or "Sub". I have other search criteria that I also need to look for (such as "Shell" and ".RegisterDatabase"). Any suggestions appreciated. Thanks in advance. Paul Martin Melbourne, Australia |
#3
![]()
Posted to microsoft.public.excel.programming,microsoft.public.access
|
|||
|
|||
![]()
Hi Terry
Could you please explain? Thanks Paul Terry Kreft wrote: I believe you would have to parse the line. -- Terry Kreft "Paul Martin" wrote in message oups.com... Hi all I am writing some code that searches a VBA project for (in this case) APIs and I am using "Declare" as the search criteria. If I find "Declare", is there some way (perhaps an API) that can ascertain whether the use of "Declare" is a string or a reserved word? Now, I realise that if it is an API, it would be followed by "Function" or "Sub". I have other search criteria that I also need to look for (such as "Shell" and ".RegisterDatabase"). Any suggestions appreciated. Thanks in advance. Paul Martin Melbourne, Australia |
#4
![]()
Posted to microsoft.public.excel.programming,microsoft.public.access
|
|||
|
|||
![]()
A line is made up of words, a combination of reserved words, variable
names, literals etc. In order to determine if a word is reserved, you'd have to compare each one to a dictionary, as in "If it's in the dictionary, it's reserved." If you read an entire line of code, you could use Split to break the line into an array of individual words (split on the space) and then compare them to the dictionary. |
#5
![]()
Posted to microsoft.public.excel.programming,microsoft.public.access
|
|||
|
|||
![]()
Can you look for it at the beginning of the line--after you trim any leading
spaces (and ignoring Public/Private key words)? And I think you'd have to make sure a space character followed it. And you may have to count quotes to see if you're in a string. Dim myStr as string mystr = "Do you have anything to" & _ " declare" Paul Martin wrote: Hi all I am writing some code that searches a VBA project for (in this case) APIs and I am using "Declare" as the search criteria. If I find "Declare", is there some way (perhaps an API) that can ascertain whether the use of "Declare" is a string or a reserved word? Now, I realise that if it is an API, it would be followed by "Function" or "Sub". I have other search criteria that I also need to look for (such as "Shell" and ".RegisterDatabase"). Any suggestions appreciated. Thanks in advance. Paul Martin Melbourne, Australia -- Dave Peterson |
#6
![]()
Posted to microsoft.public.excel.programming,microsoft.public.access
|
|||
|
|||
![]()
I would but Piet has beaten me to it.
-- Terry Kreft "Paul Martin" wrote in message ups.com... Hi Terry Could you please explain? Thanks Paul Terry Kreft wrote: I believe you would have to parse the line. -- Terry Kreft "Paul Martin" wrote in message oups.com... Hi all I am writing some code that searches a VBA project for (in this case) APIs and I am using "Declare" as the search criteria. If I find "Declare", is there some way (perhaps an API) that can ascertain whether the use of "Declare" is a string or a reserved word? Now, I realise that if it is an API, it would be followed by "Function" or "Sub". I have other search criteria that I also need to look for (such as "Shell" and ".RegisterDatabase"). Any suggestions appreciated. Thanks in advance. Paul Martin Melbourne, Australia |
#7
![]()
Posted to microsoft.public.excel.programming,microsoft.public.access
|
|||
|
|||
![]()
Thanks all for your responses.
I'm using the Find method of CodeModule using the WholeWord argument as True, so there's no problem capturing the various search criteria, and this is very efficient. I was wondering if there's some way that VBA (or an API) would recognise the use of the word as a reserved word or otherwise. Based on the responses I've received, the answer appears to be no. All the solutions are based on capturing a code line as a string. Dave Peterson wrote: Can you look for it at the beginning of the line--after you trim any leading spaces (and ignoring Public/Private key words)? And I think you'd have to make sure a space character followed it. And you may have to count quotes to see if you're in a string. Dim myStr as string mystr = "Do you have anything to" & _ " declare" Paul Martin wrote: Hi all I am writing some code that searches a VBA project for (in this case) APIs and I am using "Declare" as the search criteria. If I find "Declare", is there some way (perhaps an API) that can ascertain whether the use of "Declare" is a string or a reserved word? Now, I realise that if it is an API, it would be followed by "Function" or "Sub". I have other search criteria that I also need to look for (such as "Shell" and ".RegisterDatabase"). Any suggestions appreciated. Thanks in advance. Paul Martin Melbourne, Australia -- Dave Peterson |
#8
![]()
Posted to microsoft.public.excel.programming,microsoft.public.access
|
|||
|
|||
![]()
I can't imagine that an API would care about the reserved words in Excel's VBA,
or MSWord's VBA, or PPT's VBA or AutoCad's VBA or any of the other flavors of VBA. It wouldn't make sense to me--but I've been wrong lots of time. Paul Martin wrote: Thanks all for your responses. I'm using the Find method of CodeModule using the WholeWord argument as True, so there's no problem capturing the various search criteria, and this is very efficient. I was wondering if there's some way that VBA (or an API) would recognise the use of the word as a reserved word or otherwise. Based on the responses I've received, the answer appears to be no. All the solutions are based on capturing a code line as a string. Dave Peterson wrote: Can you look for it at the beginning of the line--after you trim any leading spaces (and ignoring Public/Private key words)? And I think you'd have to make sure a space character followed it. And you may have to count quotes to see if you're in a string. Dim myStr as string mystr = "Do you have anything to" & _ " declare" Paul Martin wrote: Hi all I am writing some code that searches a VBA project for (in this case) APIs and I am using "Declare" as the search criteria. If I find "Declare", is there some way (perhaps an API) that can ascertain whether the use of "Declare" is a string or a reserved word? Now, I realise that if it is an API, it would be followed by "Function" or "Sub". I have other search criteria that I also need to look for (such as "Shell" and ".RegisterDatabase"). Any suggestions appreciated. Thanks in advance. Paul Martin Melbourne, Australia -- Dave Peterson -- Dave Peterson |
#9
![]()
Posted to microsoft.public.excel.programming,microsoft.public.access
|
|||
|
|||
![]()
Paul,
You could check if the single line had a "Declare " and a " Lib " (note the spaces) and compare text sensitive. Whilst not 100% conclusive, it would be a pretty strange string to have both exactly like that. Depending what you're after, maybe check it's not a comment first. NickHK "Paul Martin" wrote in message ups.com... Thanks all for your responses. I'm using the Find method of CodeModule using the WholeWord argument as True, so there's no problem capturing the various search criteria, and this is very efficient. I was wondering if there's some way that VBA (or an API) would recognise the use of the word as a reserved word or otherwise. Based on the responses I've received, the answer appears to be no. All the solutions are based on capturing a code line as a string. Dave Peterson wrote: Can you look for it at the beginning of the line--after you trim any leading spaces (and ignoring Public/Private key words)? And I think you'd have to make sure a space character followed it. And you may have to count quotes to see if you're in a string. Dim myStr as string mystr = "Do you have anything to" & _ " declare" Paul Martin wrote: Hi all I am writing some code that searches a VBA project for (in this case) APIs and I am using "Declare" as the search criteria. If I find "Declare", is there some way (perhaps an API) that can ascertain whether the use of "Declare" is a string or a reserved word? Now, I realise that if it is an API, it would be followed by "Function" or "Sub". I have other search criteria that I also need to look for (such as "Shell" and ".RegisterDatabase"). Any suggestions appreciated. Thanks in advance. Paul Martin Melbourne, Australia -- Dave Peterson |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Finding a single word match in a text string and assigning a code | Excel Worksheet Functions | |||
A Macro to search a string in a Word file | Excel Programming | |||
search a string withing a string : find / search hangs | Excel Programming | |||
Excel XP VBA code to search all macro code in Excel module for specific search string criteria | Excel Programming | |||
Excel XP VBA code to search all macro code in Excel module for specific search string criteria | Excel Programming |