2011-06-12 17 views
15

ファイルをSharePointからチェックアウトすることができるかどうかを確認するコードを書いています。そうでない場合は、ユーザーに警告し、そのファイルが他のユーザーによって使用されていること、それはで使用されています。#if、#else、#end if ... VBAではハッシュ記号の意味は何ですか?

私はこのサイトでコードの一部に出くわした:http://www.xcelfiles.com/IsFileOpen.html#anchor_37

コード自体はかなり良いですし、私は私の目的のためにそれを適応させることを計画していますので、テストシナリオで動作しているようですが、私はトラブルの理解を持っています私が以前にそのようなものを見たことがないので、構文のいくつかは使用されています。

#If Not VBA6 Then 

'// Xl97 

For i = j - 1 To 1 Step -1 

    If Mid(strXl, i, 1) = Chr(0) Then Exit For 

Next 

i = i + 1 

#Else 

'// Xl2000+ 

i = InStrRev(strXl, strFlag1, j) + Len(strFlag1) 

#End If 

私はコードが何をしているのか理解していますが、「#」記号の意味が分かりません。

その使用の別の例は次のとおりです。

hdlFile = FreeFile 

Open strPath For Binary As #hdlFile 

strXl = Space(LOF(hdlFile)) 

Get 1, , strXl 

Close #hdlFile 

私はこれには本当に明白な答えがあると確信しているが、それはそれはとても曖昧であるため、お尻の痛みがGoogleにあるものの一つです。 :(

多くのおかげで、

スプラット

答えて

22

ハッシュ記号repre プリプロセッサーコマンドを送信しました。これは、コンパイル前に処理され、本質的に動的/条件付きコードを生成するコマンドです。これらのタイプのコマンドは、クロスプラットフォームプログラミング技術を管理するために、C/C++などの言語でよく使用されます。一般的な使い方は、特定の環境やプラットフォーム(VBA、Windows、MacOSXなど)を確認し、プラットフォーム固有のコードを実装することです。

http://en.wikipedia.org/wiki/Preprocessor

+2

これらは_directives_として知られており、条件付きコンパイルのために使用されます。これはプリプロセッサコマンドと呼ばれ、コンパイラによって処理される前に_preprocessor_によって解釈されるためです。 –

+0

ブリリアント。情報をありがとう。これにより、コードをはるかに理解しやすくなります。 – Splatgore

4

は、ハッシュは、それが指示だことを示している。 文字通り含むまたはコンパイルからのコードを除外するために使用します。VBのためだ

http://msdn.microsoft.com/en-us/library/7ah135z7.aspx

おっと私はそう思っています。

関連する問題