FAQ
特定の値のラベルだけを表示するためのラベル条件式 (VBScript 形式)

ナレッジ番号:2464 | 登録日:2023/05/29 | 更新日:2024/11/21

説明

"条件式" を記述することで特定の値をもつラベルのみを表示することができます。
下記に条件式 例を紹介します。

特定のラベルだけを表示する方法

  1. FID の値が 「10 - 20」 (10以上20以下)のラベルを表示したい場合は、 以下のように記述します。
  2. [レイヤ プロパティ] →[ラベル] タブ をクリックし、  "文字例"にある「条件式」ボタンをクリックします。
  3. [ラベル条件式] のダイアログが表示されますので、"高度な設定" にチェックをいれ、条件式に以下に以下のように記述します。

      Function FindLabel ( [FID] )
       If [FID] >= 10 AND [FID] <= 20 Then
         FindLabel = [FID]
       End If
      End Function 

    上記は、FID の値が 10以上20以下のラベルを表示する例です。
  4. [OK]ボタンをクリックします。

複数フィールドの内、どれか 1 つの値をラベリングする方法

Field A の値によって、ラベリングに使用するフィールドを変更するための条件式です。

(条件定義)
Field A =1 の場合は、Field B をラベリングする
Field A =2 の場合は、Field C をラベリングする
Field A = 上記以外の値 の場合は、Field D をラベリングする

(条件式)
Function FindLabel ( [Field B], [Field C], [Field D], [Field A] )
If [Field A] = 1 Then
  FindLabel = [Field B]
elseif [Field A] = 2 Then
  FindLabel = [Field C]
else
FindLabel = [Field D]
End If
End Function

NULL を含む条件式を使用する方法

(条件定義)
[条件フィールド] が NULL 値の場合は [フィールドA] をラベリングする
[条件フィールド] が NULL 値でない場合は [フィールドB] をラベリングする

Function FindLabel ([フィールドA], [フィールドB], [条件フィールド] )
if isnull( [条件フィールド] ) then
FindLabel = [フィールドA]
else:
FindLabel = [フィールドB]
end if
End Function

メタデータ

機能

種類

製品

バージョン