Googleスプレッドシートサイドバーでカスタム検索を作成する

ウィリアムウェルチ

駐車場の駐車スペースを追跡するための約1400行のシートがあります。これまでのところ、助けを借りて、サイドバーを開き、検索ボックスを作成し、「検索」ボタンと「閉じる」ボタンを追加することができました。現在、[検索]ボタンをクリックすると、検索ボックスのスペース番号を取得しておらず、スクリプトとも通信していないように見えます。

私の質問は、検索ボックスから情報を取得し、列Bを調べて一致するものを探し、その行の列BGから情報を取得して、次の形式で情報を返す方法です。

  • 列B:colBInfo
  • 列C:colCInfo
  • 列D:colDInfo
  • 列E:colEInfo
  • 列F:colFInfo
  • 列G:colGInfo
  • 行番号:rowNumInfo

関数searchInfoがエラーを出しているというデバッグと資金提供を行いました:範囲の座標または寸法が無効です。(28行目、ファイル「サイドバー」)rowWithSpaceNumberが-1を返しているため。SpaceNumberが検索ボックスから情報を取得できるようになると、このエラーが修正されると思います。

Menu.gs

function onOpen() { 

  SpreadsheetApp.getUi()
  .createMenu('Sidebar')
  .addItem('Show Sidebar', 'showSidebar')
  .addToUi(); 
 }

Sidebar.gs

 function showSidebar() {
var html = HtmlService.createHtmlOutputFromFile('index')
   .setSandboxMode(HtmlService.SandboxMode.IFRAME)
   .setTitle('Individual Space Lookup');
SpreadsheetApp.getUi()
   .showSidebar(html);
SpreadsheetApp.getActiveSpreadsheet().toast('Sidebar opened', 'Status');
}

function searchInfo(theSpaceNumber) {
 var ss =     SpreadsheetApp.openById("1isuunf_SRThXe8C71ROKAC2JvjZ49w05MrLE2323Yqk");
Logger.log("Book name: "+ ss.getName());
var sheetWithData = ss.getSheetByName("Master Sheet");
Logger.log("Sheet name: "+ sheetWithData.getName());  
var numOfRowsInSheet = sheetWithData.getLastRow();
var values = sheetWithData.getSheetValues(4, 2, numOfRowsInSheet, 1);
Logger.log("Values: "+ values);


//Convert two dimensional array to one dimensional array.
var theRowValues = [];
for (var i = 0; i < values.length; i++) {
theRowValues.push(values[i]);
};

var rowWithSpaceNumber = theRowValues.indexOf(theSpaceNumber);
Logger.log("rowWithSpaceNumber: " + theSpaceNumber);

//Get 6 columns of data:  getSheetValues(startRow, startColumn, numRows, numColumns)
var colBInfo = sheetWithData.getSheetValues(rowWithSpaceNumber, 2, 1, 1);
var colCInfo = sheetWithData.getSheetValues(rowWithSpaceNumber, 3, 1, 1);
var colDInfo = sheetWithData.getSheetValues(rowWithSpaceNumber, 4, 1, 1);
var colEInfo = sheetWithData.getSheetValues(rowWithSpaceNumber, 5, 1, 1);
var colFInfo = sheetWithData.getSheetValues(rowWithSpaceNumber, 6, 1, 1);
var colGInfo = sheetWithData.getSheetValues(rowWithSpaceNumber, 7, 1, 1);
var rowNumInfo = sheetWithData.getRange(rowWithSpaceNumber, 2);
Logger.log("Row Number: " + rowWithSpaceNumber);

return app ( colBInfo, colCInfo, colDInfo, colEInfo, colFInfo, colGInfo, rowNumInfo );    

};

index.html

<div>

  Search Individual Space: <input type="search" id="idUserInput"/>

<BR>

<input type="button" value="Search"
onclick="getUserInput()" />

<input type="button" value="Close"
onclick="google.script.host.close()" />


<script> 

function onSuccess( colBInfo, colCInfo, colDInfo, colEInfo, colFInfo, colGInfo, rowNumInfo) {


  alert('Column B: ' + colBInfo
    <br>'Column C: ' + colCInfo
    <br>'Column D: ' + colDInfo
    <br>'Column E: ' + colEInfo
    <br>'Column F: ' + colFInfo
    <br>'Column G: ' + colGInfo
    <br>'Row Number: ' + rowNumInfo

    );
}

function getUserInput() {
var theSpaceNumber = document.getElementById("idUserInput").value;

google.script.run.withSuccessHandler(onSuccess)
  .searchInfo(theSpaceNumber); 
    };

</script>

</div>
rpm

私によると、これに失敗する理由は2つあります。

まず、表示する理由-1は、スプレッドシートで渡された値が見つからないためです

第二に、あなたの渡された値のデータ型は次のようになりますstring、とのあなたの値のデータ型theRowValuesIS objectそのため、スプレッドシートで使用可能なデータを渡しても、比較中に2つの異なるタイプがあるため、常に失敗します。

このタイプのエラーを解決するには、

変更theRowValues.push(values[i])あなたの行を次のようにsidebar.gs

theRowValues.push(Utilities.formatString("%s", values[i]));

これにより、スプレッドシートのデータがobjectデータ型からデータ型に変換されますstring

これを行った後でも、スプレッドシートのエラーを処理する必要があります。

spreasdheetで使用できないデータを渡した場合、コードはの値-1返します。-1は行の有効な値ではないrowWithSpaceNumberため、エラーが発生しvar theRowData = sheetWithData.getSheetValues(rowWithSpaceNumber, 2, 1, 6);ます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Googleスプレッドシートでシート名を検索するときのワイルドカード式。Google App Script

