まだ間に合うマイナポイント第一弾 マイナポイント申し込み

マイナポイント第1弾は2021年12月31日で終了します。マイナンバーカードを既に持っていてマイナポイントの申し込みを行っていない方は今ならまだ5000円分貰うことができるでしょう。2022年1月1日からは第2弾が始まり、そちらは1万5千円分貰えるようなので今の内に登録しておくと良さそうです。

マイナンバーカード
ICカードリーダーには、接触式(接点式)と非接触式の2種類があります。接触式カードリーダーはスマホのSIMカードやクレジットカードやテレビのB-CASカードのような金色の四角い金属があるカードを読み取るもの、非接触式カードリーダーはSUICAなど交通系カードや通行証の類のかざして使うカードを読むものです。
マイナンバーカードは非接触タイプと接点式の両方のカードリーダーに対応するようですが、所有している非接触式カードリーダーは全てカードをかざすとランプが点滅するなど反応こそするもののカード情報を読み込むことができませんでした。非接触型だとTypeB(ISO/IEC 14443)に対応するカードリーダーが必要なようです。上の画像は接触式カードリーダーにマイナンバーカードを挿しています。右下のSUICAカードは非接触式カードの代表例ですが、接触式カードリーダーではSUICAは読み取れません。

まだ間に合うマイナポイント 1
画面1:
マイナポイントのウェブサイトはマイナポータルとは別で https://mynumbercard.point.soumu.go.jp/ です。あまり役に立つ情報はありませんが、マイナポイントの使用で使うキャッシュレスサービスを調べるための「対象となるキャッシュレス決済サービス検索」だけは有用です。先にマイナポイントと紐付けるサービスを1つ心に決めてください。これは後で選択を求められ、決定後の変更はできないようなので慎重に決定。

以下はマイナンバーカードを既に持っていて、Windows PCとマイナンバーカードを読むことができるカードリーダーがあることを前提とします。ウェブザラウザはGoogle ChromeかMicrosoft Edge(の新しい版)が必要です。(Chromeブラウザの拡張機能をインストールするので)

