イベントハンドラの誘惑
ある変数の状態を元に,アイテムリストを動的に変更するという事をやらないといけないのだが,あるイベント中に書いてみたらリストを参照すればするほど,アイテムが増えてしまうという状態に.
#結局,フラグを作ってループを回避しただけだけど
ExcelVBAのイベントはVB6よりも細かくイベントが設けられているため,イベントが呼び出されるタイミングがわかりにくい.ヘルプを見ながら実行されるのを調べるのもアリだけど,時間がねぇ!(というか,今日)
なんかいい方法がないかな?
ある変数の状態を元に,アイテムリストを動的に変更するという事をやらないといけないのだが,あるイベント中に書いてみたらリストを参照すればするほど,アイテムが増えてしまうという状態に.
#結局,フラグを作ってループを回避しただけだけど
ExcelVBAのイベントはVB6よりも細かくイベントが設けられているため,イベントが呼び出されるタイミングがわかりにくい.ヘルプを見ながら実行されるのを調べるのもアリだけど,時間がねぇ!(というか,今日)
なんかいい方法がないかな?
JavaであるC言語のプログラムを書き換える事になったのだが、一つ問題が。C言語のUnsigined Integer型などの符号なしの型がそのまま移植できない。JavaにはC言語の基本的な型に相当するプリミティブ型というクラス群が存在するわけだが、その型にはUnsignedというものがない。数値の型のものは全部符号付きなので、Unsignedを使用しているものがそのまま移植できない。
うまくやればできるんだろうけど、へっぽこな私だとちょっと時間かかるんだろうなぁ。とりあえずやってみよう。
というか、Javaのプログラミング演習やったけど、どう書くかすら忘れている罠。
先日悩んでいた出来事のやつだけど、ビット演算ばかりなので、
値が保持できていたらいいという結論にいたり、とりあえず型の長さに気をつけて、キャストしまくりで、C特有のポインタ演算等を書き換えたら、あっさりと動いた。
まぁ、これからが本番なんだけど。
バイトのプログラム作業で思ったけど、ExcelVBAでコードクローンをもし測ったとしたら、恐ろしい量になりそうな予感がする。
ワークシートの中のセルにデータを読み書きするのがほとんどなので、
Sheet1.Celles(x, y).value = hogeみたいな記述だらけで自分で書いていて読むのがしんどくなってくる。
変数を使って、最後に書き出す方法や入出力のために関数作成するといっても、微妙だと思う。何かいい方法がないものかな?
以前から作っているプログラムのコードがひどくなってきたので,そろそろきれいに書き直したいのだが,どうやればきれいに書きなおせるかが困っている.
セルの参照と代入でどうしても,"SheetX.Cells(Row,Col).value"というのが多くなってしまって,可読性が非常によろしくない.フォームにデータを入れる処理(特にイベント処理)なんか,見事なコードクローンである.
とりあえず,コードのきれいはともかく,今は指摘されたバグの修正と機能追加を目指すか.