エクセルで日付印をボタン一つで押印する方法【ExcelVBA】

仕事効率化

テレワークが浸透してきたこともあり、印鑑を電子印へ移行している人も多いと思います。

特に、公的な書類ではなく社内での承認だけに使うだけであれば

電子印でも問題ないケースも多いはずです。

今回は、Excelで簡単に日付印を押印したいという要望を受け、

ExcelVBA(マクロ)でボタン一つで日付印を押印できるようなものを作成したので

備忘録としてまとめておきたいと思います。

スポンサーリンク

エクセルで日付印をボタン一つで押印する方法

実はExcelに日付印を押したいのであれば、Excel電子印鑑という便利なフリーソフトがあります。

Excelに丸型・小判型の“認印”、角型の“角印”、日付のついた“データネーム印”、重要・社外秘など

様々なスタイルの判子を押すことができるようになります。

もし、フリーソフトを使ってOKの会社であれば、

これをインストールするのが一番便利だと思います。

https://forest.watch.impress.co.jp/library/software/excelstamp/

しかし、うちの会社ではフリーソフトを使うのは、あまり好まれず

色々と申請があって面倒なので、今回は自分でアドインを作成しました。

手間はかかりますが、フリーソフトが使えないという方に参考になれば幸いです。

手順1:ベースとなる印鑑画像を準備する

まず、Excelの図形機能を使って、印鑑の元になるベース画像を作っていきます。

Excelの挿入>図形>○を選択して、適当な大きさで円を書きます。

電子印の元画像を作る
電子印の元画像を作る

円を描いたら、図形の色を変更して線は赤色、塗りつぶしは白にします。

日付印

同様に、挿入>図形から「線」を追加してこんな感じで引きます。

電子印

こんな感じ!線の入れる場所はお好みで好きな感じで整えてもらってOKです。

最後に、上部と下部の余白に名前を入れていきます。

挿入>図形からテキストボックスを追加していきます。

完成形はこんな感じ!

電子印

全ての図形データをグループ化して、1つの図形に合体させます。

この図形をペイントに貼り付けて、画僧データとして保存します。

電子印
電子印

ペイントで画像保存するときに、この画像のように

周りに余白が出ないように印鑑のサイズピッタリにサイズを合わせておいてください。

完成した画像は「C:\Users\inkan.jpg」等に保存しておきましょう。

保存先をメモしておいてください。

手順2:マクロコード追加

Excelを立ち上げ、以下のマクロコードを追加します。

Sub 日付印捺印()
 
'Picture_Pathに電子印鑑保存先を記述
Dim Picture_Path As String
Picture_Path = "C:\Users\inkan.jpg" '電子印鑑保存先のパスを入力
 
Dim Stamp_height As Long, Stamp_width As Long
Dim Stamp(1) As String
Dim font_name As String: font_name = "メイリオ" '日付の書式
 
'電子印鑑の画像挿入
ActiveSheet.Pictures.Insert(Picture_Path).Select
With Selection.ShapeRange
    Stamp_height = .Height: Stamp_width = .Width
    Stamp(0) = .Name
    If ActiveCell.Column = 1 Then .Left = 7 '左端のセルに画像が入った場合の調整
End With
 
'日付を入れるテキストボックスを挿入し、位置を印鑑の大きさに合わせて調整
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, _
Selection.Left - Stamp_width * 0.15, _
Selection.Top + Stamp_height * 0.35, _
Stamp_width * 1.3, Stamp_height * 0.3).Select
 
With Selection.ShapeRange
    With .TextFrame
        .Characters.Text = Format(Date, "Short Date") '日付を入れる
        .Characters.Font.Size = Stamp_width / 7 '文字の大きさ
        .Characters.Font.ColorIndex = 3 '色を赤色に
        .HorizontalAlignment = xlHAlignCenter '水平方向中央よせ
        .VerticalAlignment = xlVAlignCenter '上下方向中央寄せ
    End With
     
    With .TextFrame2.TextRange.Font
        .NameFarEast = font_name
        .Name = font_name '日付のフォントを指定
    End With
     
    .Fill.Visible = msoFalse '背景色なし(透明)
    .Line.Visible = msoFalse '枠線なし
    Stamp(1) = .Name
End With
 
ActiveSheet.Shapes.Range(Stamp).Group.Select '日付のテキストボックスと印鑑画像のグループ化
Selection.Cut '切り取り
ActiveSheet.PasteSpecial Format:="図 (PNG)", Link:=False, DisplayAsIcon:=False '画像(PNG)として貼りつけ
'大きさの調整
With Selection.ShapeRange
    .ScaleHeight 1, msoFalse, 1
    .ScaleWidth 1, msoFalse, 1
End With
End Sub

ここで、日付の位置を微修正していきます。

ます、Picture_Path = “C:\Users\inkan.jpg” ‘電子印鑑保存先のパスを入力
という部分は手順1で保存したパスを入力します。

マクロを実行してみて日付の位置がずれる場合は、

Selection.Left – Stamp_width * 0.15, _
Selection.Top + Stamp_height * 0.35, _
Stamp_width * 1.3, Stamp_height * 0.3).Select



.Characters.Font.Size = Stamp_width / 7 ‘文字の大きさ

のあたりの数字を微調整してみてください。

調整するとこんな感じになります。

電子印

マクロ自体を個人マクロに登録し、ショートカットキーを登録しておけば

ボタン一つで日付印を押すことが出来るようになります。

個人マクロの登録方法はこちらの記事を参考にしてください。
(参考記事:Excelで0を表示させたい!メモ帳使ってる人必見!1秒で出来る方法 | tsenblog (tsenblognosusume.com)

スポンサーリンク

エクセルで日付印を簡単に押すまとめ

いかがでしたでしょうか?

フリーソフトが導入できず、なんとかマクロを使って日付印を押す方法方法について

まとめてみました。

参考になれば幸いです。

ここまで読んでいただきありがとうございました。

タイトルとURLをコピーしました