さいきょうの装置予約表

Microsoft365環境を前提として、共同利用する装置の予約システムの在り方を考える。

大学や研究所には、多種多様な共用装置がある。これらは予約表のような形で誰がいつ使用するのかを管理している。予約表は、装置の脇置かれたノートであったり、ホワイドボードに書かれた表であったり、あるいは共有ファイルサーバー上に置かれたExcelファイルであったりする。

装置管理の技術職員がいるような恵まれた環境でもない限り、予約表の管理は装置管理も含めた雑用のひとつとして装置利用者にのしかかる。たいていの場合、更新が必要な要素(毎年カレンダーを更新するだとか)は面倒なので誰もやらずに放置されて、我慢できなくなった誰かが更新するか、機能を喪失するかを待つ。デジタルだなんだという時代にあさましいこことだ。最新のデジタル技術を使って、いい感じの装置予約表を作れないものか。

どうせ作るなら、装置管理に必要な機能をひとまとめにしたものを作りたい。装置管理に必要な機能とは何だろうか?私の考える必要な要素は以下の通りである。各項目をMicrosoft365環境で実現できるサービスを併記する。

  • 装置の使用予定を確認、追加、編集、削除できる。
    Exchange Onlineで装置のメールアドレスを作ることで、会議室と同様に設備の予約ができる。
    参考 第30回 会議室や備品予約を簡単にする
  • 装置利用者向けの資料を閲覧できる。
    SharePointのニュースやページ、あるいはドキュメントを共有する形で資料を提示できる。
  • 装置利用者間の情報伝達手段が備わっている。
    Teamsのチャンネル機能またはグループチャットを使えば、装置利用者全員での情報共有が可能である。異常を装置管理者に報告するだけであればFormsでも良い。

ここからは各機能の果たす役割と実現にあたっての注意したい点を述べる。

装置の使用予定を確認、追加、編集、削除できる。

装置予約表としての基本機能。この機能が使いにくかったら利用してもらえない。
PCとスマートフォンの両方からアクセスできることが望ましい。通常の業務の中では常務用PCから装置予約表にアクセスできればいいが、装置の目の前にいるときにはその場でより簡便な手段を取りたい。装置の制御PCはインターネットに接続していないケースも少なくないので、スマートフォンから予約表にアクセスしたい。装置を使っていて使用を延長したり中止したりすので、予約を閲覧できるだけなく、編集機能も使えてほしい。

装置の予約状況は一目でわかるようにしたい。カレンダーアプリのような視覚的効果を使う。

これらの希望を満たすようなアプリをPowerAppsで開発すればよい。PC向けとスマホ向けで画面の広さが異なるので、それぞれアプリを作って動作とデータベースを共通化しておくとよいだろう。

装置予約表アプリは、各装置ごとに作るのではなく、装置ごとにIDを振ってどの装置にも簡便に装置予約表を追加できるようにする。アプリを作るような面倒なことはなるべく一回にして、利用者の為は極力なくす。ばらばらに低レベルのものを作るより、ひとつの一般化された高レベルのアプリを作る方がいい。

装置予約表を起点として、後述する資料提供機能と連絡手段にもアクセスできるようにする。

装置利用者向けの資料を閲覧できる。

利用者と管理者に必要な情報をそれぞれ蓄積し、必要な場面ですぐに閲覧できるようにする。

利用者向けの情報として、装置の使い方や注意点、ノウハウなどの情報を一元的に提供する。SharePointのページでもいいし、Wordファイルを共有してもいい。マニュアルのような資料が紙に印刷されて装置横に置かれている場合がよくある。紙だと修正や追加の度に印刷しなおすのが手間なので、いっそのこと電子的に共有して必要があればすぐに修正できる方が良い。装置管理者以外の利用者が多い場合には、管理者も知らないところでうまいやり方が編み出されていたり、熟練ユーザーには当たり前の注意点を初心者ユーザーがすっ飛ばして問題を起こしたりする。伝えるべきことを口頭ですべて伝えるのは無理があるので、これだけ見ればいい、ここを探せばいいという資料を用意して、それを利用者全員で優れたものにしていく取り組みが効果的である。