やること

  1. マイキーID作成・登録準備ソフトのインストール
  2. マイナポイント拡張機能のインストール
  3. マイナポイントのサイトでマイナポイントの予約
  4. マイナポイントのサイトでマイナポイントの申し込み
  5. まだ間に合うマイナポイント 2
    画面2:
    マイナポイントのウェブサイトの「マイナポイントの予約・申込方法」→「パソコンで予約・申込」のページからリンクがありますが、マイナポイント予約・申込サイトを開きます。
    下にスクロール。

    まだ間に合うマイナポイント 3
    画面3:
    今回のメインとなるメニューです。
    先に「マイキーID作成・登録準備ソフト」と「マイナポイントアプリ」(ブラウザ拡張機能)をインストールします。(次)
    その後で「マイナポイント予約」→「マイナポイント申込」を行います。まぁ殆どの場合はこのボタンは使わず予約後にそのまま申し込みの流れになるだろうけど。
    (ブラウザはこの画面を開いた状態で残しておいて)

    まだ間に合うマイナポイント 4
    画面4:
    マイナポータルアプリでは不要なのだが、なぜかマイナポイントアプリでは必要な「マイキーID作成・登録準備ソフト」。
    「マイキーID作成・登録準備ソフト」のリンクをクリックし、「MKJSsetup.exe」というファイルをダウンロードしてそれをクリックして実行します。
    インストーラーが起動するので「インストール」をクリック。

    まだ間に合うマイナポイント 5
    画面5:
    そのままJPKI利用者ソフトのインストーラー画面になるので「次へ」をクリック。

    まだ間に合うマイナポイント 6
    画面6:
    電子証明書の更新通知の設定を何故かインストーラーで行うようになっている。(意味不明)
    とりあえずそんな通知は要らないので「いいえ」を選択する。

    まだ間に合うマイナポイント 7
    画面7:
    JPKI利用者ソフトのインストールが完了。「完了」をクリック。

    まだ間に合うマイナポイント 8
    画面8:
    さらに「マイキーID作成・登録準備ソフトの事前セットアップが完了しました。」と表示される。これがミスリードで実際には事前セットアップは完了していない。 ちょっと作った人のセンスを疑うかも。
    インストールだけは終わったので「完了」をクリック。

    まだ間に合うマイナポイント 9
    画面9:
    Windowsのスタートメニューから「ICカードリーダライタ設定」をクリック。

    まだ間に合うマイナポイント 10
    画面10:
    カートリーダライタの設定画面が開く。初期値は一番上の自動検出で、特に変更する必要はない筈。「設定」をクリックして設定を完了させる。
    この操作には全く意味が無いように見えるが、これを行わないとこの後にマイナポイントの予約でカード情報が読み取れないというアホな造り。(一部のカードリーダーだけかもしれないが)

    まだ間に合うマイナポイント 11
    画面11:
    ブラウザに戻り、(画面3の)マイナポイントアプリのリンク(EdgeまたはChromeのどちらか適切な方)をクリックしてマイナポイントアプリの拡張機能を追加します。右の方に表示される青いボタンで「○○に追加」(画像ではChromeに追加)をクリックして拡張機能のインストールを完了させます。

    まだ間に合うマイナポイント 12
    画面12:
    カードリーダーをPCに接続し、マイナンバーカードをカードリーダーにセットして(またはカードを置いて)ください。
    再び画面3の状態で、「マイナポイント予約」ボタンをクリック。
    ここで、画像のようなエラーメッセージが出た場合は先の画面9と画面10の手順が正しく行われていないと思われます。画面9と画面10の手順を再実行、または適切なカードリーダーと交換。
    エラーにならない場合はここまで適切に行われているので次へ。

    まだ間に合うマイナポイント 13
    画面13:
    個人カードログイン画面(小窓)が表示されるので、役所の窓口で登録した暗証番号(数字4桁)を入力します。銀行のキャッシュカードと同じく暗証番号を連続して数回間違えて入力すると役所の窓口に行くハメになります。マイナポイント関係の操作ではこの暗証番号入力を何度か求められることになるので毎回気をつけて入力してください。

    まだ間に合うマイナポイント 14
    画面14:
    予約の確認で「発行」をクリック。何を「発行」するのか説明なし。そういうところがダメかも。そもそも「予約」も何の予約なのかよくわからないままでここまで来てるけど。

    まだ間に合うマイナポイント 15
    画面15:
    1つ前(画面14)の「発行」の後に何か変わったとか新しい情報が与えられたというわけではないのに今度は「確定」を求められる。このシステムを作った人達はだいふアタマがイカれてる。
    これからシステムを作る若い人は「何をどうする」という説明も無しに確認ばかり無駄に求めるこのようなバカなUIは作っちゃダメよ。
    ここは常識的に「OK」するしかない。

    まだ間に合うマイナポイント 16
    画面16:
    予約の後にそのまま申し込みに進むことができる画面になる。これはメインメニュー(画面3)の「マイナポイント申込」に相当するもの。
    「申込へ」ボタンをクリック。

    まだ間に合うマイナポイント 17
    画面17:
    突然「決済サービスの選択」になる。マイナポイントを紐付けるサービスの選択。予め心に決めた電子マネーとかクレジットカードなどのサービスの1つを探す。(少しスクロール)

    まだ間に合うマイナポイント 18
    画面18:
    検索条件を指定する。サービス名の一部を入力したり、サービスの種類にチェックを付けるなど。
    「検索」ボタンをクリック。(これで条件に合うサービス一覧が表示される)(次)

    まだ間に合うマイナポイント 19
    画面19:
    検索結果から目的のサービスを探す。このとき、サービス毎に「与えられるもの(貰えるのが何か)」「与えられる条件」等が異なるのでよく確認し、理解する。
    「これで良い」というサービスの行の右端にある「選択」をクリック。(ここではまだ確定ではない)

    まだ間に合うマイナポイント 20
    画面20:
    目的のサービスを選択するとそのサービスだけが表示される。サービスによっては画像の赤い下線のようにサービス側で事前に何かを登録しておかなければならないことも。
    その場合は、ここで「次に進む」前に、そのサービスのウェブサイトにログインして求められているサービスを登録するなどの対応が必要。
    条件をクリアしていて登録して問題なければ「次へ進む」をクリック。

    まだ間に合うマイナポイント 21
    画面21:
    マイナポイント利用規約が表示される。下にスクロールする。

    まだ間に合うマイナポイント 22
    画面22:
    マイナポイントの規約に同意してチェック。
    申し込みを進めて良いなら「申込へ進む」をクリックということだと思われる。
    「申込」には少し前(画面17)から進んでいたつもりだが、ここから「申込へ進む」ということは画面18からこの画面21まではどのステージにいたのかしら?このシステムは難しいことをしているわけではないのにちょっと意味がわからない。

    まだ間に合うマイナポイント 23
    画面23:
    選択したサービスによって求められる情報は異なるが、サービスのカード番号とか会員情報とか口座番号とかを入力するように求められる。おそらくは詳細にたくさん入力するように求められることはないかと。何を入力するのかは表示に従う。画像では「決済サービスID」と「セキュリティコード1」という2つの情報の入力が求められている。
    それぞれ何を入力すれば良いのかも書かれているし、画像の赤線のような表示があってそのリンクを開けばサービス提供元のサイトでの説明があったりするので、よく読めば「まるでわからない」ということはない筈。

    まだ間に合うマイナポイント 24
    画面24:
    「がとらぼ」の中の人は小額ネットショッピングで使用している某VISAデビットカードを登録することにしたが、その某デビットカードの場合は入力する項目は3つ(実質2つ)だけだった。
    入力が完了したら下にスクロールして「確認」ボタンをクリック。

    まだ間に合うマイナポイント 25
    画面25:
    確定前の最終確認。確定させると戻れないのでしっかり見直す必要があるが、何故か入力した文字が「*」で伏せ字にされていて確認できない。確認できない確認画面って本当にこのシステム作った奴のアタマの構造はどうなってるの?仕方がないので下の「申込」ボタンをクリック。(確定させるのなら「申込」じゃなくてそのまま「確定」で良いじゃんね?)

    まだ間に合うマイナポイント 26
    画面26:
    ここで、再びマイナンバーカードの暗証番号を入力する。当然だがカードリーダーにマイナンバーカードをセットしておく必要がある。(というか、カードをセットしっ放しにしておく)

    まだ間に合うマイナポイント 27
    画面27:
    これで申し込み完了。その日の内であればキャンセルできるようなことが表示されるがキャンセルは試していないので不明。
    画像に赤の下線を付けたが、2021年内に条件を満たさないと付与されない。「がとらぼ」の人のデビットカードの場合は12月31日が終わるまでに2万円までの買い物の25%がポイント(実質現金と変わらず)として貰えることになる。
    電子マネーであれば年内に2万円以内でチャージした25%が増額されるされたりするかもしれない。(サービス毎に付与されるものや条件が異なる。)
    電子マネーは最近はあまり使わないので2万円のチャージが嫌。クレカは非常時専用ということにしているのでほぼ使わない。そこで今回はネットショッピング専用で使っているVISAデビットカードを選択した。(ネットショッピングなら2万円くらいはすぐに使うし)
    しかし、デビットカードはマイナポイントの付与条件が良いとはいえないので「お得さ優先」の人は他のサービスを選ぶのが良さげ。

    まだ間に合うマイナポイント 28
    画面28:
    申し込み完了画面から引き続きマイナポータルとマイナンバーカード保険証の申し込みも行える。初期値は両方に申し込みチェック有り。
    別途マイナポータルと保険証の申し込みを行っていないならそれぞれのチェックを付けたまま「一括利用申込」をクリックする。
    マイナポータルの利用を既にしているならマイナポータルのチェックを外して「一括利用申込」をクリックする。
    マイナポータルを利用していなくて健康保険証利用申込みだけしているというパターンがありえるのかは不明だが、そうなら健康保険証利用の申し込みのチェックを外して「一括利用申込」をクリックする。
    両方とも申し込み済みであれば「一括利用申込」はクリックせずにトップページに戻るなりブラウザを閉じるなりで。

    まだ間に合うマイナポイント 29
    画面29:
    何かしらの一括申し込みを行うとこのような画面になる。「がとらぼ」の人はマイナポータルは利用しているので健康保険証利用を申し込んだが、画面28の「一括利用申込」のボタンをクリックしただけで手続きは全て完了した。これは簡単で良い。っていうか瞬時に健康保険証の情報が紐付くってことは健康保険証の情報って国が持ってるのね。

    マイナンバーカードに健康保険証を登録したり公金受取口座(銀行口座)を紐付けるとそれぞれ7500円(両方で1万5千円)分のマイナポイントが貰えるマイナポイント第2段は2022年1月1日開始なのでこの記事を書いている時点ではまだ始まっていないが、今の時点で健康保険証を紐付けても7500円は貰えるという話なので今回既に紐付けた。この情報が嘘だったら スミマセン & フザケンナ だけど。