分類Dev

Googleスプレッドシートでテキストを検索する方法

分類Dev

Googleフォームの回答(Googleスプレッドシート)で行番号と列番号を検索する

分類Dev

query()を使用してGoogleスプレッドシートで検索フォームを作成するにはどうすればよいですか?

分類Dev

ノードjs(カスタムプロトコル)でシンプルなサーバーを作成する

分類Dev

大規模なデータセット内のサブリストを検索するためのPythonでのカスタムイテレーターの作成

分類Dev

スプレッドシートで Google 検索を実行し、SERP データをスクレイピングする

分類Dev

Google Scriptsを使用して、検索したキーワードを含むWebサイトをGoogleスプレッドシートに表示する方法

分類Dev

カスタム条件でGoogleスプレッドシートのアイテムを並べ替える方法

分類Dev

Googleスプレッドシートのカスタム関数でJSONからデータを取得する方法

分類Dev

Googleスプレッドシートのサイドバー入力をサーバーに取得する方法

分類Dev

Googleスプレッドシートでリーダーボードシステムを作成する方法

分類Dev

JQueryを使用してGoogleスプレッドシートを検索する

分類Dev

Google VisualizationQueryを使用してスプレッドシートを検索する方法

分類Dev

Googleスプレッドシートの別のシートの範囲で部分文字列を検索する

分類Dev

Googleスプレッドシートのサイドバーでインデックスを並べ替える

分類Dev

プロットグラフでカスタムモードバーボタンアイコンを作成する

分類Dev

Google ストレージ バケットを指すカスタム サブドメインを使用して SSL アプリ エンジンを追加する

分類Dev

Googleスプレッドシート:単語を大文字で分割するカスタム数式

分類Dev

Rを使用してExcelスプレッドシートでターゲットを検索する

分類Dev

GoogleスプレッドシートとGoogleScriptで検索を使用してループする

分類Dev

フレキシブル検索サービスを使用してアイテムタイプからレコードを削除することは可能ですか?

分類Dev

列からデータを検索して置換する-Googleスプレッドシート

分類Dev

ウェブと私のサイトを検索するオプションを備えたカスタムグーグル検索を作成する

分類Dev

Googleスプレッドシート->データ検証->カスタム数式->現在検証されている入力を参照する方法

分類Dev

サイレントモードと「通常」モードで同じカスタムアクションを起動するWiXセットアップ

分類Dev

GoogleScriptとスプレッドシートでタイムトリガーを作成する

分類Dev

カスタム投稿タイプを表示するワードプレス検索を停止します

分類Dev

プログラムでGoogleスプレッドシートのセル境界線スタイルを取得する

Related 関連記事

  1. 1

    Googleスプレッドシートでシート名を検索するときのワイルドカード式。Google App Script

  2. 2

    Googleスプレッドシートでテキストを検索する方法

  3. 3

    Googleフォームの回答(Googleスプレッドシート)で行番号と列番号を検索する

  4. 4

    query()を使用してGoogleスプレッドシートで検索フォームを作成するにはどうすればよいですか?

  5. 5

    ノードjs(カスタムプロトコル)でシンプルなサーバーを作成する

  6. 6

    大規模なデータセット内のサブリストを検索するためのPythonでのカスタムイテレーターの作成

  7. 7

    スプレッドシートで Google 検索を実行し、SERP データをスクレイピングする

  8. 8

    Google Scriptsを使用して、検索したキーワードを含むWebサイトをGoogleスプレッドシートに表示する方法

  9. 9

    カスタム条件でGoogleスプレッドシートのアイテムを並べ替える方法

  10. 10

    Googleスプレッドシートのカスタム関数でJSONからデータを取得する方法

  11. 11

    Googleスプレッドシートのサイドバー入力をサーバーに取得する方法

  12. 12

    Googleスプレッドシートでリーダーボードシステムを作成する方法

  13. 13

    JQueryを使用してGoogleスプレッドシートを検索する

  14. 14

    Google VisualizationQueryを使用してスプレッドシートを検索する方法

  15. 15

    Googleスプレッドシートの別のシートの範囲で部分文字列を検索する

  16. 16

    Googleスプレッドシートのサイドバーでインデックスを並べ替える

  17. 17

    プロットグラフでカスタムモードバーボタンアイコンを作成する

  18. 18

    Google ストレージ バケットを指すカスタム サブドメインを使用して SSL アプリ エンジンを追加する

  19. 19

    Googleスプレッドシート:単語を大文字で分割するカスタム数式

  20. 20

    Rを使用してExcelスプレッドシートでターゲットを検索する

  21. 21

    GoogleスプレッドシートとGoogleScriptで検索を使用してループする

  22. 22

    フレキシブル検索サービスを使用してアイテムタイプからレコードを削除することは可能ですか?

  23. 23

    列からデータを検索して置換する-Googleスプレッドシート

  24. 24

    ウェブと私のサイトを検索するオプションを備えたカスタムグーグル検索を作成する

  25. 25

    Googleスプレッドシート->データ検証->カスタム数式->現在検証されている入力を参照する方法

  26. 26

    サイレントモードと「通常」モードで同じカスタムアクションを起動するWiXセットアップ

  27. 27

    GoogleScriptとスプレッドシートでタイムトリガーを作成する

  28. 28

    カスタム投稿タイプを表示するワードプレス検索を停止します

  29. 29

    プログラムでGoogleスプレッドシートのセル境界線スタイルを取得する

ホットタグ

アーカイブ