ChatGPTを使った防災教育！！



# 1. はじめに
最近、大きな自然災害が多発しています。1月の能登半島地震や宮崎で発生した震度6弱の地震、南海トラフ臨時情報の発令、さらには現在進行中の台風10号など、近い将来さらに大きな自然災害が発生するのではないかと、子供たちの将来が心配です。  
大きな自然災害が発生したとき、子供たちがどのような防災行動をとるべきかを楽しく学べる子供向けの防災クイズを、ChatGPTの力を借りてPPTで作成しました。

# 2. ChatGPTを使用して作成した理由
理由は3つあります。
1. たくさんの教育資材から防災クイズの設問を作るには優先順位をつけるのが難しい。
2. 9月1日の防災イベントで使用するため、作成までの時間がなかった。
3. 作った防災教育用のPPTを実際に子供たちの前で発表し、その反応を知りたかった。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3836617/a1638afe-5aa3-c401-adf3-7f19f4f135a0.png)  
資料はたくさんあるのですが :frowning2::frowning2:

# 3. ChatGPTを使用した防災クイズPPTプロトタイプ作成過程

## プロンプト1-8
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3836617/c07773ac-4a6a-b80a-635f-9e1758892303.png)  
その回答がこちらです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3836617/e737f093-166d-a653-9d08-7f65760ec106.png)  
生成された設問は期待通りでしたが、かわいい子供のイラストが欲しかったので、さらにプロンプトしました。
*　プロンプト2
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3836617/c0a28925-3a34-8d01-717e-2df3235ca897.png)  
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3836617/56850f97-a33b-9983-6d35-71292fde2cdc.png)  
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3836617/6a710824-42d0-a63e-88a7-799fa0727b87.png)  
防災クイズ用のイラストは1枚のみの生成だったため、無料版ChatGPTを有料版にバージョンアップしてさらに防災教育用のイラストを生成するようにプロンプトしました。

* プロンプト3
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3836617/595ab076-a688-c3f4-cf19-86a669359dac.png)
イラストは10枚生成できましたが、設問に合うイラストに違和感があったため、何度か生成させましたが、津波避難の画像に違和感があるため、結局ネットから適当な画像を抽出して使用しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3836617/9fcd2676-f7f0-6005-09ab-10f845bea317.png)  
さらに画像と設問をPPTに同時に貼り付けるマクロコードを作成し、VBAエディターに添付しました。

* プロンプト4
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3836617/57e147f9-0353-ce15-f756-ea1572a3b443.png)  
作成した設問とイラストをPPTに自動で貼り付けるようプロンプトしました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3836617/582894e2-651d-ca1b-2a38-d16058ea4888.png)  
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3836617/29b5888c-e7f2-c95d-6a52-aa13fa150abc.png)  
VBAコードをPPTに貼り付けましたが、エラーが出たため、エラー解消法をさらにプロンプトしました。

* プロンプト5
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3836617/78268e36-40d0-b32c-51ab-4a07baa0e1cb.png)  
何度もChatGPTに修正VBAを聞いて試しましたが、結局エラーを解消できませんでした。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3836617/d436fd6d-ecf0-9c8b-08cb-8c0e9ceb7b83.png)  
設問とイラストを同時に貼り付けることをあきらめ、設問だけをPPTに自動で貼り付けるようにしました。

* プロンプト6
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3836617/8dfa11fe-4156-38c9-2a93-9cb63df38a7c.png)  
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3836617/e3d4019e-f82d-ff24-e60e-d29f91c438c6.png)  
ChatGPTが作成したVBAを貼り付けることで、今度はエラーなくPPTを作成することができました。作成できた設問のPPTがこちらです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3836617/56496bec-02d2-1db4-674f-d3cc1211047b.png)  
* プロンプト7
イラストだけをPPTに自動で貼り付けるようにプロンプトしました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3836617/93a8900b-086d-e394-2b39-ee01da516d2d.png)
Sub InsertImagesIntoSlides()
    Dim pptSlide As slide
    Dim pptPresentation As Presentation
    Dim imagePath As String
    Dim imageFiles As String
    Dim imageCount As Integer
    ' プレゼンテーションを取得
    Set pptPresentation = ActivePresentation
    ' 画像が保存されているフォルダのパスを指定
    imagePath = "C:\Users\YourUsername\Desktop\images\" 'ここに画像フォルダのパスを入力
    ' 画像ファイルを検索
    imageFiles = Dir(imagePath & "*.jpg") '画像の拡張子がjpgの場合、pngの場合は "*.png"
    ' スライドに画像を挿入
    imageCount = 1
    Do While imageFiles <> ""
        ' 新しいスライドを追加
        Set pptSlide = pptPresentation.Slides.Add(pptPresentation.Slides.Count + 1, ppLayoutBlank)
        ' 画像をスライドに挿入
        pptSlide.Shapes.AddPicture _
            FileName:=imagePath & imageFiles, _
            LinkToFile:=msoFalse, _
            SaveWithDocument:=msoTrue, _
            Left:=100, _
            Top:=100, _
            Width:=400, _
            Height:=300
        ' 次の画像ファイルを取得
        imageFiles = Dir
        imageCount = imageCount + 1
    Loop
End Sub
作成が成功した動画です。
https://x.com/g5zKVX7GaKyzDxl/status/1829367867013525597
その後、イラストと設問を合体させました。
完成した子供向け防災クイズPPTです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3836617/4f89df9e-0a90-07f8-0dd7-20740e3dd1f5.png)

さらに、防災クイズを楽しめるように点数表とランク表を作成しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3836617/33014ef7-96ed-a620-c99d-90397ab7f703.png)
* プロンプト8
回答に応じたランクのイラストが欲しかったので、さらにプロンプトしました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3836617/b8349c1a-3f91-a749-9a3f-2b03ae17a128.png)


# 4. 作成を終えて
最終的に設問やイラストの位置は手動で調整しましたが、完全に自動化できなかったものの、すべて手動で作成するのに比べて圧倒的に早く作成できました。改めてChatGPTの凄さを実感しました。