繁體中文
English 简体中文 繁體中文
Methodox 首頁

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

Loan Calculator:側欄中的 Parameters 面板包含 Principal、Rate 和 Years,還款額和溢位的還款計劃由 Divooka 圖根據它們計算得出

每次讀取都會被記錄,因此更改參數時,會精確地重新計算讀取它的儲存格,並精確地重新整理讀取它的智慧物件和 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 中永遠不提供。

Graph Editor 示例中的 PRICE 圖:This Document 連到一個讀取 Markup 的 Number Parameter,Markup 加 1 後與成本相乘得到價格

你很少需要自己放置 This Document。當你從圖編輯器的新增節點選單(其中按名稱列出文件的參數)中新增參數時,讀取節點會被放置好,並填入參數名稱、連線到圖的 This Document;第一次新增時,This Document 會被新增在它旁邊。

Divooka Compute 中的同一個圖

由於文件是一個輸入,而不是節點自行尋找的東西,Divooka Compute 也可以提供它。有兩種方式:

  1. 圖編輯器工具條上的 Open in Divooka Compute 會把圖連同視窗中文件的副本(無論是否已儲存)一起傳送到已安裝的 Compute。在 Compute 中,This Document 提供該副本,新增節點選單會在 Office ▸ Parameters 下列出它的參數,每一項都會按名稱放置對該參數的讀取節點,與 Office 自己的編輯器一樣。在那裡執行圖時,它讀取和更改的是副本,絕不會是你的檔案。在 Compute 中儲存後,圖會作為一次可復原的更改回到文件中。
  2. 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 讀取參數。

另請參閱