翻譯|使用教程|編輯:吉煒煒|2025-03-13 11:34:19.437|閱讀 122 次
概述:ONLYOFFICE 宏功能強大且用途廣泛,不僅可用于自動執行文檔、電子表格和演示文稿中的任務,還可用于 PDF 表單中的任務。在這篇博文中,我們將向您展示如何創建和運行一個獨特的宏,該宏對表單中的特定字段執行計算。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
ONLYOFFICE Docs,作為一款功能強大的在線編輯器,適用于您使用的平臺的文本文檔、電子表格、演示文稿、表單和 PDF 閱讀器。此次 ONLYOFFICE發布全新版本8.3,整個套件具有多項增強功能↓↓↓
ONLYOFFICE 宏功能強大且用途廣泛,不僅可用于自動執行文檔、電子表格和演示文稿中的任務,還可用于 PDF 表單中的任務。在這篇博文中,我們將向您展示如何創建和運行一個獨特的宏,該宏對表單中的特定字段執行計算。在此示例中,宏有助于計算稅款,使流程更快、更準確。
首先我們從文檔中檢索所有字段:
// Get all forms from the document
const document = Api.GetDocument();
let forms = document.GetAllForms();
然后,我們定義表單鍵:
// Formkeys of input forms var formkey1 = "Form1"; var formkey2 = "Form2"; var taxFormkey = "TaxForm"; // Formkeys of result forms var sumResultKey = "SumResult"; var taxResultKey = "TaxResult";
getFormValue函數遍歷表單以查找與 formKey 匹配的表單:
// Function to get the value of a form by its key function getFormValue(formKey) { for (let form of forms) { if (form.GetFormKey() === formKey) { return parseFloat(form.GetText()) || 0; } } }
如果轉換失敗,則默認為0,以防止計算錯誤。
setFormValue函數搜索與formKey匹配的表單字段。SetText() 方法使用格式化的數值(2 位小數)更新該字段。
// Function to set the value of a result form function setFormValue(formKey, value) { for (let form of forms) { if (form.GetFormKey() === formKey) { form.SetText(value.toFixed(2)); } } }
在主計算函數中我們:
// Main calculation function function calculateAndInsert() { let input1 = getFormValue(formkey1); let input2 = getFormValue(formkey2); let taxInput = getFormValue(taxFormkey); // Perform calculations var sum = parseFloat(input1) + parseFloat(input2); var tax = sum * taxInput / 100; // % tax // Insert results setFormValue(sumResultKey, sum); setFormValue(taxResultKey, tax); }
如下:
(function () { // Get all forms from the document const document = Api.GetDocument(); let forms = document.GetAllForms(); // Formkeys of input forms var formkey1 = "Form1"; var formkey2 = "Form2"; var taxFormkey = "TaxForm"; // Formkeys of result forms var sumResultKey = "SumResult"; var taxResultKey = "TaxResult"; // Function to get the value of a form by its key function getFormValue(formKey) { for (let form of forms) { if (form.GetFormKey() === formKey) { return parseFloat(form.GetText()) || 0; } } } // Function to set the value of a result form function setFormValue(formKey, value) { for (let form of forms) { if (form.GetFormKey() === formKey) { form.SetText(value.toFixed(2)); } } } // Main calculation function function calculateAndInsert() { let input1 = getFormValue(formkey1); let input2 = getFormValue(formkey2); let taxInput = getFormValue(taxFormkey); // Perform calculations var sum = parseFloat(input1) + parseFloat(input2); var tax = sum * taxInput / 100; // % tax // Insert results setFormValue(sumResultKey, sum); setFormValue(taxResultKey, tax); } // Call the calculation function calculateAndInsert(); })();
現在,讓我們運行宏并看看它是如何工作的!
ONLYOFFICE致力于為用戶提供滿足其需求的多功能工具。宏是工具包的強大補充,希望這個宏能成為您的寶貴資產。
關于慧都科技:
慧都科技是專注軟件工程、智能制造、石油工程三大行業的數字化解決方案服務商。在軟件工程領域,我們提供開發控件、研發管理、代碼開發、部署運維等軟件開發全鏈路所需的產品,提供正版授權采購、技術選型、個性化維保等服務,幫助客戶實現技術合規、降本增效與風險可控。慧都科技ONLYOFFICE在中國的官方授權代理商,提供ONLYOFFICE系列產品免費試用,咨詢,正版銷售等于一體的專業化服務。ONLYOFFICE是文檔在線編輯領域的優秀產品,幫助企業實現高效的文檔協同處理。
下載|體驗更多ONLYOFFICE產品,請咨詢,或撥打產品熱線:023-68661681
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網