また、取扱説明書に書かれているような細かいスペック、パラメータの意味なども、業務に必要な情報を抜粋しておくと良い。その装置で実行できる限界の仕事を見積もったり、報告書をまとめたりする際に役に立つ。

管理者向けに必要な情報としては、メンテナンスや将来の装置更新に必要な情報を蓄積する機能を提供する。消耗品の交換や小規模な修繕は毎年のように発生するため、都度価格を調べて購買の稟議を通すのは面倒かつ時間がかかる。過去の支出情報を蓄積していけば、予算立案時にも適切な提案が可能になる。

将来の装置更新に必要な情報として忘れがちなのが、利用実績の把握である。どこの誰がどのような目的で装置を使用したのかを数年分蓄積するだけで装置更新時の費用対効果の見積もりが簡単になる。どこの誰がどれだけ装置を使ったのかは予約表または使用記録からわかるので、どのような目的で使用したかを予約表ないし使用記録に書き込ませると良い。

装置利用者間の情報伝達手段が備わっている。

利用者の多い装置では、利用者全員に対して簡便に連絡できる手段が求められる。Teamsのグループチャットやチャンネル(あるいはタグ)機能を使うと良い。

企業であれば部課単位、大学であれば研究室単位で縦割りの壁がある。同じ装置を使っている者同士であっても、不具合の報告ですら縦割りの壁に阻まれる。ちょっとおかしいかもしれないという利用者の声を吸い上げることが装置を健全に保つのに有効なのは言うまでもない。逆に、使い方の工夫をしたという有益な情報も同じように流通しにくい。これらは技術というよりコミュニケーションの課題であるから、コミュニケーションを促進するツールがあれば解決できる。コミュニケーションが促進された結果として、大きな技術的問題を回避できる。

なんでも報告できるようにするには、コミュニケーションツールそのものだけでなく運用も大事だ。ごくまれにしか使われないチャットに投稿するのは勇気がいるし、返信がもらえるか不安になる。装置管理者が積極的にツールを使うことで、過疎らせない、質問してよい不具合報告しても怒られない雰囲気を作るのもツールと同様に重視すべきである。

装置管理者の立場では、この装置予約表システムの導入時だとか、一斉に複数人が利用を開始するときに、一人一人のユーザーを利用者登録するのは面倒である。そこで、Excelなどで作成したリストを基に、PowerAutomateでグループチャットなりチームにユーザーを追加する機能が欲しいところだ。反対に、ユーザーの削除は複数人を一気に操作するケースは少ないだろうから、ユーザーの自動削除機能は優先度が低い。

むすび

すべてが紙の時代においては、装置脇に置かれた紙のノートが前述の3つの機能を網羅することができた。デジタル技術では、すべての自分で作るあげるのではなく、既存のサービスを組み合わせてやりたことを実現する場合が多い。私たちが「装置予約表」と呼んでいたものは単なる予約表ではなく、利用者間のコミュニケーションツールとしての側面を持っていたことに自覚的になることで、予約表以外の適切なサービスを組み合わせて、デジタル時代における「さいきょうの装置予約表」を構築できるだろう。

便利なキーボードショートカット

  • Win + P
    サブディスプレイ、プロジェクタの投影オプションを切り替え
    PCのみ・複製・拡張・セカンドスクリーンのみ
  • Win + Shift + S
    画面の一部を指定してキャプチャ
  • Win + 矢印
    左右:ウィンドウを左右の画面半分に割り付け
    上:最大化、下:最大化解除、最小化
  • Win + X
    シャットダウンや設定、PowerShellへのショートカットを表示
  • Win + R
    ファイル名を指定して実行
  • WIn + W
    Windows Ink Workspace 付箋はる、画面に書き込みなど
  • Win + L
    ロック画面を表示 (離席する際にはWin + L!)
  • Win + D
    ウィンドウをすべて隠してデスクトップを表示
  • Win + E
    ファイルエクスプローラを起動
  • Win + +  拡大鏡を起動 拡大
  • Win + - 拡大鏡 縮小
  • WIn + Esc 拡大鏡 終了
  • Ctrl + S ファイルの保存 上書き
  • Ctrl + X 切り取り
  • Ctrl + C コピー
  • Ctrl + V 貼り付け
  • Ctrl + Z 操作のやり直し
  • Ctrl + Y 操作の繰り返し
  • Ctrl + F 検索ダイアログの表示
  • Ctrl + Shift + Esc タスクマネージャー起動(プロセスタブから強制終了)
  • Alt + F4 ウィンドウを閉じる。ウィンドウが開いていないときはシャットダウンメニューの表示。
  • Alt + Tab 開いているウィンドウを順繰りに表示する

新型リーフ (2017) のバッテリー劣化 – 新車48か月点検(車検)を終えて

新型リーフ (2017) のバッテリー劣化 – 新車36か月点検(車検)を終えての続編です。

2017年10月の納車から4回目の12か月点検、初めての車検を終えましたので、バッテリー劣化の現状を報告します。

LeafSpyで取得したSOHの経時データ。2017年10月納車、走行距離は1,000-2,000 km/月、気候は関東平野部。

1年前にバッテリーの劣化が遅くなったことに気づきました。納車から24か月あたりまでは経過時間に対してSOHが直線的に低下しました。このあとは、非常に緩やかな速さで劣化が進行しているようです。この調子だと60か月(5年)でもセグメント低下ラインまで到達しないどころか、80か月(7年)くらいまでは大丈夫そうな気配です。

バッテリーが劣化して航続距離が短くなったと体感できるレベルでもなければ、内部抵抗が上がって急速充電時の温度上昇が急激になるという感じもなく、単に数値上は徐々に劣化しているんだなとわかる程度です。初代リーフのバッテリー劣化を思えば、驚異的な技術の進歩を感じます。このリーフに搭載されているバッテリーは4年も前に量産化されたものですから、現在はより良くなっているのだろうと予想でき、EVの今後に期待が持てます。

[Microsoft365] PublisherでQRコード画像を含んだ差し込み文書を作成する

Microsoft Officeの中でも影が薄いPublisherは、紙に印刷する用途でPowerPointのように自由なレイアウトを作るのに適してます。無理やりPowerPointやExcelで掲示物を作ると印刷するときに意図しないズレが生じたり、紙の大きさに合っていなかったり、決まった寸法で大量に掲示物を作ろうとしたときにうまくいかないといった不便さがあります。Microsoft 365 (旧Office 365)を導入していればほぼ使えるだろうPublisherを使って、このようなケースに対応してみましょう。

このページでは、レイアウトを揃えて、内容が異なる印刷物を作る例を紹介します。QRコードのような画像も入れ替えながら印刷できます。

Publisherの基本的な使い方

Publisherは印刷に適したソフトである一方でWordやExcel、PowerPointのように詳細な解説本がないというデメリットがあります。とはいっても、WordやPowerPointを使ったことがあれば直感的に操作できるようなソフトなので、ヘルプを読みながら、いろいろと自分で試してみるといいでしょう。ここでは、基本的な使い方を紹介します。

テンプレートから用紙サイズを選んでみましょう。Publisherを起動した画面で、新規>その他の白紙のページサイズを選びます。

次に、「宛名ラベル」から「30枚/ページ」を選んでみましょう。このとき、幅6.668 cm高さ2.54 cmの用紙サイズが設定されます。もちろん、目的にあったほかの用紙サイズを設定していただいて結構です。

用紙サイズを選択すると、いよいよ編集の開始です。指定した用紙サイズの白紙が表示されます。よく見ると、縦軸と横軸にcmの寸法が表示されていることに気づくでしょう。このように、PC上で作成したレイアウトが印刷したときにどのような大きさになるかを確認しながらレイアウト作成をできるのがPublisherの強みです。

Publisherで白紙が表示されたところ

このあとの操作はWordとPowerPointを合わせたようなものです。画面上部のメニューで「挿入」を選ぶと、PowerPointと同じように「テキストボックス」や「図形」といった選択肢があります。ほとんど同じように使えます。

Publisherの挿入メニュー

まずは共通する部分のレイアウトを作成してみましょう。PowerPointと同じと思って操作すれば大丈夫です。たとえば、下図のように共通部分を作ってみました。

Publihserの「差し込み印刷」機能を使おう

印刷レイアウトとは別に、予めExcelで差し込み印刷に使うデータを用意しておきます。データはExcelファイルで作成するのが便利です。1行目に何のデータを入れるのか書き、2行目以降に差し込み印刷に使いたいデータを入れていきます。このとき、実際にはあとで使用しないデータ列が入っていても問題ありません。

例として、次の図のようなExcelファイルを作りました。A列にはページタイトル、C列にはページのURLを書き込んでいます。D列には、C列のURLをQRコードにした画像のファイル名を書いています。同じ行に書き込まれたデータをセットとして、対応する項目を書き換えた印刷物が出力されるわけです。

差込データの身中身

画像ファイルは、上図のExcelファイルと同じフォルダに格納しておきます。フォルダの中は下図のようになります。

差込データと画像の入ったフォルダ

差し込みデータの準備ができたら、Publihserの方でデータを読み込みます。「差し込み文書」タブを開いて、「宛先の選択」をクリックします。すると下図のようなメニューが出てきますので、「既存のリストを使用」をクリックします。

「データファイルの選択」を求められますので、先ほど作成したExcelファイル (差し込みデータと画像.xlsx)を選択します。Excelファイルを選択すると、Excelファイルの中のどのシートを使うか問われます。ここではSheet1しかないので、これを使います。ここで「先頭行をタイトル行として使用する」にチェックが入っていると、データを選ぶ際に便利です。

差し込みデータの読み込み画面その11

PublisherがExcelファイルを読み込んで、読み込んだデータセットの対応が正しいかを確認する画面が出ます。ここで「アドレス帳」という言葉が使われるのは、もともと差し込み印刷の機能が手紙の宛名を印刷するのによく使われていたことの名残です。まったく意味はないので気になさらずに。

差し込みデータの読み込み画面その2

データの読み込みが終わると、レイアウトに差し込みデータを挿入できるようになります。「差し込みフィールドの挿入」を押すと、差込データのタイトル行に書かれた文言が表示されます。ここで「ページタイトル」を選択すれば、印刷時に「ページタイトル」の中身が表示される場所(フィールド)をレイアウトに挿入できます。

差し込みフィールドの挿入

画像を挿入する場合は、「画像」から差し込みデータで画像のファイル名をタイトル行に書いた「QRコード画像」を選択します。

差込画像の挿入

実際に差込フィールドを入れたの次の図です。「<<ページタイトル>>」と書かれた部分に、差込データの「ページタイトル」列のデータが入ります。差し込み文書は、通常のテキストボックスと同じように、それぞれ文字の大きさやフォントなどを設定することができます。画像の差し込みでは、画像アイコンが表示されていることを確認してください。画像アイコンになっていない場合、文字として挿入されている可能性があります。

sささsさし差込データ差込データ差し込みフィールドを含んだレイアウト

これで準備完了です。「完了と差し込み」をクリックして、「プリンターに差し込み」を選択してください。

完了と差し込み

印刷画面が表示されます。「用紙1枚に複数ページ」の設定で印刷プレビューをした場合には、次のように表示されます。差込データに対応して、文書と画像が書き換わっていることがわかるでしょう。この画面から印刷するなり、PDFに保存するなりすれば、レイアウトの揃った状態で内容を変えた印刷物を出力することができます。

差し込み印刷のプレビュー

QRコードの画像を用意する

QRコードの作成はフリーソフトなりWEBサービスなりで前もってやっておきます。あまり凝ったレイアウトを必要としない場合はWordの差し込み印刷機能にあるバーコード機能を使う手もあります。Wordのバーコード機能を使えばQRコードの画像を別に用意しなくていいので楽です。WordではQRコードの大きさ指定やレイアウトが若干使いづらい点は注意が必要です。フリーソフトではQRコードジェネレータ – QRコード一括作成ソフトが使えそう。ExcelシートからQRコードを大量生成するではExcelファイルをアップロードするとQRコードを作ってくれます。Pythonを使える方は、このページのコードをローカルで実行するのが便利でしょう。