Excel VBA事始め その3 ワークブックの作成

閃いた人のイラスト
©いらすとや.

今回は、VBAマクロの書かれたワークブックブックとは別のワークブックを作成し、そこにワークシートを作ってホニャララして保存、というよくある処理の超簡易版。
今回はワークシートは3枚作成して20x20程度のセルを処理する。セルにはVBAマクロ実行開始からの時間(秒)を記入する。ただ、最近の高速なPCだと一瞬で処理が終わってしまうので途中でsleep()でワザと遅延するようにした。sleep()を使うために1行目を記入。

Excel VBA その3 1
ワークシート内で行う処理は、格子模様に塗りつぶして基準時間からの経過時間を値として埋める。今回は、2x2マスを1つの単位として考えて処理することにした。

Excel VBA その3 2
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal mlsc As Long)

Sub test()
    Application.DisplayAlerts = False '警告無効化

    Dim zTime As Single
    Dim wbTest As Workbook
    Dim wsTmp As Worksheet
    Dim i As Long, j As Long, k As Long

    zTime = Timer '基準となる時間

    Set wbTest = Workbooks.Add '新しいワークブック追加

    For i = 1 To 3
        With wbTest.Worksheets.Add(after:=wbTest.Worksheets(Worksheets.Count))
            .Name = "Test" & i
            For j = 2 To 20 Step 2      '行側
                For k = 2 To 20 Step 2  '列側
                    With .Cells(j, k)
                        .Interior.ColorIndex = 6
                        .Value = Timer - zTime  '現在と基準の差分
                    End With
                    With .Cells(j + 1, k + 1) '1行下&1列右のセル
                        .Interior.ColorIndex = 6
                        .Value = Timer - zTime  '現在と基準の差分
                    End With

                    Sleep 1 '1ミリ(1000分の1)秒停止

                Next
            Next
            .Cells(1, 1).Value = Timer - zTime '現在と基準の差分
        End With
    Next

    For Each wsTmp In wbTest.Worksheets 'ワークブック内の各シートに於いて
        With wsTmp
            .Activate '次のセルの選択のためにはワークシートをアクティブにする必要あり
            .Cells(1, 1).Select '各ワークシートのA1セルを選択 (今回の例では不要だが古いマナー的に)
            If Not .Name Like "Test*" Then
                .Delete 'ワークシートの削除 削除の後にはそのワークシートに対する操作を書くのはNG
            End If
        End With
    Next

    With wbTest
        .Sheets(1).Activate '先頭のシートを選択 (古いマナーとして)
        .SaveAs _
        Filename:=ThisWorkbook.Path & "\Test" & Format(Time, "hhmmss") & ".xlsx", _
        FileFormat:=xlWorkbookDefault, _
        Password:="password", _
        WriteResPassword:="", _
        ReadOnlyRecommended:=False, _
        CreateBackup:=False
        .Close 'ワークブックを閉じる
    End With
