web-dev-qa-db-ja.com

Google Apps Scriptで文字列を連結する

ijで表される両方の値をgetSheetByName関数に取得するにはどうすればよいですか?

免責事項:私はコーディングがまったく新しいので、おそらく間違った質問をしています。私の目標は、Week 1、Week 2などのシート名をループして、シートを自動的に削除する単純なコードを作成することです。

これまでの私のコードは次のとおりです。

function myFunction() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet()
  var i = "Week "
  var j = 32
  var mysheet = sheet.getSheetByName(i&j)
  sheet.deleteSheet(mysheet)
}
5
wesh

コードにi&jを記述しましたが、これはGoogleアプリのスクリプトで連結する構文ではありません。代わりに、単にi + jを使用できます。ループには、for、while、do-whileなどのループを使用する必要があります。

これらの提案を組み合わせて、ここに私の最後の提案があります。

このようなことを試してみてください[ここで 'try'を使用すると、単にコピーアンドペーストして使用しないでください。特定のニーズに合わせてキュレーションされた独自のコードを理解して記述してください。おそらくそのように、私たちはさらに成長/学習するでしょう]

function myFunction() {
  var START_WEEK = 1; //Put your starting week count here
  var END_WEEK = 2; //Put your ending week count here
  var spreadSheet = SpreadsheetApp.getActiveSpreadsheet()
  var pre_name = "Week"
  var i;
  for (i = START_WEEK; i <= END_WEEK; i++) {
    try {
      spreadSheet.deleteSheet(spreadSheet.getSheetByName(pre_name + " " + i))
    } catch (exp) {
      //Maybe sheet with that name is not found
      Logger.log(exp.toString());
    }
  }
}

このコードは、名前が"Week "で始まり、その後に週数が続き、最後の週数まですべてのシートをループし、見つかった場合は削除します。

START_WEEKEND_WEEKを正しく入力してください。

これで問題が解決しない場合や、クエリがある場合はお知らせください。

ありがとう

7
Umair Mohammad