最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Apps 腳本:如何通過(guò)單擊兩個(gè)按鈕循環(huán)加載對(duì)話(huà)框?

Apps 腳本:如何通過(guò)單擊兩個(gè)按鈕循環(huán)加載對(duì)話(huà)框?

呼啦一陣風(fēng) 2023-11-02 21:49:14
基本上,我正在比較兩張表中的數(shù)據(jù),因此我想顯示一個(gè)對(duì)話(huà)框,其中包含兩張表中兩個(gè)單元格的數(shù)據(jù)和兩個(gè)按鈕,供用戶(hù)選擇哪個(gè)數(shù)據(jù)單元格是正確的。然后我想循環(huán)遍歷一張紙與另一張紙不同的所有數(shù)據(jù)。如何顯示包含數(shù)據(jù)的對(duì)話(huà)框,使腳本等待按下按鈕,然后轉(zhuǎn)到列表中的下一項(xiàng)?這是我到目前為止的腳本:<script>  function myfunction() {    google.script.run.withSuccessHandler(qcComparison).qcGetData();  }  function qcComparison(sheetsData) {    var sheet1 = sheetsData["sheet1"];    var sheet2 = sheetsData["sheet2"];    var lastRow = sheet1.length;    var lastCol = sheet1[0].length    var headers = sheet1[0];    for (var row=1; row<=lastRow; row++) {      for (var col=0; col<lastCol; col++) {      // Do the comparison one cell at a time        var value1 = sheet1[row][col];        var value2 = sheet1[row][col];        if (value1 != value2) {          // Do something        }      }    }  }  document.addEventListener("DOMContentLoaded", myfunction());</script>這是我想用數(shù)據(jù)更新的 HTML 對(duì)話(huà)框:     <table id="qc-table" class="qc-table">        <tr>          <td><button id="sheet-1" class="btn btn-primary btn-sm">Sheet 1</button></td>          <td class="profile-data"><p id="sheet-1-profile">Data from cell 1</p></td>        </tr>        <tr>          <td><button id="sheet-2" class="btn btn-secondary btn-sm">Sheet 2</button></td>          <td class="profile-data"><p id="sheet-2-profile">Data form cell 2</p></td>        </tr>      </table>
查看完整描述

1 回答

?
千巷貓影

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊

要在值不相等時(shí)顯示對(duì)話(huà)框,您可以調(diào)用 HTML 服務(wù)在 Apps 腳本中創(chuàng)建 HTML,然后使用getUi().showModalDialog.


編輯:for循環(huán)不是最好的解決方案,因?yàn)樗鼈儗⒃趯?duì)話(huà)框打開(kāi)時(shí)繼續(xù)執(zhí)行。在這種情況下最好使用遞歸。


示例代碼如下:


var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");

var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2");

var range1 = sheet1.getRange(1,1,sheet1.getLastRow(),sheet1.getLastColumn()).getValues();

var range2 = sheet2.getRange(1,1,sheet2.getLastRow(),sheet2.getLastColumn()).getValues();


function qcComparison() {

    var row = 0, col = 0;

    compare(row, col);

}


function compare(row, col) {

    Logger.log(row, col);

    if (range1[row][col] != range2[row][col]) {

          Logger.log("Different values!");

          var html = HtmlService.createTemplateFromFile("page");

          html.row = row;

          html.col = col;

          html.cell1 = range1[row][col];

          html.cell2 = range2[row][col];

          var htmlOutput = html.evaluate();

          SpreadsheetApp.getUi().showModalDialog(htmlOutput, 'Choice');

    }

    else {

          compareNext(row, col);

    }

}


function compareNext(row, col) {

    Logger.log("Compare next", row, col);

    if (col < range1[row].length) {

      if (row < range1[col].length-1) {

            compare(++row, col);

      }

      else {

            row = 0;

            compare(row, ++col);

      }

    }

    return;

}


HTML 已更改為接受來(lái)自 Apps 腳本的值,示例代碼如下:


<!DOCTYPE html>

<html>

  <head>

    <base target="_top">

  </head>

  <body>

         <table id="qc-table" class="qc-table">

        <tr>

          <td>

            <button id="sheet-1" class="btn btn-primary btn-sm" onclick="google.script.run.setSheet1(<?=row?>,<?=col?>,<?=cell1?>);google.script.host.close();">Sheet 1</button></td>

          <td class="profile-data"><p id="sheet-1-profile">Data from Sheet 1: <?=cell1?>   </p></td>

        </tr>

        <tr>

          <td><button id="sheet-2" class="btn btn-secondary btn-sm" onclick="google.script.run.setSheet2(<?=row?>,<?=col?>,<?=cell2?>);google.script.host.close();">Sheet 2</button></td>

          <td class="profile-data"><p id="sheet-2-profile">Data from Sheet 2: <?=cell2?>   </p></td>

        </tr>

      </table>

  </body>

</html>


請(qǐng)注意,腳本現(xiàn)在在單擊工作表 1 或工作表 2 時(shí)運(yùn)行函數(shù)來(lái)更新值:


function setSheet1(row, col, value) {

    sheet2.getRange(++row,++col).setValue(value);

    compareNext(--row, --col);

}


function setSheet2(row, col, value) {

    sheet1.getRange(++row,++col).setValue(value);

    compareNext(--row, --col);

}


查看完整回答
反對(duì) 回復(fù) 2023-11-02
  • 1 回答
  • 0 關(guān)注
  • 158 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)