見出し画像

OfficeScriptsで名言ボットを作ってみた⑭ return文で戻り値を指定する🙂

こんにちは。aliceです。

OfficeScripts初心者が名言ボットを作ってみたシリーズ。はじめてのOfficeScripts。


今日はreturn文で戻り値を指定してみたいと思います。

OfficeScriptsとPowerAutomateで名言ボットを作りました。(OfficeScriptsの使用にはweb版のExcelとライセンスが必要です。)

前回のあらすじ

break文でループを抜けてみました。

function main(workbook: ExcelScript.Workbook) {
 let sheet = workbook.getActiveWorksheet();
 let range = sheet.getUsedRange();
 let rangeValues = range.getValues();
 let word = "";
 let lastRow = range.getRowCount();
 for (let i = 1; i <= lastRow; i++) {
   if (rangeValues[i][3] === "") {
     word = "" + rangeValues[i][1];
     sheet.getCell(i, 3).setValue("True");
     if (i >= lastRow - 1) {
       let address = "D2:D" + lastRow;
       sheet.getRange(address).clear(ExcelScript.ClearApplyTo.contents);
     };
   break;
   }
 }
}

これでセリフを取得できたのですが、取得したセリフをPowerAutomateに渡すため、return文を使います。


1 return文

return文を使ってこの関数mainの結果を出力します。

return word;

また、戻り値は文字列なので文字列型で定義しています。

function main(workbook: ExcelScript.Workbook) :string{

こんな感じになりました。

function main(workbook: ExcelScript.Workbook): string {
 let sheet = workbook.getActiveWorksheet();
 let range = sheet.getUsedRange();
 let rangeValues = range.getValues();
 let word = "";
 let lastRow = range.getRowCount();
 for (let i = 1; i <= lastRow; i++) {
   if (rangeValues[i][3] === "") {
     word = "" + rangeValues[i][1];
     sheet.getCell(i, 3).setValue("True");
     if (i >= lastRow - 1) {
       let address = "D2:D" + lastRow;
       sheet.getRange(address).clear(ExcelScript.ClearApplyTo.contents);
     };
   break;
   }
 }
 return word;
}

画像1

ということで実行。

エラーが出ていないので大丈夫かな?

画像2

次回、これをPowerAutomateで実行してみます!


2 今日のまとめ

戻り値を指定するときはreturn文を使う。


3 おすすめサイト


お疲れさまでした。

この記事が気に入ったらサポートをしてみませんか?