ゆうちょ振込用紙の印字を自力で解決!まずは独自テンプレートづくりから

furikaetempeyecatcha

まず最初に、ゆうちょ振込用紙への印字の方法について考えていきます。

今回は印字のために必要なテンプレートを作成します。
小さな用紙ですので細かな作成作業には画面表示の拡大率を上げるなどの工夫で行います。

こんにちは、じゅんぱ店長(@junpa33)です。

 

今回より「ゆうちょの振替」用の「振替用紙(払込取扱票)」の作成の方法を説明していきます。

 

まずは、テンプレートづくりからです。

 

「振替用紙(払込取扱票)」はもともとのサイズが結構小さいので

テンプレートづくりは細かい作業になりますが、

画面表示を拡大しながらの作業を行っていきましょう。

 

請求時に添付したい「振替用紙(払込取扱票)」の作成についての概要は、

一つ前のこの記事↓で確認できます。

firikaeinjieyecatch既製の振込用紙の宛先印字はエクセルで可能!ゆうちょ振替で代金払い

 

ゆうちょの振替用紙の独自テンプレートシート作りの考え方

 

今回の作るテンプレートは、

振替用紙(払込取扱票)をそのままコピーしたものを、エクセルシート上に作るというものではありません。

テンプレート作成の目的は、

既製の振替用紙(払込取扱票)に口座番号や、振替先、振替元、住所などを印字することです。

すでにある振替用紙(払込取扱票)を印刷用紙として使いますので、マス目や罫線印字はいらないのです。

ですので当然、

いつものように作るテンプレートのような、文字や罫線を使った表や伝票とは違ったものになります。

 

数字や文字を打ち込むセルを実際の振替用紙の記入位置に合わせることが目的です。

 

テンプレートの印字については、前の記事でも説明した通り

普通にそのまま作成して印刷したのでは、どうしても印刷できない部分が出来てしまいます。

テンプレートを作成して印刷しようとした場合解決をしないといけない問題

 

そこで、プリンターの印刷可能エリアによる印字範囲制限をクリアーするために、

この解決策として、エクセルシート上に「テンプレートを上下逆」に作成することにします。

 

印字範囲的には、この上下逆印刷案でOKと言うことが分かりましたが、

エクセルの「セルにタイプする印字内容」が正立した文字だと、全く意味を成しません。

上下逆印刷案では「セルにタイプする印字内容」も全て倒立した文字であることが必要です。

それを踏まえたうえで、今回は上下逆印刷のための独自テンプレートを作成していきます。

 

印字問題を自力解決できる独自テンプレートをつくる

 

今作ろうとしている「ゆうちょ払込取扱票印字」ソフトは、その利用方法として、

今回作成する独自テンプレート内のそれぞれのセルに、

直接取引金額と内容を表示して印刷することになります。

つまり、今回作る独自テンプレートは何度も使用(リユース)されるということです。

そこで、

テンプレートの使用中破損や削除を防止するために、独自テンプレート完成後は

独自テンプレートの有るシートをエクセルの機能である「シート保護」をかけてロックしておきます。

「ゆうちょ払込取扱票印字」ソフト使用時には、このテンプレートを別のシート上にコピーして使用するようにします。

 

1.エクセルBOOKを作ります

 

エクセルを起動し、「新規」から「空白のブック」をクリックします。

作成された新しいBOOKを、名前を付けて保存で、「マクロ有効ブック*.xlsm」で「振替用紙印字.xlsm」として保存します。

 

2.テンプレートを作成します

 

保存した「振替用紙印字.xlsm」を開き「Sheet3」にテンプレートを作成していきます。

 

初めにエクセルシートを方眼紙にします。

用紙のサイズが小さいので一マスを5ピクセルとします。

furikaetemp001a

拡大表示100%では作業できませんので、400%で行います。

薄い点線の罫線でセルを見やすくしておきます。

furikaetemp002a

これを一旦、プリントアウトします。

この時、印刷設定で、余白を上下左右「0」にしてください。

 

実際の既製の振替用紙を、プリントした方眼紙に当てて振替用紙の「書き込みマス」の方眼紙位置をチェックしていきます。

 

ちょっとしたコツとしては、振替用紙の上の方(方眼紙で言うと下の方)から「書き込みマス」のサイズ合わせをしていくことです。

 

このような方法で、振込用紙と方眼紙を合わせていって、下の画像のように作ります。上下を逆に作っています。

赤丸のセルは、隣のセルとの結合セルになります。

furikaetemp003a

 

 

各セルのサイズ設定はこのようになります。

