投稿者 るしぇ  (社会人) 投稿日時 2009/12/24 19:30:07
>VBから脱皮できない者 
VB6じゃ無かったんですか。。。???

>ソフト専業や趣味以外で、つまり手段としてソフト作るような場合は、
>DotNetは疑問ですね。精力を取られすぎる過ぎるから。
それだけで済むなら、誰も新しいものなんか作らないわけです。
新しいOSも新しいパソコンも新しいソフトも出ない世界は、それは
もう楽しくないと思います。
新しいものが出れば、それに対応した新しい機能が必要で、逆に
対応してない古いもので対応する方が、精力を取られるようになって
きますけどね。。。

まぁ、VB6とVBAは同期が取れてて優秀ですし、VBに限らずスクリプトは
お手軽ですので知って損なモノでは無いです。ただ、質問者さんはVB6を
それなりに知ってるようですが、VBSはどうか分からないですよね。
そしたら、結局同じことなんですよ。自分の知っていることで完結
できるならそれは楽ですけど、新しいものはどんどん生まれていって
ますし、古いものでもじゃあ全部知っているのか?となったら知らなかった
機能に日々出会うわけですよ。どんな目的であっても無視できないと
思いますけどね。

>For Me.i = 1 To 20 
>  DirectCast(Me.Controls.Item("PictureBox" & i), PictureBox).Image = ABC.Image
>Next
まぁ、別に何でもいいんだけど、この方法は毎回コントロールを検索しないと
いけないから、プログラムの効率としては少し評価が下がります。
(パソコンの性能が良すぎるので普通に使ってる分には問題になりませんが)
コントロールの配列を作る方法は、VB6でも同じコード書けるし分かり易いですし、
検索せずにコントロールにアクセスできるから、実は優秀だったりします。

>いまいち、わからない部分もあるのですが、少しずつ歩いていきます。
VB6でも以下のコードは有効なのです。。。
DirectCast はヘルプの解説そのままですし。。。
    Dim cControl As Control
    Set cControl = Me.Controls("Picture1")


。。。DotNetになってもあんま変わってない話題なんですが。