![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp9eoNgpgbdDY-RDhbi2NOwXbAy4v7VMkJxNRKfE9mOjssyBMD27G1uuIxRTF03M0zFt-VqcOdfQ1fsckbeBqKtdF2q3KZKEYN-Jx-9uYit5gCijMlrRU2kCvnAZMRXKRaLACbgF_LsvkFLq4p-6-5yK-XqJ51L9GHOxJ6GeAyQ9ICNQnt0vvtZF0GRw/w640-h360/%E8%9E%A2%E5%B9%95%E6%93%B7%E5%8F%96%E7%95%AB%E9%9D%A2%202023-02-11%20232911.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_i6yZk8SQFVLoK9x8edJyFB1ZtRf4ceXAbz69sS_8Qebds1iVVANcfM97Za3Ha7kjnVKO_09CUvdr2e8cBRuuFQsS6dJwKtzAXiTM5XWAMNUts_c3wKp2p3CpaDkydCBcWO_stUo58N4xPcb5eiqQUmWE4hnbgtFOW-_EgbgcvqzHdcI12OlFa7rTEw/w640-h246/%E8%9E%A2%E5%B9%95%E6%93%B7%E5%8F%96%E7%95%AB%E9%9D%A2%202023-02-11%20224837-1.png)
這個函數使用 getActiveSheet() 方法來獲取當前活躍的工作表 (ActiveSheet),然後使用 for 迴圈遍歷要清除的範圍 (rangesToClear),使用 getRange() 方法來獲取每個範圍,最後使用 clearContent() 方法來清除該範圍中的內容。
您可以在 rangesToClear 陣列中添加要清除的每個範圍,然後運行函數即可一次清除多個範圍的資料。如果需要清除的範圍很多,也可以使用其他的陣列處理方法,例如 push() 方法將範圍添加到陣列中。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5d6vkvo1C5wuY17WlA8df06dOgv6iGBITLRK6PL7AKucarBx4Gl3-ThnCtySwrpVHPCmaYd4ZaCtS_Ab2ZwsWr-9iH6w9h_ltK-M7sfLHVPhxQSMat_2OYMEUYQMjN_YkNqK1tQqk2vE0b5EqpacWE0IKn-QBury4aCNt0zZJtJf2MeFuxlfdq5t5_w/w640-h320/%E8%9E%A2%E5%B9%95%E6%93%B7%E5%8F%96%E7%95%AB%E9%9D%A2%202023-02-11%20224912-1.png)
在這個例子中,onOpen()
函數會在使用者打開試算表時觸發。這個函數會建立一個名為 "我的選單" 的自訂選單,並在該選單中添加一個名為 "執行程式" 的項目。當使用者單擊 "執行程式" 選項時,它會調用 myFunction()
函數,您可以在其中編寫您要執行的程式碼。
在這個例子中,我們使用了 SpreadsheetApp.getUi()
方法來獲取 Ui
類別的實例,然後在 createMenu()
方法中設置選單名稱。接著,在 addItem()
方法中添加一個選單項目,並指定該項目調用的函數。最後,我們使用 addToUi()
方法將選單加入到試算表的用戶介面中。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCucgMDV_3jj_9YRDqVzVwIlWmta0u39rp_KFPt0nfdT8rEfLOtKuGNbLD-D6qHSXfD95QrVzEcLHOSPcHyxmoEuw9NcinpiSP1IAaCuesAkNsqMfvVg3SZbgrhLK1vYYGIpY6lBHXr7atA6GKQYN5qfoxH4VCpX7QYwt7L_vl2lnG28ACvPTgNHQcaw/w41-h30/%E8%9E%A2%E5%B9%95%E6%93%B7%E5%8F%96%E7%95%AB%E9%9D%A2_2023-02-11_231717-removebg-preview.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgR_O95ji9pVNrlM5B7FibRvoXkoJ372ReNDak9KXLm2_Gitn3pWvWgDTsuJaSmxQfCj-tmRiPcsWxj3V_Cl0BJD-pr_oksvddRhU6V3enuAUE_n6XokX3KjBhvQw_tiQ_xlGid0LtyoWsgCvdWwgxfpyDJEMaykyCO-1lAfc5Vj5zeE3M713av9a3iKA/w640-h328/%E8%9E%A2%E5%B9%95%E6%93%B7%E5%8F%96%E7%95%AB%E9%9D%A2%202023-02-12%20093023.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-xkDUE8hWxq0wXwKyeyw0_5jtOLaTph3D1tUqiwrAYp0SebQ5JaTamwY-PntBQFyk3YvdGzzpQdUZXczqbzmGn5b8rVMHNJELTM8d8tBN3tuA7erJO3V51H5lDO5lMmdXqE-ZfWXUXM_3RWelC2mAQz6M43KsdJFsSMCcquMxYQ5eSwy1BqzNcGshPQ/w640-h464/%E5%BF%AB%E9%80%9F%E5%90%88%E4%BD%B5%E9%80%A3%E7%B5%A1%E4%BA%BA%20-%20Google%20%E8%A9%A6%E7%AE%97%E8%A1%A8.gif)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXefqQ0hSHCF0mGiSeCrmYseQqv6WRwU1gTFWqiX8JOQCn5kR-bJ7oLir3hWYv5GI0VA3dhJYdj_UvgbpvMyJbQ4Y3Y5rlaLHLDfAD_NVmztK4slHJDlnyUqlyrofhAMtsURTQSSSTTrqSnE9ywWhXbSvnHWi7TtC1CoMJ2cwb6Rle7Yv305s-3uDLsg/w640-h368/%E8%9E%A2%E5%B9%95%E6%93%B7%E5%8F%96%E7%95%AB%E9%9D%A2%202023-02-12%20005718-1.png)
在這個示例代碼中,我們首先獲取當前活動工作表對象,然後使用 getLastRow()
和 getLastColumn()
方法獲取最後一行和最後一列的位置。接下來,我們使用 getRange()
方法根據這些位置獲取一個範圍對象,範圍的開始行為 2(因為第一行是表頭,我們不需要對其進行操作),開始列為 1,結束行為最後一行,結束列為最後一列。最後,我們可以在 range
對象上進行進一步的操作。
使用 getLastRow()
和 getLastColumn()
方法的好處是,即使您更改了表格的大小,代碼也可以自動適應。這可以讓您的代碼更加靈活和可維護。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieeDHmu0cL9XWpr-gmXuEhhuE-Noq93EAioo04ZAKwAoToGfWLRa6GXQ3dUVqhddCXV2jPT3k8Z2gKbwxkvDWzfaK2cxJU4MrifKkXi-TzagsqLJkgOLhWZsgrMtSK7-blZq9RF0qeJ8VZLZUemGYwrdSd96klFkB6_OayJi4XtDZO0GmN3Ua5iAu66g/w640-h300/%E8%9E%A2%E5%B9%95%E6%93%B7%E5%8F%96%E7%95%AB%E9%9D%A2%202023-02-12%20005741-1.png)
這個示例代碼首先獲取當前活動工作表對象,然後使用 getLastRow()
和 getLastColumn()
方法獲取最後一行和最後一列的位置。接下來,我們使用 getRange()
方法根據這些位置獲取一個範圍對象,範圍的開始行為 2(因為第一行是表頭,我們不需要對其進行操作),開始列為 1,結束行為最後一行,結束列為最後一列。最後,我們在 range
對象上使用 clearContent()
方法來清除範圍內的所有內容。
如果您只想清除範圍內的格式,可以使用 clearFormat()
方法;如果您想要將整個範圍都刪除,可以使用 clear()
方法。這些方法的使用方式與 clearContent()
方法類似,只需要將方法名替換即可。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPm6ooXAcS9icqqSnSNjUy_WguOj46Ph9iVCWNYXFcUZ5Kc1j1LYqRKnVKJhn-byf_xYebAqfOFj4BKmAcM2wzbtD5CN0I_wBM-OlSD91wpbdNZsUEK-iDWxayc4jyul98fjzzY7EvUyTjxnAJhvcoUC7hjh_xR-Plt_W8ev0PlGmFk9y12oLmGSPmVQ/s280/party%20time.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjurIKxY5snPxxBKdho6YfFyiISjR2HyEWqisHdna4kmAOSTFyTLBvNUS0-XbeRsW6csn8Fl3tNhJ_fsnvQ9yYoFS2si-MCuw4EiTL55mrJeeNMMEK1pJiQGfY9waaZo0NYxZUoEy4ge8P4L2KRc2Y_5zriCOW83HRGLWSYMGTQYRmDhRqR4cTMZ84Zrg/w546-h640/screenshot-chat.openai.com-2023.02.12-11_33_02.png)
ui.prompt()
方法建立一個對話框,讓使用者輸入新工作表的名稱。使用者輸入的名稱可以透過 getResponseText()
方法取得。在建立新工作表時,我們將這個名稱作為參數傳遞給 insertSheet()
方法。
沒有留言:
張貼留言
歡迎大家一起留言討論!