そろそろ新年も近づいて来ました。
新年といえば、やはりおみくじですよね。
おみくじといえば、神社ですよね。
ということでこの記事では、Google Apps ScriptとGoogle Spreadsheet を用いて、おみくじを引くことのできる神社を建立しようと思います。
対象:GAS初心者。Pythonぐらいなら分かるというレベルの人を想定。
このまっさらな画面に神社のデザインを作成していきます。
どのようなやり方でやってもらっても構わないのですが、上部のメニューから、挿入>画像>セル上に画像を挿入、で画像を入れることができます。
私は、いらすとやのそれっぽい画像を大量につめこんでみました。結果こんな感じです。
非常に素晴らしいデザインですね。我ながら感動しました。
これに関しては個人の好みなので、皆さん好きなように神社のデザインを作成してください。
それでは、おみくじを実行してくれるボタンを設置しましょう。
メニューから、挿入>図形描画と進み、現れた画面に、いい感じのボタンを描画します。
これを保存して閉じ、いい感じの場所に配置しましょう。
ではいよいよプログラムを記述していきます。
使用する言語はGoogle Apps Script、略してGASと呼ばれている言語です。Googleドキュメントやスプレッドシート、スライド、メールの自動化などができます。応用すると、LINEの自動化やサーバーの作成などもでき、無料ですが夢のある言語です。ただし、制限もあります。
本題に入りましょう。スプレッドシートのメニューから拡張機能>Apps Scriptを選択します。すると、コードを書くことのできる画面が出現します。一番最初はこのようなコードが書かれているのではないでしょうか?
function myFunction() {
}
このコードは必要ないので、消して以下のようなコードを書いてください。
function random(){
const results = ["大吉","中吉","吉","凶","大凶"]
const result = results[Math.floor(Math.random()*results.length)]
Logger.log(result)
}
書き終わったら、実行ボタンを押してみましょう。すると、実行ログという画面が開きあなたの運勢を教えてくれます。ちなみに私は大凶でした…
では、ここで、このプログラムの意味を解説しようと思います。(回りくどいですが、初心者向けの記事ということで分かる人は読み飛ばしてください。)
const results = ["大吉","中吉","吉","凶","大凶"]
まず最初、この部分では、結果として出る可能性のある運勢を列挙してresultsという名前を与えています。
const result = results[Math.floor(Math.random()*results.length)]
そして、次の行。一番分かりにくいポイントだと思います。この行では、先程列挙した運勢の中からランダムで一つ、今日の運勢を選びます。
具体的に解説すると、Math.random() と書かれている部分、これは0以上1未満のランダムな数を返します。それにMath.random()*results.length のように、resultsの長さ(この場合だと5)をかけています。よって、Math.random()*results.length の値は0以上5未満のランダムな数となります。そして、これをMath.floor() で囲っています。Math.floor() は切り捨てを行う関数であるため、運勢の一覧であるresultsの後ろにかかれている添字は、0,1,2,3,4のいずれかランダムな数を返すということになります。よってこの行はresultsから0番,1番,2番,3番,4番いずれかの運勢をランダムに選ぶというコードになっているのです。
そして、最後の行では選ばれた結果をログに出力しています。
さて、ここまで色々と書きましたが、まだ完成ではありません。なぜならば、先程作ったボタンとこのコードを紐付けていないからです。ということで紐付けをおこなっていきましょう!
と…その前にプロジェクトを保存することをお忘れなく。ctrl + s で保存することができます。
まず、スプレッドシートにもどって、先程作ったボタンを選択すると、右上に三つの点が表示されているはずです。三点を押して、メニューを表示させ、「スクリプトを割り当て」を選択してください。
「どのスクリプトを割り当てますか?」と聞かれるのでここにrandomと書いてください。このrandom というのは、先程のコードのfunction random() を指し示しています。
これで紐付けは完了です。
ということで、満を持してボタンを押してみましょう!
…あれ、「スクリプトを実行しています」と出ただけで何も起こりませんね。
それもそのはず、なぜならば、先程のコードにはスプレッドシートに結果を表示するコードを書いていないからです。ということで、先程のコードを以下のコードに直しましょう。
function random(){
const results = ["大吉","中吉","吉","凶","大凶"]
const result = results[Math.floor(Math.random()*results.length)]
Logger.log(result)
Browser.msgBox(result)
}
これを保存して、ボタンを押すと…
また、邪魔が入りました。書いたコードがスプレッドシートにアクセスできるようにする必要があるようですね。
アクセスを許可しようとすると、途中に危険そうな画面が出てきますが、
左下の「詳細」から「無題のプロジェクト(安全ではないページ)に移動」でアクセスを許可することができます。
実行できました!!今日の運勢は凶です!!
これで、無事Googleおみくじ神社を建立することができました。このコードをもとにして、ラッキーアイテムを追加するなど、いろいろと拡張してみてください。自分だけのおみくじ神社を運営しましょう!
ここまで読んでくださりありがとうございました。ではまた!!
calendar_month公開日 : 2025年2月8日
このページでは、2(MhYg)に関するアカウントに関するヘルプ、投稿に関するヘルプ以外のヘルプを表示しています。
calendar_month公開日 : 2025年2月8日
この記事では2(MhYg)のアカウントに関するヘルプを掲載しています。
calendar_month公開日 : 2025年2月8日
この記事では2(MhYg)の投稿機能に関するヘルプを集めています。
calendar_month公開日 : 2025年2月6日
このページでは2(MhYg)に関してのヘルプの記事を集めています。