投稿者 るきお  (社会人) 投稿日時 2009/8/11 05:42:14
今VB6が手元にないので確認はしていませんが、
こうです。

Private Sub cmd_no_Click()
    Dim aa As String
    aa = "00"
    comb1.Text = aa
End Sub


画面上に文字を表示する場合、どのような手段であれそれは文字列型になります。
一方、かんたさんのコードでは aa = 00 となっており、これは以下の2つの理由で数値と解釈されます。
1." がついていない
2.aaがIntegerで宣言されている。
※このどちらか片方の理由だけで数値になります。これを解消したのが上述の私の例です。

数値の場合 00 と 0 は同じ意味です。むしろ 0 のほうが自然です。
ですので、これを画面に表示しようとするときに文字列への変換が自動的に行われるのですが、VBは"0"へと変換します。そのため表示は "0" になります。

IntegerやLongなどの数値型は先頭の0はすべて無視します。
数学的にはこの方がすっきりして理にかなっています。

0001 → 1
02 → 2
000 → 0

なので、繰り返しになりますが、
aa = 00
とすると aa は 0 になります。
00と指定したのだから、文字列にするときに気を利かせて "00" にするという考え方もないことはないかもしれませんが、そのようなプログラム言語は聞いたことがありません。
一度 aa に値がセットされると、後になってセットするときにどのような指定がされたのかということはコンピューターにはわからなくなります。

こんなところでいかがでしょうか?