excel - How to programmatically determine current setting for Option Base in VBA -
how can programmatically determine current setting option base
in vba? option base
can set 0
or 1
, , determines whether array indices start @ 0
or 1
(see msdn).
however, can't see easy way find out current setting is. hoping there might option()
function pass parameter to, like:
debug.print option("base")
and tell me, doesn't seem there.
while agree @jonsharpe if you're using lbound(arr)
, ubound(arr)
, don't need know @ runtime, think it's interesting question.
first, example of looping through array.
for = lbound(arr) ubound(arr) ' next
now, in order exactly asked, you'll need access use vbide
library. otherwise known "microsoft visual basic applications extensibility" library. provides access ide , code with-in it. can use discover if option base 1
has been declared. don't recommend trying @ runtime though. more useful kind of static code analysis during development.
first, you'll need add reference library , grant code access itself. once you've done that, following code should like.
public sub findoptionbase1declarations() dim startline long startline = 1 dim startcol long startcol = 1 dim endline long endline = 1 ' 1 represents last line of module dim endcol long endcol = 1 ' endline, 1 designates last col dim module codemodule dim component vbcomponent each component in application.vbe.activevbproject.vbcomponents ' substitute vbproject set module = component.codemodule if module.find("option base 1", startline, startcol, endline, endcol, wholeword:=true, matchcase:=true, patternsearch:=false) debug.print "option base 1 turned on in module " & component.name ' variables passed ref, tell exact location of statement debug.print "startline: " & startline debug.print "endline: " & endline debug.print "startcol: " & startcol debug.print "endcol: " & endcol ' means have reset them before in next module startline = 1 startcol = 1 endline = 1 endcol = 1 end if next end sub
see codemodule.find documentation more information.
if using add-in option, @mat'smug , i's open source project rubberduck has code inspection show instances of throughout active project.
Comments
Post a Comment