各行の設定

  • 1行目  45ピクセル
  • 2行目  15ピクセル
  • 3行目  50ピクセル
  • 4行目  19ピクセル
  • 5行目  14ピクセル
  • 6行目  20ピクセル
  • 7行目  63ピクセル
  • 8行目  34ピクセル
  • 9行目  14ピクセル
  • 10行目 48ピクセル
  • 11行目 43ピクセル
  • 12行目 34ピクセル
  • 13行目  7ピクセル
  • 14行目  6ピクセル
  • 15行目 24ピクセル

 

各列の設定

  • A列 5ピクセル
  • B列 21ピクセル
  • C列 11ピクセル
  • D列 11ピクセル
  • E列 11ピクセル
  • F列 11ピクセル
  • G列 21ピクセル
  • H列 21ピクセル
  • I列 21ピクセル
  • J列 21ピクセル
  • K列 20ピクセル
  • L列 20ピクセル
  • M列 43ピクセル
  • N列 21ピクセル
  • O列 21ピクセル
  • P列 21ピクセル
  • Q列 21ピクセル
  • R列 21ピクセル
  • S列 21ピクセル
  • T列 21ピクセル
  • U列 21ピクセル
  • V列 20ピクセル
  • W列 21ピクセル
  • X列 21ピクセル
  • Y列 21ピクセル
  • Z列 21ピクセル
  • AA列 21ピクセル
  • AB列 21ピクセル
  • AC列 21ピクセル
  • AD列 10ピクセル
  • AE列 20ピクセル
  • AF列 10ピクセル
  • AG列 21ピクセル
  • AH列 21ピクセル
  • AI列 21ピクセル
  • AJ列 21ピクセル
  • AK列 16ピクセル

 

一つずつセットしていくのは大変ですので、

この下のVBAをモジュールに張り付けて実行すれば、作業が簡単になります。

注意

VBAからのセルの高さと幅の指定は単位がポイントになります。
ピクセルをポイントに換算していますが、列幅は換算したポイント数をシートで表示しきれない(近似値表示になる)ので、
列幅は手作業で調整が必要です

このコードはこれ一回の使い道ですので、利用後は用済みになります。適時消去していただければOKです。

Sub tmpセル設定()

Dim i As Long

Dim R(14) As Long

Dim C(36) As Long

 R(0) = 45

 R(1) = 15

 R(2) = 50

 R(3) = 19

 R(4) = 14

 R(5) = 20

 R(6) = 63

 R(7) = 34

 R(8) = 14

 R(9) = 48

 R(10) = 43

 R(11) = 34

 R(12) = 7

 R(13) = 6

 R(14) = 24

 

 C(0) = 5

 C(1) = 21

 C(2) = 11

 C(3) = 11

 C(4) = 11

 C(5) = 11

 C(6) = 21

 C(7) = 21

 C(8) = 21

 C(9) = 21

 C(10) = 20

 C(11) = 20

 C(12) = 43

 C(13) = 21

 C(14) = 21

 C(15) = 21

 C(16) = 21

 C(17) = 21

 C(18) = 21

 C(29) = 21

 C(20) = 21

 C(21) = 20

 C(22) = 21

 C(23) = 21

 C(24) = 21

 C(25) = 21

 C(26) = 21

 C(27) = 21

 C(28) = 21

 C(29) = 10

 C(30) = 20

 C(31) = 10

 C(32) = 21

 C(33) = 21

 C(34) = 21

 C(35) = 21

 C(36) = 16

 

For i = 0 To 36

 If i < 15 Then

  Rows(i + 1).RowHeight = R(i) * 0.75

  Columns(i + 1).ColumnWidth = C(i) * 10 / 85

 Else

  Columns(i + 1).ColumnWidth = C(i) * 10 / 85

 End If

Next i

End Sub

 

作成が出来ましたら、このテンプレートのシート名を「印刷用tmp」として保存してください。

細かいテンプレートですので、間違って触って変更してしまわないようシートの保護をしておきましょう。

保護の方法は、

「印刷用tmp」シートを開いた状態で、「ファイル」タブから「情報」の「ブックの保護」クリックで

「現在のシートの保護」を表示します。

 

furikaetemp004a furikaetemp005a

パスワードは、設定しないでください。

(どうしても設定したい場合は、後で作業するVBAの中で設定解除のVBA記述を行う必要があります。)

これでテンプレートづくりは完了です。

あとは、最後のテスト印刷の時に、微調整する必要があればその時いじる程度かと思います。

 

3.テンプレート複製VBAコードの組み立て

 

