ある健康保険組合でおびただしい加入者の住所変更届を入力することのなったので、(しかも紙媒体)もしかしたら紙で提出して欲しい健保組合もあると十分に考えられるので、年金機構・協会けんぽの住所変更届の様式(218様式)に沿った、”紙”様式の印刷ができるACCESSファイルを作りました。
※ このACCESSファイルには、VBA(プログラム)が含んでます。内容に不安がある方はダウンロード・実行を奨励していません。
VBAの内容が理解できる方のみ使用してください。VBAのコードは以下に示します。アクセス2010以降奨励、アクセス2019以外で検証してません。
様式の和暦の部分に〇印をつけるVBA
general 部分
Option Compare Database
Option Explicit
'指定したコントロールに内接する楕円を描画(規定値)
'引数 Ctl コントロール(ラベルなど), LineW 線の太さ, ZoomRatio 拡大率
'ZoomRatio 拡大率 を指定すると、内接する楕円を基準にして拡大、縮小させることができます。
Sub DrawCircle(Ctl As Control, Optional LineW As Integer = 1, Optional ZoomRatio As Single = 1)
Dim rpt As Report
Dim x As Single, y As Single, r As Single, xp As Single
Set rpt = CodeContextObject
rpt.DrawWidth = LineW
With Ctl
x = .Left + .Width / 2
y = .Top + .Height / 2
r = .Width
If r < .Height Then r = .Height
r = r / 2 * ZoomRatio
xp = .Height / .Width
End With
rpt.Circle (x, y), r, , , , xp
End Sub
詳細 モジュールのBVAです。自分が少し改良しました(On Error GoTo ErrLabel ErrLabel: Resume Next 部分)
Option Compare Database
Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer)
On Error GoTo ErrLabel
DrawCircle Me("gengouhon" & Format(Me.被保険者生年月日, "ggg")), 1, 1.3
DrawCircle Me("gengouhai" & Format(Me.被扶養者生年月日, "ggg")), 1, 1.3
ErrLabel:
Resume Next
End Sub
その他 レポート部分のプロパティについては上記VBAの記述が安全と判断したうえ、内容を理解した上で使用してください。
多くの会社や労務管理をしている士業の方の労務管理ソフトは、平成28年以降、基本この様式はサポートしていませんが、住所変更データを出力して、適切にこのファイルのテーブルに結べば、印刷できるはずです。事業所と社会保険労務士記述の部分は加工してください。健康保険組合は紙仕様が依然、大好きみたいです。