# 在 QV Server 上的 QV 文件中使用巨集

## QlikView Server 上的巨集

QlikView Server 可執行 QlikView 文件中的巨集。在主從環境下，使用巨集時需要考慮一些因素。

使用 QlikView 作為用戶端時，所有的巨集都會在用戶端執行。在這種情況下，可允許進行更多的作業。

資訊備註廣泛使用巨集可能會導致平行 (而非循序) 執行巨集的潛在問題，因為設計師可能只會在設計上假設程序只會循序執行巨集。

## 巨集功能限制

在 QlikView Server 環境搭配任何類型的用戶端時，通常在巨集中可順利運作的功能如下︰

* 如在欄位中清除或選取的邏輯操作
* 與變數相關的運算

下列類型的功能不可用於 QlikView Server 環境，因為可能導致意外的結果︰

* 透過 SetProperties 影響到工作表和工作表物件之屬性的版面配置操作

* 變更文件或使用者設定的操作

* 所有與指令碼相關的操作 (包括重新載入)

* 資料減少操作 (如 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 文件，然後直接在網頁瀏覽器中，從 QlikView Server 執行該巨集。