首页 > 解决方案 > 在 Google Apps 脚本中的同一脚本中调用另一个函数中的函数

问题描述

我对编写代码很陌生,我需要一些帮助。我正在研究谷歌表格。在下面的代码中,我试图在Merge()函数中调用copyAllInRange()函数。我看到了很多例子,但我对如何做到这一点有点困惑。这两个功能都运行良好;我不知道如何将一个函数调用到另一个函数中。

目标是跑copyAllInRange();并在函数结束时调用Merge()要运行的函数。


 function Merge(){
     var ss = SpreadsheetApp.getActiveSpreadsheet();
     var sheet = ss.getSheetByName('PDF_TEMP');
     var Range_Logo = sheet.getRange('C11:D16').merge();
     var Range_Bottom = sheet.getRange('C50:J52').merge();
 
 Range_Bottom.setHorizontalAlignment("center").setVerticalAlignment("middle");
 Range_Logo.setHorizontalAlignment("center").setVerticalAlignment("middle");
 }

 function copyAllInRange(){
 var SS = SpreadsheetApp.getActiveSpreadsheet(); 
 var NS = SS.getSheetByName("PDF_TEMP");    
     if (NS != null) {
         SS.deleteSheet(NS);}
     NS = SS.insertSheet();
     NS.setName("PDF_TEMP");
 
 var Sheet = SS.getSheetByName("Factura");     
 var TR = Sheet.getRange("C3:N59");        
 var PR = NS.getRange("A1:L55");               
   
 var columnWidths = SpreadsheetApp.CopyPasteType.PASTE_COLUMN_WIDTHS
   TR.copyTo(PR);
   TR.copyTo(PR,columnWidths,false);  
 }

两者都在同一个脚本文件中;两者都独立工作。

标签: functiongoogle-apps-scriptgoogle-sheetsspreadsheet

解决方案


可以在合并函数的最后调用第二个函数

function Merge(){
     var ss = SpreadsheetApp.getActiveSpreadsheet();
     var sheet = ss.getSheetByName('PDF_TEMP');
     var Range_Logo = sheet.getRange('C11:D16').merge();
     var Range_Bottom = sheet.getRange('C50:J52').merge();
 
 Range_Bottom.setHorizontalAlignment("center").setVerticalAlignment("middle");
 Range_Logo.setHorizontalAlignment("center").setVerticalAlignment("middle");
 
 copyAllInRange()
 
 }


推荐阅读