\副業初心者が選ぶべきクラウドソーシングサービス4選/

エクセルで日付印をボタン一つで押印する方法【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を立ち上げ、以下のマクロコードを個人マクロへ追加していきます。

まずExcelの開発タブを表示させます。

ここが分からない方は、先にこちらの記事の最初の「マクロを始めるための事前準備「開発タブ」を表示させる」を読んでください。

開発タブから、
マクロの記録>ショートカットキーに「好きなアルファベット」>マクロの保存先を「個人マクロブック」>OK
を押します。


※今回は好きなアルファベットは「o」(小文字のオー)にしてみました。

そうすると、マクロの記録が始まり、左下にこのような■ボタンが現れますので、
ここをクリックして、マクロの記録を停止させます。

マクロの記録中表示

次に、Visual Basic>VBAProject(PERSONAL(XLSB)>Model1を開くと

こんなコードが記録されていると思います。

マクロの記録内容

ここのコードをすべて削除して、以下のコードを入力してください。

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 ‘文字の大きさ

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

もし、「うまくできない!」「誰かに作って欲しい!」と丸投げしたい方は

クラウドソーシングサービスで発注してしまうのもおすすめです!

特にココナラではExcelVBA開発でも、破格の3,000円から発注することが出来ます!

スキルマーケット【ココナラ】でExcelVBA開発をお願いする

↑↑作業自動化・効率化のカテゴリにありますよ!↑↑

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

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

フリーソフトが導入できず、なんとかマクロを使って日付印を無料で押したい!という方向けに

作成方法をまとめてみました。

ご参考になれば幸いです。

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