次は、作成したテンプレートを複製するVBAコードを作成します。

 

モジュールの挿入

いつものように、新しくModuleを挿入します。

挿入の方法はこちら↓で確認できます。
VBE(ビジュアルベーシックエディター)を起動する

エクセルVBAコードを組み立て始める時の最初の設定については、
vbavbekidoeyecatchVBA初めての起動。VBEの立ち上げ、保存と終了の記事も参考になります。

 

テンプレートを複製するVBA

複製するテンプレートのシート名を「印刷用テンプレート」とします。

 

「印刷用テンプレート」シートが既に存在すれば、一旦それを削除します。

そして新たに複製を末尾に作成します。

 

新しく挿入したModule1に以下のVBAコードを記入します。

 

シート保護をしているテンプレートを、複製時に一旦保護解除して、

複製完了後に再度シート保護を有効にします。(パスワードを設定しないで保護しています。)

Sub テンプレシート()

 

Dim Ws As Worksheet, Flag As Boolean
  For Each Ws In Worksheets
    If Ws.Name = “印刷用テンプレート” Then Flag = True
  Next Ws
  If Flag = True Then
    Application.DisplayAlerts = False
    Worksheets(“印刷用テンプレート”).Delete
    Application.DisplayAlerts = True
  End If

 

Worksheets(“印刷用tmp”).Select
  ActiveSheet.Unprotect

Worksheets(“印刷用tmp”).Copy after:=Worksheets(Worksheets.Count)
  ActiveSheet.Name = “印刷用テンプレート”

Worksheets(“印刷用tmp”).Select
  ActiveSheet.Protect

End Sub

 

MEMO

「For~Each」文については、こちら↓を参考にしてください。

vbadoloopeyecatchVBA 回数不定のループ処理はDo LoopとFor Each

「If条件文」については、こちら↓が参考になります。

vbaifjyokeneyecatch「If条件文」のVBAコードの組み方。条件の絞り方を最速に理解。

「シートのコピー」については、こちら↓が参考になります。

VBACopyeyecatchシートのコピーを最速に理解!VBAコードで異なる結果

「ActiveSheet」についてはその利用法は、こちら↓を参考にしてください。

vbanameeyecatch新規作成ブックとシート。アクティブ状態でやっておくこと

 

ゆうちょ振込用紙の独自テンプレート作成のまとめ

 

このテンプレートを上手く作るかどうかが、既製の振替用紙(払込取扱票)に印字できるかどうかの分かれ目となります。

実際に印字ソフトを動かすときは、このテンプレートを複製して利用しますので、

このシートに対して何度も操作するということはありません。

このテンプレートを安全に保管することが重要になります。

 

次回はテンプレートに文字・数字を印刷するための「入力シート」と請求先の情報を登録する「発行データ」シートの記入欄を作成していきます。

 

エクセルVBAを独習を始めた人へ

 

この記事で紹介したテンプレートは、作成についてはかなり細かく面倒な部類です。

エクセルVBAで使うテンプレートは、

  1.  VBAコードでテンプレートを作成する。(テンプレ自体を壊してしまっても何回も再生できる)
  2.  今回のように、手作業でピクセルを計って作成する。(壊さないように保護が必要)

の作成方法があります。

入門的には、面倒でも②の方法が分かり易いかと思いました。

焦らず、徐々に複雑なものにチャレンジしていきましょう。

 

 

エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。

vbastudyeyecatch2エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です

 

大村式【動画&テキスト】Excelマクロ&VBA最高のはじめ方

初めてのVBAの勉強、構えなくても気軽に始められる。

vbastudy020a

vbastudy021a

電子書籍版「大村式【動画&テキスト】Excelマクロ&VBA最高のはじめ方」をamazonで見てみる

(著者)大村あつし
(出版社)技術評論社
(税込価格)1,628円(本体1,480円+税)

学習書の新しい形です。
YouTubeと完全リンクした参考書です。入門と基礎を重点的に22本の動画で解説をしています。
ちょっとした空き時間を利用してでもスマホがあれば学習ができます。

動画は優しい語り口調で、視聴者にある意味安心感を与えてくれます。動画は5分から20分間ぐらいで22本の構成です。

文章解説と動画解説の関係性は、動画解説が主で、文章解説がサポートいう使い方もできます。

 

エクセルVBAを使って業務効率を上げて行くのに、始めのうちに知っておきたいテーマを纏めてみました。

 

「エクセルVBA最速理解」の記事一覧を開く

 

今回の記事はここまでです。   最後までご覧いただき有難うございました。

 

 

<記事内容についての告知>VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。