先日から時代の流れ(脱ハンコ)に逆らい、Excelで日付印の描画に挑戦中だ。
前回は、マクロファイル以外にも押印できるようにしてみた。
infoment.hatenablog.com
今日も、前回の続きから。
前回作成したマクロを、職場のある方に紹介した。
すると、こんなコメントが帰ってきた。
「すごくいいね!でも、内容を編集できてしまうのが、ちょっと気になるな」
そこで、オプションで編集不可にすることを考えてみた。
今回の作戦は、こんな感じだ。
- 日付印のオートシェイプを「図としてコピー」
- 貼り付けののち、オートシェイプを削除
以上を踏まえ、このように改修してみた。作成した日付印を更に編集したくなる
かもしれないので、Public変数にセットしたうえでコピー&ペーストする。
Public StampObject As Shape
' 日付印作成。 Public Sub DrawStamp(Optional picture_flag As Boolean = False) ' 円作成。 DrawCircel ' 水平線作成。 DrawLine ' 部署名および氏名をセットするための□作成。 DrawSquare ' 作成したものをグループ化。 Set StampObject = ActiveSheet.Shapes.Range(ShapeNames).Group ' 画像として貼り付け。 If picture_flag Then StampObject.CopyPicture ActiveSheet.Paste StampObject.Delete End If End Sub
結果は以下のとおり、一つの画像にまとめることができた。
Sub 押印() Dim Stamp As VBAProject.Stamp Set Stamp = New VBAProject.Stamp Stamp.init Selection Stamp.DrawStamp True End Sub
とはいえ実は、Microsoft Office 描画オブジェクトに変換することで、
やっぱり編集できたりもする。
これについては・・・気づかなかったことにしよう。
ということで、今回のシリーズはこれでおしまい。
なお、今回作成したクラスモジュールは ↓ こちらにまとめておく。
※何か変更があれば、今後はこちらを編集します。
infoment.hatenablog.com
参考まで。