■
Excelなんて作るの簡単だぜ URYAAAA!!と言ってみるテスト。未だに VB6 って現場でもよく使われているもので、最近は Win32 にどっぷりつかっていたのだが、作ってみた
「 Excelを作りたいんですがどうしたらいいですかー? 」
と言われたので…
VB6 で Excel 作ると言ったら MSFlexGrid しか思いつかなかった(実際はスプレッドシートコントロール等もあるが有料)ので使ってみた
だって Excel 作りたいなんて普通言うか?新人が。ゲーム作りたいとかならわかるケド。てことで作ってみた
かけた時間は約10分(ぉ
使った事無くてもね、F1キーとある程度アルゴリズムと VB の書式が頭に入ってればそれくらい簡単に書けます。実際にはこれは Grid に入力出来るようにセッティングしただけだけど、10分では出来ない 普通の人は。
ぶっちゃけ時間関係は id:yaneuraoさんの10分で作るソケットプログラムに VB6 で対抗したかっただけ。だって VB6 じゃ逆立ちしても出来るとは思わんって書いてあったんだもの。ソケットを書くとなると、また別だろうけど可能なはず。今回はたまたま Excel 作りたいと言うから作っただけです。現在趣味でだが、それなりのものは作ったヨ(画像参照)
'プライベート変数の定義 Private blnLoadFlg As Boolean 'スプレッドへの初期値設定時にGRIDのENTERイベントを無視するために使用 Private Sub Form_Activate() Text1.SetFocus End Sub Private Sub Form_Load() blnLoadFlg = True Call GridTextSet(Text1, MSFlexGrid1) Dim i As Integer 'グリッドへ書き込み(1〜20まで) With MSFlexGrid1 For i = 0 To 19 .TextMatrix(0, i) = CStr(i) + 1 Next i End With 'ダミーロジック START Dim i As Integer With MSFlexGrid1 For i = 0 To 10 If i <> 0 Then .Row = .Row + 1 .Text = CStr(i) Next i End With 'ダミーロジック END blnLoadFlg = False End Sub Private Sub Text1_GotFocus() Text1.Text = MSFlexGrid1.Text End Sub Private Sub Text1_Change() 'キーイベント MSFlexGrid1.Text = Text1.Text End Sub Private Sub MSFlexGrid1_EnterCell() If blnLoadFlg = True Then Exit Sub Call GridTextSet(Text1, MSFlexGrid1) Text1.SetFocus End Sub Private Sub MSFlexGrid1_GotFocus() 'キーイベント後にFocusにする事で入力バッファが消えたように見せる Call GridTextSet(Text1, MSFlexGrid1) Text1.SetFocus End Sub Private Sub GridTextSet(objText As Object, objGrid As Object) 'textbox の幅や高さをセルにセット objText.Height = objGrid.CellHeight objText.Left = CLng(objGrid.Left) + CLng(objGrid.CellLeft) objText.Top = CLng(objGrid.Top) + CLng(objGrid.CellTop) objText.Width = objGrid.CellWidth End Sub
CLng を CInt にするヤツはボケ(誰かさん風)