エクセルのセキュリティ強化→マクロ不要で使えるように改良!

目次

Microsoft Office製品のセキュリティ強化

2022年9月に入り、どうやらoffice製品のセキュリティが強化されて、マクロが自動的にブロックされるようになった。

おそらく、サイバー攻撃のなかでも流行しているエモテットメールにOffice製品のマクロが利用されているのでMicrosoftが手を打った、ということだろう。

このサイトで提供している「自分でつくれるエクセル・ライフプラン表」は、利用者の年齢に合わせて、キャッシュフロー表を90歳までに調整したり、無料版については使用期限を設けるためにマクロを使用していた。

マクロが組み込まれているファイルは機能しなくなってしまったので、なんとかこのツールを改良してマクロを使わずに利用できるように考えていかなければならなくなった。

5年以上活躍してくれた仕様はもう使えない、残念だが仕方ない。

一日数十人ダウンロードしてくれているが、一度開いたファイルは問題なく使えるようなのでOK

新規にマクロありのファイルをダウンロードすると、自動的にブロックされるようだ。

自動ブロックを外す場合は、エクセルファイルを右クリックし、以下のようなポップアップの一番下のセキュリティの箇所にて、「許可する」を押すとファイルが使えるようになる。

マクロなしでも使えるように改良!

まず、世帯主が90歳とか100歳とか設定した年齢になるまでCF表を自動的に調整する仕組みをマクロなしでできるようにした。

具体的には、CF表の家族1の行に、変数に90歳を超える数が返されたらブランクとする、という関数を設定。

そのうえで、家族2以下の行には、家族1の行がブランクの場合、ブランクとする、という関数にした。

これで入力シートで世帯主が●●歳までと設定すれば、自動的にCF表が調整されるようになった。

また、マクロを使わなくしたことで、マクロを使うときに待たされるCF表の調整時間10~20秒がなくなり、瞬時に反映するように改良できた。

また、ファイルのサイズも1MB強から350MB程度にダウンさせることができたし、今後も入力エリアの拡張などしやすくなったのでよかった。

さらに、マクロが組んであると使えなかったスマホやタブレットのエクセルアプリでもそのまま使えるようになったし、Googleスプレッドシートでもそのまま使えるようになった。

なんだか良いことづくめだ。

また、無料版は使用期限付きとしている。これもマクロで制御していたが、マクロを使わない方法で期限が来たら使えなくするよう設定してみた。(期限が来たらどうなるか、気になる方はファイルをダウンロードして期限切れ後に確かめてみてください)

ただ、1点気になっているのが、グラフの横幅の自動調整がまだ出来ていない。これはなかなか難しい問題で、もしかしたらできないのかもしれない。今後改めて改良にチャレンジしていく。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次