Office Scripts

[Office Scripts]日付印を作成する方法

下記記事「Office スクリプトとPower Automateで作る見積書発行ワークフロー」をご覧になった方から、「日付印の日付部分を変更するにはどうすれば良いか?」とのご質問をいただきました。

上記記事では事前に印鑑の画像を準備しておき(日付印ではなく氏名印)、Power AutomateとOffice スクリプトによってExcelシート上に作成した画像を挿入する処理を行っています。

日付印の場合だと「クリックスタンパー」等のツールやサービスで画像を作成した時点で日付が固定化されてしまうわけですが、これを処理日に合わせて変更したい、というわけですね。

対応策としてはいくつか考えられます。

  1. 何らかの方法で動的に印鑑画像を作成する。
  2. 日付部分以外の印鑑画像を作成しておき、動的に作成したテキストボックスを画像に重ね合わせる。
  3. 印鑑を画像では無く、Excelの図形機能を使って表現する。

使い勝手の良いAPIがあれば1.の方法が簡単ですが、Office スクリプトのみで処理することを考えると3.の方法が現実的だと思います。
Office スクリプトには図形をシートに挿入するための(Worksheet).addGeometricShapeメソッドが用意されており、技術的には難しくなさそうだったので早速試してみました。

日付印を作成するOffice スクリプト

作成したスクリプトが下記になります。
やっていることは非常にシンプルで、(Worksheet).addGeometricShapeメソッドや(Worksheet).addLineメソッドで円や線、矩形といった図形を追加し、大きさや色、フォント等を調整しているだけです。

実行画面

今回紹介したコードでは単に図形をシートに追加しているだけですが、下記のように(Shape).getImageAsBase64メソッドで画像化&Base64エンコードした文字列を取得することもできるので、Power Automateと組み合わせれば、動的に作成した透過PNGを使用した処理を行ったり、幅広く応用できそうです。

const b64 = shpStamp.getImageAsBase64(ExcelScript.PictureFormat.png);
console.log(b64);

また、印鑑用図形の作成にあたっては、NOMBO氏が開発された「Excel電子印鑑」で作成した図形を参考にさせていただきました。この場を借りてお礼申し上げます。

関連記事

[Power Automate for desktop]曜日に応じて処理を実行する方法前のページ

[Power Automate for desktop]VSTOアドイン内のコードを実行する方法次のページ

関連記事

  1. Office Scripts

    [Office Scripts]任意の場所にあるスクリプトを実行する方法

    通常、Office スクリプトを実行するPower Automateフ…

  2. Office Scripts

    Office ScriptsとPower Automateで簡単なメールアーカイブを作る方法

    下記記事でも書いている通り、Office Scriptsのスクリプトは…

  3. Office Scripts

    [Office Scripts]ウィンドウ枠の固定と解除を行う方法

    今回は、Office Scriptsでウィンドウ枠の固定と解除を行う方…

  4. Office Scripts

    Build 2020で個人的に気になったOfficeやPower Automateの発表

    Microsoftの開発者向けイベント「Build 2020」がオンラ…

  5. Office Scripts

    [Office Scripts]外部APIを呼び出す方法

    下記サイトにあるように、Office Scriptsでは外部ライブラリ…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP