スクリプトガイド > データテーブル > データテーブルの高度なスクリプト > テキストの列にハイパーリンクを追加する
公開日: 09/19/2023

テキストの列にハイパーリンクを追加する

イベントハンドラーという列プロパティを使用して、テキストの列にハイパーリンクを定義することができます。たとえば、地理データの列からGoogleマップへのハイパーリンクを作成したり、ウィキペディアのウェブページへのリンクを含めたりできます。

メモ: 「イベントハンドラー」列プロパティの詳細を学習するには、ハイパーリンクを含む列に「イベントハンドラー」列プロパティを追加し、JMPインターフェースでプロパティを調べてください。すると、この列プロパティに関するヒントが表示されます。この列プロパティを作成するスクリプトを参照するには、データテーブルの赤い三角ボタンをクリックし、[テーブルスクリプトをコピー(データなし)]を選択した後、コピーしたスクリプトを空のスクリプトウィンドウに貼り付けてください。

データテーブルの列にハイパーリンクを定義するには、イベントハンドラーという列プロパティを使用します。この例では、「SAS Offices.jmp」サンプルデータにあるハイパーリンクがどのように作られたかを示します。

1. [ヘルプ]>[サンプルデータフォルダ]を選択し、「SAS Offices.jmp」を開きます。

2. 「都市」列を右クリックして、[列情報]を選択します。

イベントハンドラーの列プロパティが設定されています。

3. 「クリック」タブにあるスクリプトがURLのコードを挿入しています。

Function( {thisTable, thisColumn, iRow},
Web( "https://www.google.com/maps/@"||Char(thisTable:latitude[irow])||","||Char(thisTable:longitude[irow])||",12z" ) );

thisTableはデータテーブルのオブジェクトです。

thisColumnは列オブジェクトです。

iRowthisColumnにある行のインデックスです。

WebはデフォルトのブラウザでURLを開きます。

"https://www.google.com/maps/@"の中の@は地図用のGoogle APIに固有のものです。Googleでは、この後に座標が続くことになっています。

||Char(thisTable:latitude[irow])は「緯度」列で定義される緯度を連結しています。

||","||Char(thisTable:longitude[irow])||「経度」列で定義される経度を連結しています。

Google APIでは",12z"によって倍率を指定しています。

「ヒント」タブのスクリプトはカーソルをハイパーリンクの上に置いたとき現れるツールヒントを定義します。ヒントは、リンクがクリックされた後何が起こるかを正確に記述しています。この関数を利用して、「クリック」スクリプトが用いるURLやプラットフォームの説明にツールヒントを設定してください。

Function( {thisTable, thisColumn, iRow},
"Open " || "https://www.google.com/maps/@"||char(thisTable:latitude[irow])||","||char(thisTable:longitude[irow])||",12z" || " in your browser.";);

ツールヒントの文字列を戻します。

「色」タブのスクリプトはハイパーリンクの色を定義します(この例では、青)。

Function( {thisTable, thisColumn, iRow}, 5;);

JMPカラーにJMPカラーの図が掲載されています。

他のファイルへのリンクをデータテーブル列に埋め込むこともできます。次の例では、コンピューター上の音声やビデオにリンクするための、「イベントハンドラー」スクリプトと値の設定方法を示しています。

New Table( " Wildlife ",
	New Column( " 列1", Character, "Nominal",
		Set Property( " Event Handler ",
			Event Handler(
				Click( JSL Quote(Function( {thisTable, thisColumn, iRow}, Open( Char(
thisTable:thisColumn[ iRow ] ) ); );) ),
				Tip( JSL Quote(Function( {thisTable, thisColumn, iRow}, Char(
thisTable:thisColumn[ iRow ] ) || "をメディアプレイヤーで開く"; );) ),
				Color( JSL Quote(Function( {thisTable, thisColumn, iRow}, 5; );) )
			)
		),
		Set Selected,
		Set Values( {
"C:\Users\Public\Videos\Sample Videos\Wildlife.wmv",
"C:\Users\Public\Music\Sample Music\Kalimba.mp3"
		} )
	)
)

「SAS Offices.jmp」にある各国のSASオフィス写真の列もイベントハンドラースクリプトの例を含んでいます。

より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).