What does # mean in front of IF statements

  • Thread starter Thread starter robotman
  • Start date Start date
R

robotman

I have a couple macros that run on PC and Macs. I learned that I have
to put a "#" in front of the file access code to make the macro utilize
the appropriate OS commands:

Example:

#If Win32 Then
LoadFileName = Application.GetOpenFilename(FileFilter)
#ElseIf Mac Then
LoadFileName = Application.GetOpenFilename()
#End If

Can someone explain why the # is necessary and what it means?

Thanks
 
That means conditional statements.

In VBA, when the code is compiled, the #If statement is checked , and if
true (a windows system in the example) it compiles one command, if not, it
compiles the other.

It is a very useful method to allow your code to be platform, or version,
independent.

--

HTH

Bob Phillips

(replace xxxx in the email address with gmail if mailing direct)
 
I didn't realize that VBA compiles on-the-fly before it runs. In VB,
you have to specifically compile the code. Thanks for the explanation.
That is handy for cross-platform application.

So are the "win32" and "mac" just system variables that each OS sets in
the VBA code?

And now a new problem... my conditional statements are just being
ignored. They were working fine, but now when it gets to the #IF, it
just skips to the next section of code and doesn't even check the
condition. It appears to only be a problem on the one computer I
program on.

Any ideas what happened?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top