' 단순 붙여넣기 이벤트의 여부만을 표시할 수 있도록 작성하였습니다.
' It is just expression for copy and paste event occurrence.
' 복사한 데이터를 스프레드에 블럭을 씌워 붙여넣기 할 때만 소스가 구동됩니다.
' It is only working in block selected copy or block selected paste.
' Paste 이벤트 발생 시 fpSpread에 Edit event 의 여부를 판단할 수 있는
' 구분값을 넣어 저장될 수 있도록 하였습니다.
' When paste event occur, It'll be present separator in spread.
' For edit event to determine whether.
' 참고해서 사용하시기 바랍니다.
' Reference and use.
' Module Parameters
Dim mLoc(3) As Long '스프래드 선택 위치
Dim mLocTxt As String '스프래드 선택 위치
Private Sub fpSpread_BlockSelected(ByVal BlockCol As Long, ByVal BlockRow As Long, ByVal BlockCol2 As Long, ByVal BlockRow2 As Long)
mLoc(0) = BlockCol
mLoc(1) = BlockRow
mLoc(2) = BlockCol2
mLoc(3) = BlockRow2
End Sub
Private Sub fpSpread_KeyDown(KeyCode As Integer, Shift As Integer)
'복사 이벤트 (copy event)
If KeyCode = vbKeyC And ((Shift And vbCtrlMask) > 0) Then
With fpSpread
.Col = .ActiveCol
.Row = .ActiveRow
mLocTxt = Trim(.Text)
End With
End If
'붙여넣기 이벤트 (paste event)
If KeyCode = vbKeyV And ((Shift And vbCtrlMask) > 0) Then
Dim N As Integer
With fpSpread
If .IsBlockSelected Then
'==================
.BlockMode = True
.Col = mLoc(0)
.Row = mLoc(1)
.col2 = mLoc(2)
.Row2 = mLoc(3)
.Text = mLocTxt
.BlockMode = False
'==================
.Col = 17
For N = mLoc(1) To mLoc(3)
.Row = N
If Trim(.Text) = "0" Then .Text = "2"
'0 Nomal, 2 Edit Event
Next
'==================
End If
End With
End If
End Sub
'프로그램ing > VB' 카테고리의 다른 글
[VB] VB에서 엑셀파일 쓰기(윤곽선, 정렬, 폰트, 사이즈) (0) | 2018.12.17 |
---|---|
[VB] fpspread / 스프레드에 데이터 입력 시 Cell 초기화 된 뒤 입력 (0) | 2018.12.17 |
[VB] Form_KeyDown 속성 적용 방법 (0) | 2018.12.17 |
[VB] fpSpread 가운데 정렬 (1) | 2018.12.17 |
[VB6.0] Msgbox 사용방법 (3) | 2018.01.22 |
댓글