簡體   English   中英

Google表格粘貼格式

[英]Google sheets Paste Format

在下面的Google表格代碼中,我將從單獨的每月工作表中復制兩個月的日歷數據,並將其粘貼到“ TwoMonth”工作表中以進行顯示。 一個功能將顯示的月份提前一個月,另一個功能將顯示的月份提前一個月。 想法是將值和格式粘貼在兩個不同的語句中。 Forward1Mo函數按預期方式工作。 Reverse1Mo函數粘貼值,但無法粘貼格式。 這兩個函數之間的代碼實際上是相同的,但性能卻不同。 我究竟做錯了什么?

function Forward1Mo() {
    var spreadsheet = SpreadsheetApp.getActive();
    var showMo1 = spreadsheet.getRange('C19').getValue()+1;
    var showMo2 = showMo1+1;

    spreadsheet.getSheetByName(showMo1).getRange('B2:H15').copyTo(spreadsheet.getSheetByName('TwoMonth').getRange('B2:H15'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
    spreadsheet.getSheetByName(showMo1).getRange('B2:H15').copyTo(spreadsheet.getSheetByName('TwoMonth').getRange('B2:H15'), SpreadsheetApp.CopyPasteType.PASTE_FORMAT, false);
    spreadsheet.getSheetByName(showMo2).getRange('B2:H15').copyTo(spreadsheet.getSheetByName('TwoMonth').getRange('J2:P15'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);  
    spreadsheet.getSheetByName(showMo2).getRange('B2:H15').copyTo(spreadsheet.getSheetByName('TwoMonth').getRange('J2:P15'), SpreadsheetApp.CopyPasteType.PASTE_FORMAT, false);  

    spreadsheet.getActiveSheet().getRange('C19').setValue(showMo1);
};

function Reverse1Mo() {
    var spreadsheet = SpreadsheetApp.getActive();
    var showMo1 = spreadsheet.getRange('C19').getValue()-1;
    var showMo2 = showMo1+1;
    spreadsheet.getSheetByName(showMo1).getRange('B2:H15').copyTo(spreadsheet.getSheetByName('TwoMonth').getRange('B2:H15'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
    spreadsheet.getSheetByName(showMo1).getRange('B2:H15').copyTo(spreadsheet.getSheetByName('TwoMonth').getRange('B2:H15'), SpreadsheetApp.CopyPasteType.PASTE_FORMAT, false);
    spreadsheet.getSheetByName(showMo2).getRange('B2:H15').copyTo(spreadsheet.getSheetByName('TwoMonth').getRange('J2:P15'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);  
    spreadsheet.getSheetByName(showMo2).getRange('B2:H15').copyTo(spreadsheet.getSheetByName('TwoMonth').getRange('J2:P15'), SpreadsheetApp.CopyPasteType.PASTE_FORMAT, false);  

    spreadsheet.getActiveSheet().getRange('C19').setValue(showMo1);
};

今天,上面發布的代碼在Google表格中可以正常使用。 昨天我什至保存,關閉,重新打開並重新測試了Google表格,都無濟於事。 今天,我打開並進行測試,發現所有功能均按預期運行。

希望上面的代碼對某些人有用。 此代碼的主要功能是呈現由單月工作表構成的工作簿的可滾動的兩個月視圖。 想法是僅向面向Web的演示文稿提供值和格式。 提供的按鈕可以調用上面顯示的兩個功能中的任何一個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM