- 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か月点検を終えましたので、バッテリー劣化の現状を報告します。

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の強みです。

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

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

Publihserの「差し込み印刷」機能を使おう
印刷レイアウトとは別に、予めExcelで差し込み印刷に使うデータを用意しておきます。データはExcelファイルで作成するのが便利です。1行目に何のデータを入れるのか書き、2行目以降に差し込み印刷に使いたいデータを入れていきます。このとき、実際にはあとで使用しないデータ列が入っていても問題ありません。
例として、次の図のようなExcelファイルを作りました。A列にはページタイトル、C列にはページのURLを書き込んでいます。D列には、C列のURLをQRコードにした画像のファイル名を書いています。同じ行に書き込まれたデータをセットとして、対応する項目を書き換えた印刷物が出力されるわけです。

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

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

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

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

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

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

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

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

印刷画面が表示されます。「用紙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 |
1 | 292 | 7.2 | 2200 | 19.3 | 4 | 0 | 73 |
2 | 674 | 7.2 | 2200 | 43.6 | 9 | 1 | 75 |
3 | 1051 | 7.3 | 2200 | 64.5 | 10 | 0 | 105 |
4 | 1039 | 7.5 | 2200 | 57.9 | 14 | 0 | 74 |
5 | 298 | 8.1 | 2200 | 16.0 | 4 | 0 | 75 |
6 | 932 | 7.6 | 2200 | 52.3 | 10 | 0 | 93 |
7 | 2598 | 7.6 | 2200 | 147 | 32 | 1 | 81 |
8 | 2075 | 7.6 | 2598 | 102 | 17 | 4 | 122 |
9 | 1650 | 8.3 | 2695 | 78.8 | 14 | 0 | 118 |
10 | 2255 | 7.9 | 2200 | 130 | 21 | 0 | 107 |
11 | 1522 | 7.9 | 2200 | 86.6 | 14 | 0 | 109 |
12 | 2144 | 7.8 | 2239 | 123 | 21 | 6 | 102 |
2020年10月で納車から3年が経過し、はじめての車検がありました。納車時の点検不正問題は遠い昔のことのようです。電池劣化は顕著でなく、満充電で航続距離300 km程度です。急速充電メインで10%-80%の間を使っている分には体感的な不便はありません。
現場でデジタルトランスフォーメーションを進めるための資料
以前から効率化が叫ばれて久しいところコロナ禍の到来によって業務のデジタル化が待ったなしの状況です。しかし、どのような考え方で、どんな手法を使って、身の回りの環境を変えていけばいいのか、そこにはどんな困難が生じやすいのか、知識がないところから気合だけ振り絞っても空回りしてしまいます。本稿では、現場からデジタルトランスフォーメーションの機運を上げるために役に立ちそうな資料をまとめます。
書籍
書籍は情報が整理された宝箱です。出版されているだけで権威付けもされて、まじめに読んでみようという気にさせてくれます。
組織を動かす
- ビジネスパーソンのための法律を変える教科書
身の回りのルールの中で最も変わりにくいように見える法律を変えるための方法と事例がまとめられています。 - 人を動かす 文庫版
古典作品です。自分の都合に良いように他人を動かすのは難しいことですが、社会が生まれてからこのかた変わらぬ方法・考え方がありそうだと学べます。 - おとしどころの見つけ方 世界一やさしい交渉学入門
自分の考えや要求を一方的に押し付けても相手にYesと言わせることは困難です。交渉の方法論を学ぶことで、望ましい結果を手に入れましょう。
使いやすい仕組みをつくる
- UI/UXデザインの原則
デジタル化はそれ自体が目的ではなく、コンピュータの力を借りて、簡単に、速く、確実に業務を遂行できるようにすることが目的です。ヒトとコンピュータが向き合うUser Interface、ヒトが感じるUser Experienceをいかに優れたものにするかを学べます。デザインの考え方は紙の資料でも役に立ちます。
WEB
WEBはリンクから手軽に情報にアクセスできるのが魅力です。無料のサイトなら、必要なのものは時間と前向きな時間だけ。他人に新しいアイデアを紹介するとき、入口として最適です。
まとまりの良いもの
- 巣ごもりDXステップ講座情報ナビ (経済産業省)
デジタルスキルを学ぶのに使えるオンライン講座を紹介しています。
省庁の情報ですから、権威付けもバッチリです。 - DXレポート2(中間取りまとめ)(経済産業省)
リンク先の関連資料や報告書はよくまとまっていてわかりやすいのみならず、上司の説得などにも利用しやすいものです。 - Sociomediaヒューマンインターフェース ガイドライン
ユーザーが利用しやすいデザインの考え方を多くの例を以て学べます。 - ITシステム構築のための手引書の作成(DX実践手引書 ITシステム構築編)
単発記事
- Agile Japan 2020 参加レポート「基調講演:New Normalの観点から可視化されるDX推進の課題と経済産業省の政策展開 — 「2025年の崖」問題に対してアジャイルへ期待するDXの本質 –」
デジタルトランスフォーメーションって何をすればいいの?何が嬉しいの?という問いに対して例と方向性を示してくれます。 - Agile Japan 2020 参加レポート「アジャイル開発の時代」
組織の文化を変える継続的な取り組み方を紹介しています。 - デジタルトランスフォーメーションで人間味を犠牲にしない方法
デジタルツールは適切に使って客の満足度を上げるもの。 - 削減時間だけではない!RPAを導入した企業で実際に起きていること
RPAを導入して何が嬉しいのかという身近な事例集。わかりやすい数字の削減時間以外にもあることが現場レベルで想像できます。 - 頓挫した「若手向け2D製図研修」 そこに製造業DXの本質がある
デジタル技術の存在を前提として業務を刷新するとはどういうことか、反面教師を示しています。かつて役立っていたものをそのまま導入するのは環境の変化を無視しており功を奏すことはありません。問題の本質をとらえた上で「デジタル技術の存在を前提として」実行方法を考えれば、組織の力になるという格好の事例です。 - 斉藤徹教授出版記念講演~だから僕たちは、組織を変えていける~
問題と向き合い、チームの力を合わせて解決し、顧客へ提供する価値を高めるのが理想だとしても、現実の職場は影で不満を漏らすばかりで主体的な解決に取り組む人は稀です。このような職場環境が発生する要因と、どのような行動や考え方でより良い環境へと導くことができるかを示しています。 - 坂倉亘の「DX方法論のプレーブック」
- エンジニア向け研修
- 真のホスピタリティを生み出す組織風土とは―三越伊勢丹の取組み実例―
顧客価値を高めるといっても、どうすればいいのでしょうか?この問いにどう考え、どう取り組んだかの事例です。 - 「90分腹落ちセミナー」男性育休から考える“組織と個人の成長”
個人にも組織にも、育休が働き方を変えるためのきかっけになること、そのためにはマネジメントと仕組み作りが大切だということがわかります。 - 登大遊氏インタビュー
一般には「シン・テレワークシステム」を制作者として知られる破天荒な人物のインタビュー。空気を読んで委縮している場合ではないと思えます。 - 「裏方」に回る力がある人は、実はリーダーに向いている
ルールを変えたり、意見の異なる上司を動かしたり、政治的なふるまい方を学べます。 - チームの機能不全を起こす4つの “毒”を発生させないための感情の保ち方、心理的安全性を確保したチーム作りのために考えるべきこと【CEDEC2021】
心理的安全性の高いチームを作るための心構えを簡単にまとめています。
[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か月点検、初めての車検を終えましたので、バッテリー劣化の現状を報告します。

これまでとは劣化の挙動が異なります。納車から24か月までは、経過時間に対して直線的にSOHが低下していました。ところが、SOHが90%を切ったあたり、納車から24か月経ったあたりから直線的な低下トレンドから上振れて、ほとんどSOHが変化しなくなりました。ZE1の発表時に日産が10年10万kmで10%以内といっていたのを思い出すと、SOHが90%あたりで変化しなくなるような試験結果があるのかもしれません。非常に興味深いデータです。
電池の劣化に対応して、満充電時の航続距離は1割程度減少しましたが、ほとんど満充電をせずに10%~80%充電で運用しているので、あまり変化は感じられていません。良いことですが。
日産は新車3年の車検のときにカーナビの地図を無料で更新できるので、今回の車検で実施しました。地図が新しくなるだけでなく、カーナビのソフトウェア更新が行われたAndroid Autoに対応しました。私はAndroidユーザーなのでありがたい更新でした。
2代目日産リーフZE1は地図更新でAndroid Autoに対応
[GAS]WEBアプリケーションの見た目を整える
GASでWEBアプリケーションを作れるようになると、さまざまなシーンで電子化・自動化を進められます。よりたくさんの人に使いやすいと感じてもらうためには、多少の工夫が必要です。HTMLの知識があれば、見た目のよい、ぱっと見てわかりやすいWEBアプリケーションを作成することができるでしょう。
WEBページの見た目を改善するのには、HTMLと組み合わせて使われるCSSの作例を調べるのが簡単です。以下にすぐ使えるページを紹介します。
- CSSで作る!押したくなるボタンデザイン100(Web用)
ボタンの作例です。無機質なデフォルトボタンでないだけで、親しみやすくなります。また、ボタンを大きくするなど、視覚的にどこを操作すればよいかわかりやすくできます。 - コピペでできる!cssとhtmlのみでフォームのテキストエリアをわかりやすくするデザイン15選
テキストエリアが単に存在するだけでは、何を入力すべきかわかりにくい場合があります。このページで紹介されているデザインをうまく使うことで、明晰に意図を伝えられるでしょう。 - ラジオボタンをおしゃれにするCSSスニペット14選
択一で選択肢を選ばされるのに使うラジオボタンです。普通のアプリのような見た目にすることすら可能です。
[GAS] Googleドキュメントの途中にパラグラフを挿入する
基準点となる文字列を含んだパラグラフの次に新しいパラグラフを挿入する方法を考えます。新しいパラグラフの中身はダイアログボックスで入力した文字列とします。
function myFunction() {
var body = DocumentApp.getActiveDocument().getBody();
var paragraphs = body.getParagraphs();
for (var i = 0; i < paragraphs.length; i++) {
var paragraph = paragraphs[i];
var index = i;
var text = paragraph.getText();
if(text === 'key paragraph'){
Logger.log('index %s text %s', index, text);
var child = paragraph;
}
}
var childIndex = body.getChildIndex(child);
Logger.log('childIndex %s', childIndex);
//input text to insert
var ui = DocumentApp.getUi();
var response = ui.prompt( '挿入する文字列を記入する。', ui.ButtonSet.OK_CANCEL);
// Process the user's response.
var button = response.getSelectedButton();
var textToInsert = response.getResponseText();
//キャンセルならスクリプト終了
if (button !== ui.Button.OK) {
return;
}
//insertParagraph
body.insertParagraph(childIndex + 1, textToInsert);
}
//メニューを追加
function onOpen(e) {
DocumentApp.getUi()
.createMenu('GAS')
.addItem('insert paragraph', 'myFunction')
.addToUi();
}
まず、DocumentAppでBodyとその下のparagraphsを取ってきます。各paragraphの中の文字列はgetText()で取れるので、基準点となる文字列が含まれるparagraphを探します。上の例では、paragraphの文字列が「key paragraph」であるという条件で該当するparagraphを指定しました。
基準点となるparagraphオブジェクトが見つかったら、body.getChildIndex(paragraph)のように引数として渡してやると、bodyに対するchildIndexが返ってきます。
基準となるparagraphの childIndexが求まったら、そのparagraphの前に挿入する場合は childIndex を、そのparagraphの後ろに挿入する場合はchildIndex+1を、insertParagraphの引数に渡します。
挿入する文字列を入力するのに使ったダイアログボックスですが、V8エンジンではBrowser.inputbox()が動かないのか、UI.prompt()を使うと動きました。UI.prompt()は返ってきたresponseにさらにgetResponseText()しないとテキストが取れません。
ドキュメントのメニューからスクリプトを動作せさせる工程はGoogle Apps Scriptを使った独自メニューの作り方を参照しました。
テンプレートを別ファイルで用意する場合はGoogle Apps Scriptで議事録テンプレ作成を楽にしたが参考になります。