2012-09-21 2 views
6

Potrzebuję wykryć polecenie wklejenia programu excel. Czy jest jakaś praca, która może nam powiedzieć, kiedy użytkownik kliknie wklej w menu wyskakującym od lewego kliknięcia przycisku. To jest wymagane, aby wykonać procedurę, jeśli użytkownik kliknie element menu Wklej. Każda pomoc będzie doceniona.jak wykryć wklejanie się zdarzenia w programie excel

Pozdrawiam, Amit

+2

zobacz na jak pułapka żadnego http pasta zdarzeń: //www.siddharthrout.com/2011/08/15/vba-excelallow-paste-special-only/ –

+0

@SiddharthRout podany link daje teraz komunikat "Brak wyników". Czy możesz nam pomóc w zaktualizowaniu linku? – RBT

Odpowiedz

10

zewnętrznego z Excel VBA How to detect if something was pasted in a Worksheet. Zdarzenie Workbook_SheetChange zostanie uruchomione w przypadku zdarzenia zmiany na stronie, w tym wklejenia.

Od wewnątrz tego wydarzenia, można następnie sprawdzić, czy ostatnia zmiana była pasta patrząc na najnowszym wpisie do Undo History listy:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) 
    Dim lastAction As String 

    ' Get the last action performed by user 
    lastAction = Application.CommandBars("Standard").Controls("&Undo").List(1) 

    ' Check if the last action was a paste 
    If Left(lastAction, 5) = "Paste" Then 

    ' Do Stuff Here 

    End If 
End Sub