日付印を作成 ④ 名前や色などはシートで設定する

先日から時代の流れ(脱ハンコ)に逆らって、Excelで日付印の描画に
挑戦している。前回は、日付印としての形が完成するところまで作り
込んでみた。
infoment.hatenablog.com

今日も、前回の続きから。
f:id:Infoment:20210829230217p:plain

今回作成したクラスモジュール「Stamp」。この中で特に、ユーザーが
任意に設定するであろうプロパティは以下の4つだ。

  1. 部署名
  2. 押印名
  3. 押印色
  4. フォント

そこで運用例として、これらをシート上で設定する方法を考えてみた。
例えば、↓ こんな感じだ。
f:id:Infoment:20210829231024p:plain
まずB列の各セルには、A列のラベル名称と同じ名前をセルに付けておく。
入力内容は、次のとおり。

  1. 部署名  日付印の上側に表示される部署名を入力
  2. 押印名  日付印の下側に表示される名前を入力
  3. 押印色  日付印を描画する実際の色で塗り潰す
  4. フォント 部署名と押印名に表示したいフォントをセット

押印色とフォントはともに、実際色やフォントを見た目で確認できるので
解り易いと思う。

今回の例ではSheet1に作成したので、Sheet1のシートモジュールに以下の
プロパティプロシージャを作成しておく。

Public Property Get StampPart() As String
    StampPart = Me.Range("部署名").Value
End Property

Public Property Get StampName() As String
    StampName = Me.Range("押印名").Value
End Property

Public Property Get StampColor() As Long
    StampColor = Me.Range("押印色").Interior.Color
End Property

Public Property Get FontName() As String
    FontName = Me.Range("フォント").Font.Name
End Property

先日までの「日付印」マクロを以下のように変更する。

Sub 日付印()

    Dim Stamp As VBAProject.Stamp
    Set Stamp = New VBAProject.Stamp
        Stamp.init Selection, Sheet1.StampColor, Sheet1.StampPart, Sheet1.StampName, Sheet1.FontName
        Stamp.DrawStamp
        
End Sub

実行した結果は、以下のとおり。
f:id:Infoment:20210829231930g:plain

これで、選択セルの大きさに対し自動調整して、こんな感じで大小の日付印が
作成できるようになった。
f:id:Infoment:20210829232133p:plain

次回に続きます。

参考まで。