ハイパーリンクによって、フィーチャに関連するドキュメントや Web ページにアクセスできます。これらのハイパーリンクには、[ツール] ツールバーの [ハイパーリンク] ツール を使用して、フィーチャごとにアクセスできます。このトピックでは、マップ レイヤーのハイパーリンク プロパティの設定および使用方法について説明します。
ハイパーリンクは、[ハイパーリンク] ツールを使用する前に定義する必要があり、次の 3 種類の定義方法があります。
- ドキュメント: [ハイパーリンク] ツールを使用してフィーチャをクリックすると、適切なアプリケーション (Microsoft Excel など) を使用して、ドキュメントまたはファイルが開きます。
- URL: [ハイパーリンク] ツールを使用してフィーチャをクリックすると、Web ブラウザーに Web ページが表示されます。
- スクリプト: [ハイパーリンク] ツールを使用してフィーチャをクリックすると、フィーチャの値がスクリプトに送信されます。このオプションを使用して、カスタマイズされた振舞いを使用できるようになります。
フィールドベースのハイパーリンクを使用するか、[個別属性] ツールを使用してダイナミック ハイパーリンク定義することで、レイヤー内のフィーチャのハイパーリンクを定義できます。
フィールドベースのハイパーリンク プロパティの定義
- ハイパーリンク プロパティを設定するレイヤーを右クリックして、[プロパティ] を選択します。
- [レイヤー プロパティ] ダイアログ ボックスの [表示] タブを選択します。
- [フィールドを使用してハイパーリンクを設定] チェックボックスをオンにします。
- ハイパーリンクに使用するフィールド名を選択し、リンク タイプとして [ドキュメント]、[URL]、[スクリプト] のいずれかを選択します。スクリプトを使用する場合は、[編集] ボタンを使用して、JScript または VBScript によってスクリプトを作成します。[OK] をクリックします。
- [レイヤー プロパティ] ダイアログ ボックスで [OK] または [適用] をクリックします。
個別属性によるダイナミック ハイパーリンクの定義
[個別属性] ツール を使用して、ハイパーリンクをフィーチャに動的に追加することができます。ダイナミック ハイパーリンクの場合、ハイパーリンク ターゲットの指定に属性フィールドを使用しません。指定するハイパーリンク ターゲットは、個別属性表示されたフィーチャと関連付けられます。この関連付けは、レイヤーに格納されます。レイヤーをファイルに保存した場合にも、これらはレイヤーとともに保存されます。
- [ツール] ツールバーの [個別属性] ツール をクリックします。
- ハイパーリンクを定義するフィーチャをクリックします。
- [個別属性] ウィンドウでフィーチャを右クリックし、[ハイパーリンクの追加] をクリックします。
- 必要なハイパーリンク ターゲットを指定します。
あらゆるフィーチャに対して任意の数のダイナミック ハイパーリンクを指定することができます。フィーチャに定義されているすべてのダイナミック ハイパーリンクが、個別属性のショートカット メニューの [ハイパーリンク] サブメニューに表示されます (上の手順 1 ~ 3)。このメニューで、[ハイパーリンクの管理] も利用できます。この機能では、フィーチャのダイナミック ハイパーリンクを追加および削除することができます。このリストには、フィールドベースのハイパーリンクと、フィールドベースのハイパーリンクに影響しないコマンドは表示されません。
ハイパーリンクの使用
- [ツール] ツールバーで、[ハイパーリンク] ツール をクリックします。マウス ポインターが稲妻の形に変わります。
- データ フレーム内の必要なフィーチャまたは位置をクリックして、ハイパーリンク情報にアクセスします。
- HTML Web ページなどのハイパーリンク情報が表示されます。フィーチャに複数のハイパーリンクが指定されている場合は、[ハイパーリンク] ツールでフィーチャをクリックすると、ハイパーリンクのリストがポップアップ表示されます。
- 複数レイヤーのハイパーリンクを有効にしている場合、データ フレーム内の位置をクリックすると [ハイパーリンク] ダイアログ ボックスが表示され、レイヤーの 1 つからフィーチャを選択できます。レイヤー名は括弧に囲まれて表記されます。
フィーチャのハイパーリンクの色の変更
ArcMap の設定を使用してハイパーリンク フィーチャの表示色を設定するには、次の手順を実行します。
- [カスタマイズ] > [ArcMap オプション] の順にクリックします。
- [一般] タブをクリックします。
- [ハイパーリンク ツールを選択したときに、クリック可能フィーチャをハイライトする] チェックボックスをオンにします。
- [色] ドロップダウン メニューをクリックして、ハイライト用に別の色を指定します。
ハイパーリンク パスの管理
マップのプロパティの一部としてハイパーリンク ベースを指定することができます。ハイパーリンク ベースとは、ドキュメントまたは URL に対するフィールドベースのハイパーリンクに使用するベースのパスまたは URL です。たとえば、ハイパーリンク ベースを D:\Data に設定した場合は、ドキュメントへのハイパーリンクとして使用するフィールドの値に、D:\Data を含める必要はありません。ファイルの名前だけを含めることができます。このプロパティを使用すると、ハイパーリンクの管理が簡単になります。ターゲットの場所が変わった場合は、ハイパーリンク ターゲットを指定するフィールドの各値を編集しなくても、この設定を編集するだけで済むからです。
[ハイパーリンク ベース] プロパティは、[マップ ドキュメント プロパティ] ダイアログ ボックスで指定します。[ファイル] > [マップ ドキュメント プロパティ] の順にクリックして開きます。[ハイパーリンク ベース] プロパティはマップ ドキュメントごとに 1 つあります。ターゲットの値がマクロに送信されるように指定すると、この設定は無効になります。また、この設定はダイナミック ハイパーリンクには影響しません。
このデフォルトを上書きし、スラッシュが自動的に追加されないようにできます。この設定は、Advanced ArcMap Settings ユーティリティ (<インストール ドライブ>:\Program Files\ArcGIS\Desktop10.2.1\Utilities) を起動して、[その他] タブを表示することで確認できます。デフォルトを上書きすると、長いパスや URL を操作しやすくなります。
たとえば、ハイパーリンク ベースの設定に http://www.example.com/index.cfm?parameter=1234 のような長い URLを使用する場合は、http://www.example.com をベースに指定し、その後に続く引数 (index.cfm?parameter=1234) をすべてハイパーリンク フィールドに格納する必要があります。ただし、デフォルトを無効にして、URL のほとんどの部分 (http://www.example.com/index.cfm?parameter=) をベースに指定し、URL の最後の部分 (1234) だけをハイパーリンク フィールドに格納することもできます。
デフォルトを無効にする場合でも、[マップ ドキュメント プロパティ] に指定するハイパーリンク ベースがスラッシュ文字で終了する場合、ArcMap はスラッシュを維持します。したがって、デフォルトを無効にする場合は、ハイパーリンク ベースに手動でスラッシュを追加できます。デフォルトを無効にする設定は、現在のコンピューターに対してのみ適用されます。作業中のマップ ドキュメントのプロパティとしては保存されません。
相対パスを使用したハイパーリンクの作成
ネットワーク リソースへのアクセス権を持たないユーザーに、ハイパーリンクが含まれたマップを配布したいことがあります。マップにデータへの相対パスを保存できるのと同様に、マップへの相対パスを参照するハイパーリンクを指定することもできます。
同一フォルダーにあるドキュメントへのパスを指定するには、ドキュメントの名前を入力します。下の例では、「directions.bmp」と入力します (\ やドライブ文字接頭辞を含めません)。
ファイル システムのマップの場所のすぐ下にあるフォルダーへのパスを指定するには、パスをフォルダー名から開始します (ここでも \ やドライブ文字接頭辞を含めません)。たとえば、次の例では「Graphics\directions.bmp」と入力します。
ハイパーリンクされたドキュメントを開く方法のパラメーターによる制御
ドキュメントへのハイパーリンクには、プログラムがどのようにドキュメントを開くかを定義するパラメーターを含めることができます。たとえば、Adobe Reader で PDF の特定のページを開くようにパラメーターを指定できます。これにより、マップ フィーチャから同じドキュメント内の別のページにハイパーリンクできます。ソフトウェア パッケージ (Microsoft Word、Microsoft Excel、Adobe Reader など) ごとに固有のコマンドがあるので、使用できるパラメーターと構文については、ドキュメントを開くのに使用するソフトウェア パッケージのマニュアルをご参照ください。
通常、これらのパラメーターはコマンド ラインで使用するようになっています。たとえば、PDF ドキュメントの 5 ページ目を開く場合のコマンドは次のようになります。
- C:\Program Files\Adobe\Reader 8.0\Reader\AcroRd32.exe /A Page=5=OpenActions c:\temp\PopulationData.pdf
ここで
- C:\Program Files\Adobe\Reader 8.0\Reader\AcroRd32.exe はソフトウェアの場所、/A Page=5=OpenActions は開く場所を指定するパラメーター、c:\temp\PopulationData.pdf はファイルの場所を表します。
ArcGIS は、これらのパラメーターをコマンド ラインのようには読み取りません。代わりに、パラメーターからファイル パスを分けるための特別な区切り文字として「?」 (疑問符) を使用します。前の例と同じドキュメントおよびページのハイパーリンクは、ArcGIS では次のようになります。
- c:\temp\PopulationData.pdf ?/A Page=5=OpenActions
「?」は、パスとパラメーターの間の区切り文字として働きます。
高度なハイパーリンク機能
フィールドベースのハイパーリンクは、[個別属性] ツールで使用するときに、システムレベルおよび現在のユーザー レベルの Windows 環境変数をサポートします。環境変数は、ハイパーリンクで使用する前にコンピューターで設定しておく必要があります。ArcGIS で環境変数を使用する場合は、変数をパーセント記号ではなくドル記号で修飾する必要があります。たとえば、%VARTEST% ではなく $VARTEST を使用します。
スクリプト コード内にディスパッチ オブジェクトを作成して、カスタム ライブラリから関数を呼び出すことができます。これによって、ディスパッチ オブジェクトを使用して、ハイパーリンク スクリプトを通して ArcObjects にアクセスできます。さらに、IFeature または IFeatureLayer (あるいはその両方) をディスパッチ オブジェクトに渡して、該当するフィーチャのハイパーリンクを起動することもできます。
ディスパッチ オブジェクトを作成するハイパーリンク スクリプトの例を次に示します。
ディスパッチ オブジェクトを使用して、ハイパーリンク スクリプトを通して ArcObject にアクセスします。
Function OpenLink ( {IFEATURE}, {IFEATURELAYER} )
Dim hlauncher
Set hlauncher = CreateObject("Hyperlink_Lib.Launcher")
hlauncher.Launch {IFEATURE}, {IFEATURELAYER}
End Function
この例では、ユーザーの作成した Hyperlink_Lib ライブラリから関数 Launch を呼び出します。