記事カテゴリ

ユーザー機能


 2024年5月17日(金) 19:39 JST

[VB/VBA] 空配列のUBoundが-1にならない?

  • 記事を友だちにメール
  • 印刷用ページ
  • 投稿者:
  • 表示回数
    17,423
最近はずっと Microsoft の Excel でVBAプログラムを作成している。

VBA だろうと何だろうと保守性の低いプログラムを作りたくないので、機能単位でクラスモジュールにしているが、所詮 Excel なので、Book 間でソースが共有できない。
ここが、保守管理上一番の問題点かな?と感じている。
100個プログラムを作って、共通部分に仕様変更があれば、100回修正を行うかモジュール単位でインポートを行う必要がある。
一つのモジュール内に共通部分と独自部分が共存していれば、単にインポートすれば良い問題ではなくなる。しかし、VBA のクラスモジュールは継承が出来ないので、機能単位に分けたときに、それをさらに共通部分と独自部分に分けて、独自部分を継承で作るというわけに行かない。

今日、またクラスモジュールを作成し使おうとしたら、こける...
原因を調べてる内に問題が見つかった。先ほど書いたこける問題とは別の問題だったのだが、動的配列に対し UBound を行うとこけるケースがあった。
動的配列を作って最初はサイズを 0 にしていたのだが、サイズ 0 の配列に対し UBound を行うとエラーが発生する仕様らしい。どうにかして回避できる方法が無いか、調べていると以下のような回避方法を見つけた。

まず、以下のように宣言を行う。
Private Declare Function SafeArrayAllocDescriptor Lib "oleaut32" _
   (ByVal cDims As Long, _
    ByRef ppsaOut() As Any) As Long

実際に使用する前に、このAPI を適用します。関数内での使用であれば、宣言の直後にやっておくと良いかと思います。今回はクラスモジュールで使用したので、Clear と言うメソッドを作ってそこで使用しました。
以下のような感じになりました。
    Dim Hairetsu() As UserType
    SafeArrayAllocDescriptor 1, Hairetsu
すると、以降で空配列に対して行う UBound(Hairetsu) が -1 になりました。
でも、こける原因が実は別にあって、グローバルで宣言されていたのを使用していると思ったら、実はローカル関数内にも同じように定義していたので、それでアウトになっていたのでした。
しかし、ウォッチにコンパイル出来ませんと出すと何かまた別のエラーのように見えちゃいます...

しかし、もう二度と同じ手には引っかからないぞ!という意味を込めてここにメモしておきます。

進学塾って通うと頭良くなるの?

  • 記事を友だちにメール
  • 印刷用ページ
  • 投稿者:
  • 表示回数
    2,524
約1年ほどお世話になっている作業場がある。 そして、その作業場の最寄り駅の駅前に、とある進学塾がある。また、自宅から駅までの間にも進学塾がある。 そのどちらにも共通することが、こいつらって頭良いのか? という素朴な疑問だ... どうして、そのような疑問があるのかというと、通っている本人に疑問の種があるのではなく、その親に問題があるからだ。 どういう問題かというと、進学塾に通っている生徒の送迎を親が行っているのだが、塾の授業が終わる前に向かえに来るので、当然子供が出てくるのを待つことになる。 その待つ場所が問題で、交差点の真ん中であろうが対向車線に駐車があって、通常の車の通行の妨げになる様な場合でも、ちょっと遠慮しているようだが、基本的には自己の利益優先で駐車している。 このようなモラルの無い親の子供では、当然子供もモラルがないだろう。 親の背中を見て子は育つのだ! 進学塾に通わせる前に、自分の交通道徳みなおせー!というか、道路交通法勉強し直せば?

ドアがぼっこり...

  • 記事を友だちにメール
  • 印刷用ページ
  • 投稿者:
  • 表示回数
    2,226
今日、買い物に行って、C#の本がないかな~と見に行った しかし、良い本がなかったので、帰ろうと駐車場から車を出した... すると、後部座席の方から、『ぼこぼこ』、『キー』と言う二つの異音が聞こえてくる... ミラーで助手席側の壁とドアの隙間を確認すると、かなり開いている カートにぶつけてるわけでもなさそうだし...と思いつつ近くの駐車スペースに入れて降りてみると、 壁の保護のために壁を取り囲むようにして、ポール?が立っていててそれでひっかいたみたいだった... なんてこった...行きつけの車屋で修理費用を算出してもらうと、約19万円、そしてもうすぐ1年点検なので、併せて20万円... とってもいたい出費になってしまいました。 こんなことなら、今年も車両保険に入っておくべきだったのかな??? というか、壁際のポールはバックするときにはよく見えてるんだけど、帰るときにはもう見えてないから、 ポールは見えるように(窓の高さぐらいに)背を高めに作っておいてくれるとうれしい...

