tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル ラジオボタンやチェックボックスの返す値(?)について
投稿日: 2010/10/05(Tue) 01:58
投稿者Seira
初めまして。Seiraと申します。
VBに関しては参考書なしではコードが書けない程度の能力です。
パソコンのOSはWinXP、Microsoft Visual Basic 2005 Express Editionを使っています。


今、ラジオボタンやチェックボックスで質問に回答し、「入力完了」のボタンを押すと結果をエクセルに出力するプログラムを作っています。

・ラジオボタンはグループボックスでまとめてあり、RadioButton1を選択したら「1」を、RadioButton2を選択したら「2」を、選択しなかった場合は「0」を返す、といった感じです。
・チェックボックスは、チェックを入れた場合は「1」を、チェックを入れなかった場合は「2」を返す
・ラジオボタンの質問とチェックボックスの質問はタブで分けてある
・入力完了ボタンを押すと「保存されました。」と出るが、プログラムは終了しない。入力内容を変えて再度ボタンを押せば、前のデータの下の行に保存できる

以上を踏まえて自分なりにプログラムを組んでみたのですが、選択したラジオボタンやチェックボックスに関わらず「0」が出力されてしまいます。
(出力されたファイルを見ると、返すべき値の数だけ0がエクセルのA列にひたすら出力されます・・・。)


以下ソースです。
長くなってしまうので、ラジオボタンの質問は2択が1問、チェックボックスの質問も2問にしてあります。


Public Class Form1

'ラジオボタン
Dim GB1 As Integer

Private Sub GroupBox1_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GroupBox1.Enter
If RadioButton1.Checked = True Then
          GB1 = 1
          ElseIf RadioButton2.Checked = True Then
          GB1 = 2
          Else
          GB1 = 0
End If
End Sub


'チェックボックス
Dim CB1,CB2 As Integer

Private Sub GroupBox2_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GroupBox2.Enter
If CheckBox1.Checked = True Then
          CB1 = 1
          Else
          CB1 = 0
End If
If CheckBox2.Checked = True Then
          CB2 = 1
          Else
          CB2 = 0
End If
End Sub


'出力
Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim filename As String = "Testing.csv"
Dim fileNo As Integer = FreeFile()

'ファイルを開く
FileOpen(fileNo, filename, OpenMode.Append)

'出力部
PrintLine(fileNo, GB1)
PrintLine(fileNo, CB1)
PrintLine(fileNo, CB2)

'ファイルを閉じる
FileClose(fileNo)
MessageBox.Show("保存されました。", "通知")

End Sub

End Class


(ここまで)


また、これで実行すると
0
0
0
と、毎回改行されてしまうのですが、これを
0 0 0
と改列(?)することはできないでしょうか?



すみませんが、よろしくお願いします。
長文失礼致しました。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。