午後わてんのブログ

ベランダ菜園とWindows用アプリ作成(WPFとC#)

エクセル2007アドイン、セルの塗りつぶしとフォントのパレット作ってみた、その18

不具合修正

複数の離れたセルに操作した場合にエラーになっていたのを修正
ユーザー定義の配色の時にエラーになっていたのを修正

f:id:gogowaten:20191015160448p:plain

離れた複数のセルを選択した状態でパレットを操作すると
エラーになったり色が塗れなかったりしていたのを修正
 
f:id:gogowaten:20191015160457p:plain
ユーザー定義の配色やエクセル2007以外のテーマの時に
エラーになっていたのを修正
 
ダウンロード
ファイル名 午後のパレット_20141208.zip
ダウンロード先1
エクセル2007アドイン - OneDrive
ダウンロード先2(ヤフーボックス)
 
できたと思ってもいろいろ不具合は見つかるなあ
ユーザー定義の配色の時のエラーはうっかりミスだけど
離れた複数のセルのコピーができないのは思いつきもしなかった
普通にSelection.Copyできると思っていたし
実際「マクロの記録」で実行したのを見るとSelection.Copyになっている
なのに実行するとエラーになる…
正解は
Selection.Areas.Item(1).Copy
Selection.Areas.Item(2).Copy
とかで、それぞれのセル範囲をコピーする
Areasとか初めて使った

いくつのセル範囲があるかは
Selection.Areas.Count
で取得できる

離れた複数のセルを選択する場合は
Range("I9:J11,I13:I15,F12:G15").Select
とかなんだけど使いづらい
Range("I9:J11","I13:I15","F12:G15").Select
こうなら使いやすいんだけどエラーになる
 
配列の初期化
Erase 配列の変数名
これも初めて使った、ClearとかDeleteとかじゃないんだなあ
 
 
パレットの大きさ変更で必要だった
色のマスを大きくしたらその他の部品も多くしないとバランスが悪い
でもどれくらいの大きさにしたらいいのかわからない
Labelコントロールは余計な枠とかマージンとかなさそうなので
これを使ってMeiryo UIのフォントサイズごとの大きさ(Height)変化を比べてみた
イメージ 3
フォント名Meiryo UI
フォントサイズごとのラベルの高さの変化
ばらつきはあるけどだいたいフォントサイズの数字x1.3ぐらい
 
イメージ 4
コンボボックス
 
f:id:gogowaten:20191015160739p:plain
マルチページのタブの高さ
これはAutoSizeは無いので目視で判断
出した結果が
フォントサイズx1.3+0がラベル
フォントサイズx1.3+6がコンボボックス
フォントサイズx1.3+8がマルチページのタブ
大雑把な目安だけど
出した結果が↓

f:id:gogowaten:20191015160755p:plain

昨日のはマルチページのタブが大きすぎたけど
今回のはウィンドウ内に収まっている
関連記事
次回
前回