본문 바로가기
프로그램ing/VB

[VB] fpSpread copy and paste event

by 철밥통 2018. 12. 17.
반응형

'  단순 붙여넣기 이벤트의 여부만을 표시할 수 있도록 작성하였습니다.

'  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

반응형

댓글