End Sub

Workbooks.Add   新規ワークブックの作成
Worksheets.Add   新規ワークシートの作成

ワークブック型の変数を作って新しく作るワークブックをセットする。
dim 変数名 As Workbook
set 変数名 = Workbooks.Add

ワークシート型の変数を作って新しく作るワークシートをセットする。
dim 変数名 As Worksheet
set 変数名 = ワークブック.Worksheets.Add
単に.Addだけだとワークブックの先頭に新しいシートを作成されてしまうので Worksheets.Add after:=指定ワークシート とすることで指定ワークシートの後に新しいワークシートが作成される。Set文などで指定するときは(after:=指定ワークシート)のように括弧付きにする。afterの代わりにbeforeなど。
実際には指定ワークシートというのが不定なことが多いので after:=Worksheets(Worksheets.Count) とすることでワークシート数を数えてその後にワークシートを作成する(既存のワークシートの末尾に新しいワークシートを追加される)。

Excel VBA その3 3
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal mlsc As Long)

Sub test()
    Application.DisplayAlerts = False '警告無効化

    Dim zTime As Single
    Dim wsTmp As Worksheet
    Dim i As Long, j As Long, k As Long

    zTime = Timer '基準となる時間

    With Workbooks.Add '新しいワークブック追加
        For i = 1 To 3
            With .Worksheets.Add(after:=.Worksheets(Worksheets.Count))
                .Name = "Test" & i
                For j = 2 To 20 Step 2      '行側
                    For k = 2 To 20 Step 2  '列側
                        With .Cells(j, k)
                            .Interior.ColorIndex = 6
                            .Value = Timer - zTime  '現在と基準の差分
                        End With
                        With .Cells(j + 1, k + 1) '1行下&1列右のセル
                            .Interior.ColorIndex = 6
                            .Value = Timer - zTime  '現在と基準の差分
                        End With

                        Sleep 1 '1ミリ(1000分の1)秒停止

                    Next
                Next
                .Cells(1, 1).Value = Timer - zTime '現在と基準の差分
            End With
        Next

        For Each wsTmp In .Worksheets 'ワークブック内の各シートに於いて
            With wsTmp
                .Activate '次のセルの選択のためにはワークシートをアクティブにする必要あり
                .Cells(1, 1).Select '各ワークシートのA1セルを選択 (今回の例では不要だが古いマナー的に)
                If Not .Name Like "Test*" Then
                    .Delete 'ワークシートの削除 削除の後にはそのワークシートに対する操作を書くのはNG
                End If
            End With
        Next

        .Sheets(1).Activate '先頭のシートを選択 (古いマナーとして)
        .SaveAs _
        Filename:=ThisWorkbook.Path & "\Test" & Format(Time, "hhmmss") & ".xlsx", _
        FileFormat:=xlWorkbookDefault, _
        Password:="password", _
        WriteResPassword:="", _
        ReadOnlyRecommended:=False, _
        CreateBackup:=False
        .Close 'ワークブックを閉じる
    End With