NEC VALUESTAR

  • 記事を友だちにメール
  • 印刷用ページ
  • 投稿者:
  • 表示回数
    2,440
最近、だんだんPCがほしくなってきた... 夏になるとあついので、熱量の少ないパソコンが...でもできるだけいいのがほしい... 最近、気になるのがNECのVALUESTARなのだが、Pentium より Athlon 派としては TX より TZ がほしい。 しかし、この TZ、TX に比べてかなり貧弱なのだ... これが、良く PCWatch で見るインテルの不当廉売と言うやつの結果なのだろうか? CPU は Athlon の中でも性能が低い Socket754 で 高性能型の Socket939 ではない。グラフィックのバスも AGP でPCI Express x16 ではない。他のバスも同様である。 まとめると、ぱっと見ただけでも以下の通り... CPU:性能が低い Socket754 バス:AGP、PCI HDD:Ultra ATA 約1-2年前の仕様ぽい この辺が改善されれば、実売\69,090(最廉価モデルで\90,090からクーポンで\21,000引き)なので、自分用にカスタムするべースとしても良いかも... とりあえず、121ware に改善要望だけ出しておいた。 冬パソあたりで高性能水冷PCにあったスペックになることを期待しよう!

既得権益

  • 記事を友だちにメール
  • 印刷用ページ
  • 投稿者:
  • 表示回数
    5,883
最近、良く目にするモノに既得権益なるモノがある。

くろねこが理解しているところでは既得権益というやつは、ある特定の人・団体に対し保証されている利益のことである。

最近小泉が盛んに叫んでいる郵政民営化とは?

そのメリットやデメリットは今ひとつ理解できていないが、それは政治家やメディアにも問題があるなと思う。物事にはメリットとデメリットが必ずあると思っているのだが、いつも政治にはそのメリットとデメリットがきちんと話し合われていない。ほとんどの場合、根拠が示されていないのだ!

既得権益として以前テレビで放送してたのが、
特定郵便局長というのは、公務員でありながら、その身分がほぼ世襲の様な形で子や孫に受け継がれる
ということ、理由は土地や建物が郵便局長私有物であるかららしい。そして郵便局としてのその土地・建物の使用料を国が支払っているらしい。
ある意味、すごく合理的にも受け取れる。昔は郵便局を建てるお金の負担が大きかっただろうから、とても合理的な発送だったのかもしれない。しかし、今はどこにでもコンビニなどのお店がある。そのお店に郵便局の機能があれば事足りるような気がして、それほど合理的には思えない。

あるサイトによると、特定郵便局長に支払われる金額の内訳として...
家賃として支払われる額、年間約500万円。
全国特定郵便局長の平均年収は約920万円。
ふむ...これだけもらえるならくろねこも、特定郵便局長になってみたい...
しかし、特定郵便局長の募集など知ってる人間でないと、目に付かないような方法で募集されているようだ。くろねこはかつて会社に努めていたときに、公務員になってみたいと郵便局の募集要項を手に入れたが、確か特定郵便局長の募集は記載されていなかった。

しかし、特定郵便局長の所には募集要項が回ってくるようだ。しかもその試験の合格率が極端に高くほとんど落ちないというような内容で報道されていたと思う。また、その試験問題も事前にわかるというような内容だったと記憶している。

こんな内容だと、特定郵便局長の抗議など既得権益を守るため以外の何者でもないように思うな。

話は変わるが他に既得権益といえば...
部落地域に住んでる人間にも既得権益は多そうだ...
過去に差別されたからという理由で、すごく安い家賃の物件に住んでるらしい。水道代などの公共料金、NHK受信料、国民年金保険料免除などの特権があるようだ...

さらに、既得権益でネットを検索してみるとこんなサイトを見つけた...
日本国内に住んでいる朝鮮人にこんな既得権益があったのか...日本人が苦労して稼いだお金の中から税金を納めているのに在日朝鮮人なんぞにもって行かれていたのか...さらに中国人にはODAとしてもって行かれる...これも既得権益?

ついでに、刑務所の囚人を養うのに必要な経費は一人あたり、20数万円/月に及ぶそうだ...犯罪者を守るために血税が...これも既得権益か...

最後にこれには反対しない人も多いかと思うが、軽自動車も既得権益だと思うのだが...
軽自動車の優遇税制は確か暫定税制のはずで、しかも期限は切れているはず...ここらで軽自動車の仕組みを廃して、自動車グリーン税制に一本化するのはどうだろう?

まあ郵政改革だけでなく既得権益を廃して、国民全員に公平で平等なシステム作りが行われるよう期待したいものだ。

サイトカレンダー

サイトカレンダーをスキップ

2024年 05月
«
»
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

新着情報

記事 新着(24時間)

-

コメント 新着(2日)

-

トラックバック 新着(2日)

-

リンク 新着(2週)

新しいリンクはありません

ファイル (14日)