2020年1月-2020年12月

2020年各月の走行データをまとめました。

7月から車通勤になり走行距離が大幅に伸びました。アパート暮らしなので週末、水曜日、金曜日の週3回は急速充電をしています。また、週末に遠出をする場合は追加的な充電を行っています。

車通勤なので雪が降ったら車に乗らないというわけにはいきません。そのため冬季はスタッドレスタイヤを使用するようになりました。

走行距離 km電費 km/kWh充電費用 JPYガソリン燃費換算 km/L急速充電回数普通充電回数急速充電1回あたり走行距離 km
12927.2220019.34073
26747.2220043.69175
310517.3220064.5100105
410397.5220057.914074
52988.1220016.04075
69327.6220052.310093
725987.6220014732181
820757.62598102174122
916508.3269578.8140118
1022557.92200130210107
1115227.9220086.6140109
1221447.82239123216102
2020年1月から12月の走行データ

2020年10月で納車から3年が経過し、はじめての車検がありました。納車時の点検不正問題は遠い昔のことのようです。電池劣化は顕著でなく、満充電で航続距離300 km程度です。急速充電メインで10%-80%の間を使っている分には体感的な不便はありません。

現場でデジタルトランスフォーメーションを進めるための資料

以前から効率化が叫ばれて久しいところコロナ禍の到来によって業務のデジタル化が待ったなしの状況です。しかし、どのような考え方で、どんな手法を使って、身の回りの環境を変えていけばいいのか、そこにはどんな困難が生じやすいのか、知識がないところから気合だけ振り絞っても空回りしてしまいます。本稿では、現場からデジタルトランスフォーメーションの機運を上げるために役に立ちそうな資料をまとめます。

書籍

書籍は情報が整理された宝箱です。出版されているだけで権威付けもされて、まじめに読んでみようという気にさせてくれます。

組織を動かす

使いやすい仕組みをつくる

  • UI/UXデザインの原則
    デジタル化はそれ自体が目的ではなく、コンピュータの力を借りて、簡単に、速く、確実に業務を遂行できるようにすることが目的です。ヒトとコンピュータが向き合うUser Interface、ヒトが感じるUser Experienceをいかに優れたものにするかを学べます。デザインの考え方は紙の資料でも役に立ちます。

WEB

WEBはリンクから手軽に情報にアクセスできるのが魅力です。無料のサイトなら、必要なのものは時間と前向きな時間だけ。他人に新しいアイデアを紹介するとき、入口として最適です。

まとまりの良いもの

単発記事

[GAS] WEBアプリはフォームの多重送信に注意。特にスマホを使う場合。

Google Apps Script (GAS) はWEBアプリケーションを簡単に作成できるため、改善活動レベルで業務アプリをサクサク構築できます。JavaScript (JS)とHTMLを多少勉強する必要がありますが、業務の自動化を推進する上で強力なツールです。

GASではGET、POSTに対応する処理を行って、対応するHTMLを返すことができます。これをWEBアプリケーションと呼びます。WEBアプリの活用方法として、自作のフォームを使って依頼や連絡、申請の手続きを自動化したいと考える場面もあるでしょう。ここで気を付けたいのが、多重送信の防止です。

WEBアプリを操作する場合、ブラウザの戻る・進むの動作によって、GASに届けたい情報(パラメータ)を送るページを意図せず複数回開いてしまう可能性があります。注文のような1回だけ送りたい情報が何度も送られるようでは混乱を招くので、情報の多重送信を防ぐ仕組みの導入が必要です。
スマホを使う場合は、より多重送信への注意が必要です。PCから操作する場合、余計なタブを閉じたりPCをシャットダウンする際にブラウザも終了されるため、ブラウザの戻る・進むくらいしか意図せずページを開く可能性はありません。ところが、スマホの場合はアプリを終了しない、スマホの電源も切らないで運用されることが多く、多重送信の問題が生じやすい状況です。たとえば、ブラウザのアプリで複数のタブを開いた状態でスマホのホームボタンを押してもアプリが終了されるわけではありません。再度アプリを開いた時点でタブに残っていたページにブラウザがアクセスしようとして、前回アクセスしたときと同じリクエストを出してしまいます。

