Document Parameters 與文件會話
Document Parameter(文件參數)是屬於某個文件的命名值:本金、城市、地區、利率。文件的公式、智慧物件、Data Source 和程式碼都會讀取它們,因此更改一個參數就會更改所有依賴它的內容。每個參數都是數字、文字、邏輯值或日期,並儲存在文件中。
本頁面還說明了 Divooka 圖如何存取它所處理的文件,正是這一點讓同一個圖既能在 Methodox Office 中執行,也能在 Divooka Compute 中執行。
編輯參數
Tools ▸ Parameters 會在側欄的 Parameters 面板中開啟參數,其中每一行都是一個可以就地編輯的參數;布林參數是一個開關,按一下即可切換,也可以在其所在行按 Space、F2 或 Enter 切換。每次更改都是一個復原步驟,讀取該參數的內容會隨之重新計算或重新整理。
讀取和設定參數
Function 和智慧物件只讀取參數。只有 Command 或事件處理程式才能設定參數,且作為其可復原事務的一部分。
| 位置 | 讀取參數的方式 |
|---|---|
| Formula | =PARAM("Region") |
| Lua、Python | param.Region |
| C# | Param["Region"] |
| Divooka 圖 | 一個 Number、Text 或 Boolean Parameter 節點,從 This Document 連線(見下文) |
| Data Source | 在其查詢中使用 param.Region |

每次讀取都會被記錄,因此更改參數時,會精確地重新計算讀取它的儲存格,並精確地重新整理讀取它的智慧物件和 Data Source,與該更改一起構成一個復原步驟。=PARAM() 在文件開啟後立即給出結果,甚至在其程式碼被啟用之前,因為參數是資料,而不是程式碼。
文件會話
參數是文件的成員,就像工作表或段落一樣。因此,讀取參數的圖首先需要文件本身,並通過一個節點取得它:
- This Document 提供圖所屬的文件。在 Methodox Office 中,這就是開啟的文件,視窗會把它傳入 Function、Command 或事件處理程式的每次執行。
- Open Office Document 從檔案提供一個文件,可以是 Formula 活頁簿、Impulse 文件或 Expo 簡報。它用於 Divooka Compute;在 Methodox Office 中,它會忽略路徑,提供圖自己的文件。
此後,圖對文件所做的一切都是一個以文件作為第一個輸入的節點:參數讀取(Parameter、Number Parameter、Text Parameter、Boolean Parameter、Has Parameter、Parameter Names)、Set Parameter,以及文件編輯(Get Cell、Set Cell、Set Formula、Write Table、Add Sheet、Add Paragraph、Add Slide、Slide Count、Document Name、Document Path、Run Command)。文件編輯和 Set Parameter 只在 Routine 圖和 Events 圖中提供,在 Function 中永遠不提供。

你很少需要自己放置 This Document。當你從圖編輯器的新增節點選單(其中按名稱列出文件的參數)中新增參數時,讀取節點會被放置好,並填入參數名稱、連線到圖的 This Document;第一次新增時,This Document 會被新增在它旁邊。
Divooka Compute 中的同一個圖
由於文件是一個輸入,而不是節點自行尋找的東西,Divooka Compute 也可以提供它。有兩種方式:
- 圖編輯器工具條上的 Open in Divooka Compute 會把圖連同視窗中文件的副本(無論是否已儲存)一起傳送到已安裝的 Compute。在 Compute 中,This Document 提供該副本,新增節點選單會在 Office ▸ Parameters 下列出它的參數,每一項都會按名稱放置對該參數的讀取節點,與 Office 自己的編輯器一樣。在那裡執行圖時,它讀取和更改的是副本,絕不會是你的檔案。在 Compute 中儲存後,圖會作為一次可復原的更改回到文件中。
- Open Office Document 在給定路徑後,會在 Compute 中開啟活頁簿、文件或簡報,因此無需執行 Methodox Office,就可以針對真實檔案編寫和除錯圖。Save Office Document 會儲存它所做的更改。
無論哪種方式,圖都是同一個圖:你在 Compute 中編寫或除錯的內容可以不加修改地在 Methodox Office 中執行,反之亦然。Methodox Office 會把它的 Office 節點隨圖一起傳送,因此無論 Compute 自身的安裝包含什麼,它都能提供這些節點;當圖返回時,Methodox Office 會再移除該引用,因此文件永遠不會攜帶你電腦上的路徑。這需要最新的 Divooka Compute;舊版本無法載入圖所引用的節點,開啟圖時會缺少這些節點。
為什麼這是安全的
在 Methodox Office 中,圖只會處理它自己的文件。在任一版本中,Open Office Document 都不會在其中開啟檔案,因此文件的圖無法通過它讀取其他文件。只有在你親自執行圖的 Divooka Compute 中,它才能開啟檔案。Command 仍然只會在你啟用文件的程式碼後才更改文件,並且只擁有你授予它的存取權限(參見信任)。
早期版本中的圖
早期版本中的 Parameter 節點會自行尋找文件。它們在 Methodox Office 中可以工作,但在 Compute 中,它們雖是有效的節點,卻沒有可讀取的物件,執行時會失敗。
包含這些節點的圖在讀取時會被轉換為新的形式:每個舊節點都會變成對文件進行的相同讀取或編輯,位置相同,字面量、標籤和連線也相同,並由每個圖一個的 This Document 節點提供文件。圖中的其他內容不會改變,不含舊節點的圖則完全保持原樣。文件中儲存的文字會在你下次編輯該圖時採用新形式,而 Open in Divooka Compute 傳送的是新形式。
指令碼不受影響:Lua、C# 和 Python 仍像以前一樣以 param.Region 讀取參數。