見出し画像

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を用意します。

画像2

A列:ID(id)

B列:セリフ(word)

C列:誰のセリフ(person)

D列:botを投稿したかどうかの確認列(check)


2 新しいスクリプトを作る

自動化タブの全てのスクリプト

画像3

新しいスクリプト

画像4

開くともうなにやら書かれていますね。

function main(workbook: ExcelScript.Workbook) :{
    // Your code here
}

これを見たときにこう思いました。

「workbook: ExcelScript.Workbook)」って何??

画像11

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
}

こんな感じに変えたりするとエラーになります。

画像5

何もしていないのに…。

画像12

ここはやっぱり関数名をmainにします。

画像6

4 ExcelScript.Workbookはデータ型

ExcelScript.Workbookってデータ型だったんですね。

画像7

各 Office スクリプトには、最初のパラメーターとして ExcelScript.Workbook 型の main 関数を含める必要があります。

とあるのでこれも必須ですね。

5 名前を変更する

最後に名前を変更しておきます。

その他のオプション

画像8

名前の変更

画像9

とりあえず「MyBot」にしてみた

画像10

できた

画像11

6 今日のまとめ

・OfficeScriptsにはmain関数は必須

・ExcelScript.Workbookはデータ型(これも必須)

お疲れさまでした!

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