13
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

EXCELをアイコンエディタにするツール

Last updated at Posted at 2020-06-21

外観

image.png

動作環境

WINDOWS上の EXCEL2010以降 32bit 64bit いずれのバージョンのEXCELでも動作します。

特徴

(1) ImageMso

ImageMsoを指定して、Officeに標準で登録されているアイコンを読込むことが出来ます。
透明色や半透明色は反映されます。

(2) ファイル形式

PNG, BMP, ICO, JPG, GIFファイルを読込むことが出来ます。
透明色や半透明色は反映されます。

PNG, BMP, ICOファイルで保存することが出来ます。
PNGファイルで保存すれば、透明色や半透明色は保存されます。

(3) アイコンサイズ

アイコンのサイズに制約を設けていません。(16x16,24x20,32x32,64x64等々)
すべてのシートのすべてのセルに対して、自由なサイズでアイコンを描画することが出来ます。

読込める画像のサイズにも制約を設けていません。(ただし、大きすぎると予期せぬ不具合の原因になります)
書式(このツールではセルの色)をあまりにも多用しすぎると、不具合を起こすようです。

(4) 透明色・半透明色

透明色・半透明色(アルファチャンネル)に対応しています。

(5) UNDO

直前のコマンドのUNDOが可能です。

(6) 図形(オートシェイプ)

図形(オートシェイプ)からアイコンを作成することが出来ます。

(7) クリップボード

クリップボードの画像からアイコンを作成することが出来ます。
例えばWEB上のアルファチャンネルが設定された画像をコピーした場合は、透明色・半透明色も反映されます。

作成中のアイコンをクリップボードにコピーすることが出来ます。
ビットマップ形式だけでなく、PNG形式でもコピーされるため、透明色・半透明色も反映されます。

(8) サンプル表示

編集中のアイコンをリボンに表示することが出来ます。

(9) 一括読込・一括保存

複数のアイコンを一括で読込むことも、保存することも出来ます。

(10) 色を値で指定

アイコンの色を数値や演算で指定することも可能です。

そのための便利なセル関数も用意してあります。

ダウンロード

Github のサイトから[IconEditor_v105.zip]をダウンロードください。

ソースコードについて

興味のある方は Github でソースを公開しています。

当ツールを作成するにあたり、いろいろ調べて実現した機能がありますので、以下のようなサンプルを探している方は、ソースの中に参考になるロジックがあると思います。

  • EXCELでコピー中のセル範囲(Range)を取得する
  • VBAでBMPファイルを保存する
  • VBAでICOファイルを保存する
  • ImageMsoから透明色を反映した画像を取得する
  • VBAでPNG形式のクリップボードデータの読込み および 書込み を行う
  • VBAでGDI+ のAPI(64bit)を実行する
  • VBAでGDI+ を使ってアルファチャネルの画像を取り扱う
  • リボンのボタンのアイコンを外部ファイルを使用せずに動的に変更する

ご意見

バグや要望は下記まで
https://github.com/takanaweb5/IconEditor

紹介記事

窓の杜:Excelでアイコンを作成・編集できるマクロ「IconEditor」
※記事では64bit版の「Microsoft Excel」では動作しないとありますが、64bit版でも動作します

13
14
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?