اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

الردود الموصى بها

قام بنشر

السلام عليكم

كما تعلمون لا يوجد في الاكسيل حدث مرتبط بالنسخ أو القص ... هدا كود يملأ دالك الفراغ

أضف الكود التالي الى ال   ThisWorkbook Module :

تنبيه : لكي يبدأ الكود في الاشتغال يجب أولا تنفيد الكود الموجود داخل ال Private Sub Workbook_Open() أو غلق الملف ثم اعادة فتحه

Option Explicit
Private WithEvents Cmbrs As CommandBars

#If VBA7 Then
    Private Declare PtrSafe Function GetClipboardSequenceNumber Lib "user32" () As Long
#Else
       Private Declare Function GetClipboardSequenceNumber Lib "user32" () As Long
#End If


Private Sub Workbook_Open()
    Set Cmbrs = Application.CommandBars
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Set Cmbrs = Nothing
End Sub

Private Sub Cmbrs_OnUpdate()
    Dim bCancel As Boolean
    Dim sClipData As String
    Static lSequenceNumber As Long
    
    On Error Resume Next
    With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
        If lSequenceNumber = GetClipboardSequenceNumber Then Exit Sub
        lSequenceNumber = GetClipboardSequenceNumber
        .GetFromClipboard
         sClipData = .GetText
        sClipData = Left(sClipData, Len(sClipData) - 2)
        Select Case True
            Case Application.CutCopyMode = xlCopy
                Call Workbook_CellCopy(Selection, sClipData, bCancel)
            Case Application.CutCopyMode = xlCut
                Call Workbook_CellCut(Selection, sClipData, bCancel)
        End Select
    End With
    If bCancel Then Application.CutCopyMode = False
End Sub

'pseudoevents :
'============
Private Sub Workbook_CellCopy(ByVal Target As Range, ByVal ClipboardData As String, ByRef Cancel As Boolean)
    If MsgBox("You are about to copy the following text to the clipboard:" & vbCr & _
    vbCr & "'" & ClipboardData & "' " & vbCr & vbCr & "Go ahead ?", vbYesNo + vbQuestion, "Officena") = vbNo Then
        Cancel = True
    End If
End Sub

Private Sub Workbook_CellCut(ByVal Target As Range, ByVal ClipboardData As String, ByRef Cancel As Boolean)
    If MsgBox("You are about to cut the following Range to the clipboard:" & vbCr & _
    vbCr & "'" & Target.Address(external:=True) & "' " & vbCr & vbCr & "Go ahead ?", vbYesNo + vbQuestion, "Officena") = vbNo Then
        Cancel = True
    End If
End Sub

 

  • Like 2
قام بنشر

أخي الحبيب جعفر

قمت بتجربة الكود ووضعته في حدث المصنف كما وضحت وحفظت الملف ثم أغلقته ..

قمت بعمل نسخ ولصق مرة ، ثم قمت بعمل قص ولصق مرة .. ولم يحدث أي شيء !!

من المفترض أن أحصل على رسالة تفيد أنني على وشك القيام بنسخ أو لصق ..أليس كذلك؟

 

النسخة لدي أوفيس 2007 32 بت

تقبل تحياتي

قام بنشر

السلام عليكم

جزاك الله خيرا أستاذى العزيز جعفر

أستاذى العزيز ياسر قمت بتجربة الكود  واشتغل معى   اوفيس 2010

Cut Copy PseudoEvent by jaafar .rar

  • Thanks 1
قام بنشر

بارك الله فيك أخي الغالي مختار

يبدو أن المشكلة كانت عندي في الويندوز ..قمت بإعادة التشغيل للجهاز واشتغل الكود بشكل ممتاز

بارك الله فيك أخي المتميز جعفر على ما تقدمه من كل جديد ومفيد في عالم الإكسيل

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information