End Sub

先程はWorkbook型の変数を使ったが、今回は使わない。処理内容は同じで違うのはほぼその部分の書き方だけ。

With Workbooks.Add
    処理
    .SaveAs ホニャララ 'ファイル保存
    .Close  'ワークシートを閉じる
End With

2つの書き方で、どちらが読みやすいかは人それぞれだろうけど、「がとらぼ」の中の人は前者のような書き方の方が好きかな(まどろっこしいけど)。

Excel VBA その3 4
実行するとワークブックが出力される。
そのファイルを開く。ファイル名は「Test」+「実行時の時分秒」.xlsxで、ファイル保護パスワードは「password」。

Excel VBA その3 5
ワークシートが3つ存在し、それぞれにセルの処理を行い、セルにはVBAマクロの実行開始からの経過時間(秒)が入っている。

「がとらぼ」の中の人はアタマが悪くてリファレンスで関数の引数とか見ても全然理解しないタイプで、実際に関数が使われている例を見る方がアタマに入りやすいので、今後も使い方の例を挙げる形で予定しています。プログラムの本職の人などからすると全然スタンス違うかもだけど、本職の人はリファレンス見たらわかるでしょうし。ガチでプログラムをやりたいというのではないけどExcelで仕事をラクになんとかしたいという人向けに使えそうなのを残していく感じで。

Up