GETリクエストではURLにパラメータを含むので、同じURLにアクセスすれば同じパラメータが送信されます。別のURLに遷移させない限り、同じURLにアクセスするのを防がないと多重送信が生じます。

POSTリクエストでは、送信されるパラメータがURLに含まれないので、最後に表示されているのがPOSTリクエストへ応答してGASが生成したHTMLだということを忘れてしまうかもしれません。ブラウザ側はPOSTリクエストを覚えていて、再度その画面を開いたときにPOSTリクエストを再送してしまいます。PCでChromeなどブラウザを使っていると戻る・進むによってPOSTリクエストを送る場合に警告が出る場合がありますが、前述したスマホのタブでは警告もなくPOSTリクエストが再送されてしまいます。

多重送信の対策方法は、さいきょうの二重サブミット対策など様々な場所でまとめられています。
まず検討したいのが、GASが受け取るリクエストが過去のリクエストと同一でないか確認できる機構(トークンチェック)を組み込むことです。簡単には、フォームを含むページにアクセスしたときにトークンを発行し、formのhiddenにした要素を使ってほかの回答と一緒にトークンが送信されるようにします。送信されたトークンを過去のトークン(どこかに貯めておく)と比較して、過去に同じトークンを持った回答が送信されていない場合に次の処理に進むようにすれば、多重送信を弾けます。
トークンチェックで多重送信を検知したときに、安易にエラーページを表示するのはかえって危険です。ユーザーが送信に失敗したと思って、最初からフォームの送信作業をやり直すかもしれません。これは正規な手続きなので内容が同じであっても多重送信ではないためシステム側で検出することはできません。トークンチェックで多重送信を検出した場合は、あたかも送信に成功したかのように見せておくとユーザーの勘違いを防げます。

このほかに、フォームの送信ボタンを画面が更新される何度も押すという形の多重送信もあります。この場合はJavaScriptでフォームのボタンを無効にすることで、ボタンを複数回押せなくする方法で対策できます。formタグにonSubmitで回答送信ボタンがdisableになるJavaScriptを仕込むことで実現できます。

新型リーフ (2017) のバッテリー劣化 – 新車36か月点検(車検)を終えて

新型リーフ (2017) のバッテリー劣化 – 新車24か月点検を終えての続編です。

2017年10月の納車から3回目の12か月点検、初めての車検を終えましたので、バッテリー劣化の現状を報告します。

LeafSpyで取得したSOHの経時データ。2017年10月納車、走行距離は1,000km/月、気候は関東平野部。

これまでとは劣化の挙動が異なります。納車から24か月までは、経過時間に対して直線的にSOHが低下していました。ところが、SOHが90%を切ったあたり、納車から24か月経ったあたりから直線的な低下トレンドから上振れて、ほとんどSOHが変化しなくなりました。ZE1の発表時に日産が10年10万kmで10%以内といっていたのを思い出すと、SOHが90%あたりで変化しなくなるような試験結果があるのかもしれません。非常に興味深いデータです。

電池の劣化に対応して、満充電時の航続距離は1割程度減少しましたが、ほとんど満充電をせずに10%~80%充電で運用しているので、あまり変化は感じられていません。良いことですが。

日産は新車3年の車検のときにカーナビの地図を無料で更新できるので、今回の車検で実施しました。地図が新しくなるだけでなく、カーナビのソフトウェア更新が行われたAndroid Autoに対応しました。私はAndroidユーザーなのでありがたい更新でした。

[GAS]WEBアプリケーションの見た目を整える

GASでWEBアプリケーションを作れるようになると、さまざまなシーンで電子化・自動化を進められます。よりたくさんの人に使いやすいと感じてもらうためには、多少の工夫が必要です。HTMLの知識があれば、見た目のよい、ぱっと見てわかりやすいWEBアプリケーションを作成することができるでしょう。

WEBページの見た目を改善するのには、HTMLと組み合わせて使われるCSSの作例を調べるのが簡単です。以下にすぐ使えるページを紹介します。