Debug- Official Website -


椅子の日記

何が何でも毎日更新!どんなにネタが無くても意地でも更新!コメントも自分でつける!

Debug日記の使い方

2005年03月30日

日付あってるよな?

公開日時: 不明

うーむ、少しでも気を抜くとすぐに更新が疎かになるな。

昨日は結局徹夜になってしまい、今日はそのまま検収のチェック作業へ。午前中に担当者とあらかじめ答え合わせをして万全を期しておく。が、そこで問題が見つかった。計画のバーをクリックしても詳細情報が表示されない…というかそんなプログラムは組み込んだ覚えがないwつまり抜け。時間も競ってたし、なんとか1Hくらいで片付けねば後で不穏な事態になるのは目に見えてる。何とかしなくては。そもそも、そういう複雑なギミックを仕込むんだったらもともと自由度の高いVBで組んでしまうものなんだが、今回は時間的な問題もありExcelで突貫作業で作ったため、面倒なので後回しにしてたのだ。つまり、コレといったノウハウさえもない。早速ExcelのVBAを開いて研究を始める。処理の流れ的なものは頭にあるんだが、それを実現するためのボキャブラリがないため、それらを調査することから始まる。現場で時間もないのに何をやってるんだか…。シェイプをクリックしたイベントをフックするためにはOnActionプロパティに文字列でマクロ名を指定すればよいというのはすぐに分かったんだが、なんとマクロを呼び出した後にどのシェイプから呼び出されたのかイベント内で判別する方法がない!画面上には数十個〜数百個のシェイプが並ぶのでそれが出来ないと間違いなく個別の情報を表示するなんて実現不可能。一生懸命調べてみたが、そもそもシェイプをクリックしてもシェイプにフォーカスが当たってないため、Active〜系のプロパティでは取得が困難っぽい。しかし、呼び出されたマクロに引数はない。う〜む困った。。。
結局、結論から言えば、かなりの力技で回避した。まず5000個の連番付きのマクロをExcelとテキストエディタで作成し、情報表示プロシージャへインデックス引数付きでリダイレクトさせるジャンプテーブルとする。次にシェイプのマクロ名にその連番でマクロを登録しながら配列変数に参照用のID情報を格納。情報表示処理内では指定されたインデックス番号から配列変数内の参照用IDを取り出してクエリを発行するようにした。時間もなくてあせりながらの作業だったが、動かしてみたらすんなり巧くいった。我ながらなかなかキレてるぜ。何とかぎりぎり間に合った。
実はExcelはそんなに詳しくないので他に良い方法があるなら掲示板で教えて欲しい。書いてくれた人にはサイン入りスティックをプレゼントしよう。犬の躾くらいには使えるかも。

んで、夜はセミメンバーで練習。誰がメインというわけではないが、みんなで音を合わせながら各自おのおのの問題点を挙げていく。俺はロールが出来なくて悔しかったから絶対に何とかしてやる。っていうか徹夜明けで10時から2時間はきついっすよマジで…orz
K氏はまだ5曲目覚えてなかったw次の練習は大丈夫かぁ〜?(オレモナー

Info.
公開日時不明
本文文字数1252文字 (タグ込み)
URLhttps://orca.xii.jp/debug/diary/diary.cgi?id=ys;date=20050330
RSS1.0https://orca.xii.jp/info/diary-ys.rdf
Comments

コメントはありません。

コメント投稿フォーム
文字色              
  • 名前を省略すると「名無しDebugger」になります。
  • メールアドレスの入力は任意です。
  • 海外からのコメントスパム対策のため、表示された漢字の読みを必ず入力してください。
  • 本文は必須項目です。投稿する場合は必ず記入してください。タグは使えません。
  • 改行が1つ入力された場合は強制改行として処理されますが、2つ以上連続する改行は段落の終了として処理されます。
  • 本文の行頭に「>」のある文は引用としてマークします。引用でない部分の冒頭に「>」は付けないでください。
  • コメントの削除は管理者若しくは日記執筆者しかできません。書き込む時は注意しましょう。
  • 全部記入が済んだら投稿ボタンを押す前に一度読み直して推敲しましょう。