SPREADのチェックボックス型列について
- 題名: SPREADのチェックボックス型列について
- 著者: こう
- 日時: 2005/03/21 15:19:55
- ID: 9950
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: SPREADのチェックボックス型列について
- 著者: こう
- 日時: 2005/03/23 13:13:42
- ID: 10018
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: SPREADのチェックボックス型列について
- 著者: 壱丸3
- 日時: 2005/03/23 14:24:42
- ID: 10021
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: SPREADのチェックボックス型列について
- 著者: こう
- 日時: 2005/03/23 15:15:21
- ID: 10022
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: SPREADのチェックボックス型列について
- 著者: 壱丸3
- 日時: 2005/03/23 16:16:17
- ID: 10024
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[5]: SPREADのチェックボックス型列について
- 著者: こう
- 日時: 2005/03/23 17:42:10
- ID: 10027
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[6]: SPREADのチェックボックス型列について
- 著者: 壱丸3
- 日時: 2005/03/23 19:07:50
- ID: 10030
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[7]: SPREADのチェックボックス型列について
- 著者: こう
- 日時: 2005/03/24 22:13:56
- ID: 10078
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[8]: SPREADのチェックボックス型列について
- 著者: 壱丸3
- 日時: 2005/03/24 23:42:21
- ID: 10080
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
いつもおせわになります。 こうです。
今回質問したい事はスプレッドシートのチェックボックスの機能
なのですがよろしいでしょうか
実現したい内容
チェックボックスでチェックされているものの行数をチェック
ボックスが変更された時点で取得したい。
オンラインヘルプの方で調べて下記コーディングを行ったのですが
Private Sub spd_Kokyaku_EditModeOn(ByVal sender As Object, ByVal e As System.EventArgs) Handles spd_Kokyaku.EditModeOn
'Dim chkcell As FpCheckBox
Dim iRow As Integer = Insatusyori.spd_Kokyaku.ActiveSheet.ActiveRowIndex
Dim iCol As Integer = Insatusyori.spd_Kokyaku.ActiveSheet.ActiveColumnIndex
If TypeOf (Insatusyori.spd_Kokyaku.ActiveSheet.GetCellType(iRow, iCol)) Is CheckBoxCellType Then
chkcell = CType(Insatusyori.spd_Kokyaku.EditingControl, FpCheckBox)
'イベントハンドラ関連付け
AddHandler chkcell.CheckChanged, AddressOf chkcell_CheckChanged
End If
End Sub
Private Sub chkcell_CheckChanged(ByVal sender As Object, ByVal e As System.EventArgs)
Dim i As Integer
Dim j As Integer
'j = 0
If chkcell.Checked = True Then
j = 0
For i = 0 To Insatusyori.spd_Kokyaku.Sheets(0).RowCount - 1
If Insatusyori.spd_Kokyaku.Sheets(0).GetValue(i, 0) = True Then
j = j + 1
End If
Next
Insatusyori.lbl_Out.Text = j + 1
Else
j = 0
For i = 0 To Insatusyori.spd_Kokyaku.Sheets(0).RowCount - 1
If Insatusyori.spd_Kokyaku.Sheets(0).GetValue(i, 0) = True Then
j = j + 1
End If
Next
If j = 0 Then
Insatusyori.lbl_Out.Text = 0
Else
Insatusyori.lbl_Out.Text = j - 1
End If
End If
End Sub
Private Sub spd_Kokyaku_EditModeOff(ByVal sender As Object, ByVal e As System.EventArgs) Handles spd_Kokyaku.EditModeOff
'Dim chkcell As FpCheckBox
Dim iRow As Integer = Insatusyori.spd_Kokyaku.ActiveSheet.ActiveRowIndex
Dim iCol As Integer = Insatusyori.spd_Kokyaku.ActiveSheet.ActiveColumnIndex
If TypeOf (Insatusyori.spd_Kokyaku.ActiveSheet.GetCellType(iRow, iCol)) Is CheckBoxCellType Then
chkcell = CType(Insatusyori.spd_Kokyaku.EditingControl, FpCheckBox)
'イベントハンドラ関連付け解除
RemoveHandler chkcell.CheckChanged, AddressOf chkcell_CheckChanged
End If
End Sub
なぜか数があわない場合があります。原因のわかる方がおられましたら
よろしくお願いします。 あと他の方法でも良いので実現方法がわかれば
お願いします。