![見出し画像](https://assets.st-note.com/production/uploads/images/51948668/rectangle_large_type_2_6f714d77547288b999b41b8979be6fbe.jpeg?width=1200)
OfficeScriptsで名言ボットを作ってみた① はじめてのOfficeScripts main関数
こんにちは。aliceです。
OfficeScripts初心者が名言ボットを作ってみたシリーズ。はじめてのOfficeScripts。
はじめてOfficeScriptsを使ってみました!いろいろ躓きポイントがあったのでつらつら書いていこうと思います。
最初はmain関数。「function main(workbook: ExcelScript.Workbook)」←これなぁに??な話です。
OfficeScriptsとPowerAutomateで名言ボットを作りました。(OfficeScriptsの使用にはweb版のExcelとライセンスが必要です。)
今回はmiain関数のはなしです。
1 Excel(Excel on the web)を用意する
こんな感じのExcelを用意します。
A列:ID(id)
B列:セリフ(word)
C列:誰のセリフ(person)
D列:botを投稿したかどうかの確認列(check)
2 新しいスクリプトを作る
自動化タブの全てのスクリプト
新しいスクリプト
開くともうなにやら書かれていますね。
function main(workbook: ExcelScript.Workbook) :{
// Your code here
}
これを見たときにこう思いました。
「workbook: ExcelScript.Workbook)」って何??
function main(workbook: ExcelScript.Workbook) :{
//処理
}
すでにここからわからない。
いろいろ調べた結果、最終的にMicrosoftのドキュメントにたどり着く。
main 関数
各 Office スクリプトには、最初のパラメーターとして ExcelScript.Workbook 型の main 関数を含める必要があります。 関数が実行されると、Excel アプリケーションはブックを最初のパラメーターとして指定して、この main 関数を呼び出します。 そのため、スクリプトを記録した後、またはコード エディターで新しいスクリプトを作成した後に、main 関数の基本シグネチャを変更しないようにすることが重要です。
スクリプトを実行すると、main 関数の内部のコードが実行されます。 main は、スクリプト内の他の関数を呼び出すことができますが、関数に含まれていないコードは実行されません。
3 main関数を書く
まず、OfficeScriptsはmain関数を含めなければいけないんですね。
function main(workbook: ExcelScript.Workbook) :{
// Your code here
}
なので、mainなんて関数名は嫌だ~と言って
function sendBot(workbook: ExcelScript.Workbook) :{
// Your code here
}
こんな感じに変えたりするとエラーになります。
何もしていないのに…。
ここはやっぱり関数名をmainにします。
4 ExcelScript.Workbookはデータ型
ExcelScript.Workbookってデータ型だったんですね。
各 Office スクリプトには、最初のパラメーターとして ExcelScript.Workbook 型の main 関数を含める必要があります。
とあるのでこれも必須ですね。
5 名前を変更する
最後に名前を変更しておきます。
その他のオプション
名前の変更
とりあえず「MyBot」にしてみた
できた
6 今日のまとめ
・OfficeScriptsにはmain関数は必須
・ExcelScript.Workbookはデータ型(これも必須)
お疲れさまでした!