# QV サーバー上の QV ドキュメントでのマクロの使用

## QlikView Server 上のマクロ

QlikView Server が QlikView ドキュメント内のマクロを実行できるようになりました。クライアント サーバー環境でマクロを使用する際は、考慮する事項があります。

クライアントとして QlikView を使用している場合、すべてのマクロはクライアントで実行されます。この場合は、多くの操作が許可されます。

情報メモマクロを広範囲に渡って使用すると、設計者が意図/想定する連続的なマクロ実行の代わりに、並行的なマクロ実行という潜在的な問題を引き起こす可能性があります。

## マクロ機能の制限

どのタイプのクライアントを使用する場合でも、QlikView Server 環境のマクロでは、次の機能が正しく機能します。

* 項目のクリア、選択などの論理操作
* 変数に関する操作

次の機能は、予期しない結果を招く可能性があるため、QlikView Server 環境では使用されません。

* SetProperties を使用して、シートやシート オブジェクトのプロパティを制御するレイアウト操作

* ドキュメントまたはユーザー設定を変更する操作

* スクリプトに関連するすべての操作 (Reload を含む)

* データ削除操作 (ReduceData など)

* ドキュメントの保存、開くなどの操作

* 値を返す必要がある AJAX の動作は、結果として空のバッファーを返す場合があります

情報メモサーバー オブジェクトのプロパティを制御するレイアウト操作がサポートされます。

## マクロ トリガーの制限

以下のトリガーは、あらゆるクライアントの QlikView Server 環境で通常どおり動作しますが、イベント トリガーをサポートしていない AJAX モードは例外です。

`Document.OnAnySelect` `Field.OnSelect` `Field.OnChange` `Field.OnUnlock` `Document.OnPressMacroButton` `Variable.OnChange` `Variable.OnInput`

次のトリガーは、意味がないか、予期しない結果を招く可能性があるため、QlikView Server 環境では使用されません。

`OnPostReduceData` `OnPostReload`

## VBScript 関数

QlikView ドキュメントのモジュールで定義される VBScript 関数は、一般に、QlikView Server で正しく機能します。前のセクションで説明した一般的な機能の制限が適用されます。

## サーバー側エクスポート

ボタンに関連付けられたマクロを使用して、任意のチャートの内容をサーバーのテキスト ファイルにエクスポートすることができます。この機能は、QlikView ドキュメントに追加する必要があります。マクロは、Web ブラウザで QlikView Server から直接実行できます。