見出し画像

作文推敲アプリ「作文の芽」#03

「作文の芽」推敲の流れ

学校の作文指導概要と作文推敲アプリ「作文の芽」の手順は既にざっくり書きましたが、具体的に推敲の流れを整理してみました。

作文推敲の流れを書いてみました

これをもとにフォーム入力・更新をトリガにして横書きPDFを発行するスクリプトを完成させました。

再現したPDFはこんなイメージです。

出来上がった横書き作文のPDFのイメージです

縦書き「原稿用紙」の存在

次に教える側、先生のニーズを聞いてみたところ「原稿用紙」の存在は無視できないということがわかりました。

国語の授業で「作文」の提出は「原稿用紙」に手書きして提出することを求められます。
いくらICT化を進めたとしても、今のところは「原稿用紙に手書きした作文作品」が評価対象の成果物形式なんだそうです。

将来は変わりそうですが、今のところは、手書き作文を完成させる為の支援ツールと位置づけたら良さそうです。

まあ、気持ちは良く分かるのですが、Google Documentsは横書きがあたりまえ。
O先生と話していくうちに、作成・推敲過程の修正は縦書きではなく横書きでも問題はなく、アウトプットの際に「縦書きイメージが手に入れば良い」と言うことでした。
最終的にはこのアウトプットを参考にしながら原稿用紙に手書きして完成になるそうです。

ノンプロ研で聞いてみる

今のところGoogleさんはDocuments の縦書きをサポートしていないし、ちょっと無理だなぁ。と思いつつ、ノンプロ研 Slackの「その他の質問」 チャンネルでこんな質問してみました。(2021年7月の話です)

「学校でGoogleDocumentで作文を書いているのですが、A4横で右から縦書きはできないですよね。

ノンプロ研のSlack「その他の質問」チャンネルより

なんと投稿 2分後! @etau0422 さんからいつもの調子で 「縦書きシェネレータ噛ませてるのあったw」と次のリンクが送られてきました。

ノンプロ研では Slack のスピード感と情報量は半端なく、凄まじい勢いで会話が進みます。

Google ドキュメントで縦書きする方法

返信のリンク先は「Google ドキュメントで縦書きする方法【OCR機能も】」というタイトルでした。

3つの無料ツールの紹介が説明されています。

この中から2番目の「縦書きツール」について少し說明しておきます。

下図左の《変換前(横書き)》のテキストボックスに文字列を入力し《縦書きに変換》をクリックすると右側の〈変換後(縦書き)〉に縦書きが出力されます。 縦書きに見えますが、実際には[さかあ][しきい][すくう][せけえ][そこお]の 順に横書きされたものです。

「縦書きツール」を使った変換例

入力した文章を1行20文字 x 20列(原稿用紙1ページ毎)に区切ってから、20列 x 20行に行列変換すればよさそうです。

けれど、どれもマウスでコチコチやる必要があります。

最終的にはGASでPDFアウトプット迄、手をかけずに一気通貫の流れを完結させたいのです。

ちょうどこの時期には他の案件(小学校 歯科健診結果、個人別フォローアップ依頼の開発)なども重なり停滞してしまいました。


もう7月末。ここまで来たら、やりたいことを具体的に書いてお願いするため、原稿用紙への文字配置ルールを簡単にまとめ、Slackのスレッドに投稿しました。

ノンプロ研 GAS WorkSpaceへの質問投稿

例外処理含めて縦書きにできたら最高。と思っていたら、またも @etau0422  さんから早々と返信が届きました。 

僅か20行のスクリプト

できたよ~。こんなんでどう~。と投稿して頂いたスクリプトは僅か20行。ところがスクリプトを開いてみても、私には配列操作で何をやっているかイメージが湧かないという悲しさ。

テストデータが組み込まれているので、そのままスクリプトを実行すると、凄い! やりたかったことが実現できていました!!

横書き20文字で改行 禁則処理も正しくできている

最難関と思っていた禁則処理のスクリプトが @etau0422 さんによってあっけなく手に入ったので、私のモチベーションは爆上がり。

取り組みの目的は私自身のプログラミングスキルアップよりも児童に「作分の芽」アプリを早く提供すること。今回はブラックボックスは箱のままでスクリプトを関数に仕立てて部品として活用させて貰うことにしました。

開発後は学校内で独自運用していくので処理は出来るだけメンテナンスしやすくガラス張りにしたいと思っていました。

横書きから縦書きへの変換は2つのシートの各セルを紐づけ。具体的には縦書き一文字目のセルに横書きシートの一文字目セルを参照するよう、コツコツ数式を設定して行きました。

巷では悪評高い、正に「原稿用紙」化したスプレッドシートを計3シート使い「横書き原稿」→ GASで値転送 →「縦書き原稿」→ 関数でセル参照 → 仕上げの「縦書き原稿」へと1文字ずつバケツリレーの様に隣のシートへ転送して行くことにしました。

縦書き原稿のPDFを作成する

縦書きのPDFを追加したフローは次のとおりです。

フォーム回答が更新されたら横書き・縦書き2つのPDFを作成し該当児童に共有します

このフローには「縦書きPDF」と「PDF共有」を追加しましたのでGASを育てていきます。
縦書きシート作成の部分は、ほとんどスプレッドシート関数で解決することにしたので主なプログラムは「PDFファイル作成」と「ファイル共有」のところです。

次回はGASのスクリプト解説は後回しにして、「作文の芽」が学校でどの様に使われたのか 說明して行きたいと思います。



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