abofayez1 قام بنشر يناير 20 قام بنشر يناير 20 السلام عليكم ورحمة الله كما في العنوان أريد كود يقوم بإفراغ الحافظة بحيث مثلا لو قمت بعملية نسخ ولصق في البرنامج أريد إفراغ الحافظة بحيث لا يمكن اللصق مرة ثانية ، وجزاكم الله خيرا
Foksh قام بنشر يناير 20 قام بنشر يناير 20 (معدل) وعليكم السلام ورحمة الله وبركاته.. في مديول جديد ، الصق الكود التالي :- Private Declare PtrSafe Function OpenClipboard Lib "user32" (ByVal hwnd As LongPtr) As Long Private Declare PtrSafe Function EmptyClipboard Lib "user32" () As Long Private Declare PtrSafe Function CloseClipboard Lib "user32" () As Long Sub ClearClipboard() If OpenClipboard(0) Then EmptyClipboard CloseClipboard End If End Sub ويتم الاستدعاء باسم الصب ClearClipboard تم تعديل يناير 20 بواسطه Foksh حذف الدالة بالاقتراح الثاني = لا تعمل بعد التجربة 1 1
تمت الإجابة ناقل قام بنشر يناير 20 تمت الإجابة قام بنشر يناير 20 مشاركة Sub ClearClipboardAndFreeMemory() ' تحرير محتوى الحافظة On Error Resume Next Dim DataObject As Object Set DataObject = CreateObject("MSForms.DataObject") DataObject.SetText "" DataObject.PutInClipboard Set DataObject = Nothing On Error GoTo 0 ' تحرير الذاكرة DoEvents Application.Echo True, "Memory cleared" End Sub 1 1
Foksh قام بنشر يناير 20 قام بنشر يناير 20 أعتذر من الأستاذ @ناقل ، ولكن الأخ العزيز @abofayez1 ، هل قمت بتجربة الكود الذي اخترته كأفضل إجابة ؟؟؟ هل لديك المكتبة أو قمت بإضافتها Microsoft Forms 2.0 Object Library (MSForms) ؟؟؟؟؟ 1
abofayez1 قام بنشر يناير 22 الكاتب قام بنشر يناير 22 حياك الله أخي Foksh للأمانة جربت الكود الأول وحاولت فيه ولم يعمل معي ثم سافرت وفتحت المنتدى من الجوال ولقيت رد جديد فقلت ربما يكون صحيح. وللأن ما جربته
Foksh قام بنشر يناير 22 قام بنشر يناير 22 1 ساعه مضت, abofayez1 said: للأمانة جربت الكود الأول وحاولت فيه ولم يعمل معي 1
abofayez1 قام بنشر يناير 22 الكاتب قام بنشر يناير 22 بيض الله وجهك .... فعلا عملت قاعدة جديدة فارغة وطبقت الخطوات وعمل بشكل سليم ما رأيك بهذا وجدته في أحد المنتديات الاجنبية ويقوم بنفس العمل With CreateObject("htmlfile") .parentWindow.clipboardData.clearData ("Text") End With 1
Moosak قام بنشر يناير 23 قام بنشر يناير 23 للإثراء ،،، من مكتبتي العامرة 😊 3 أكواد لـ ( نسخ - لصق - تفريغ الذاكرة ) شرح الكود: ضع الكود كاملا في موديول ثم استخدمه في البرنامج كما هو واضح في الأسفل .. الكود: '==================================================(Copy) Public Function CopyText(ByVal Text As Variant) As Boolean CopyText = CreateObject("htmlfile").ParentWindow.ClipboardData.SetData("Text", Text) End Function '==================================================(Paste) Public Function PasteText() As String On Error Resume Next PasteText = CreateObject("htmlfile").ParentWindow.ClipboardData.getData("Text") End Function '==================================================(Clear The ClipBoard) Public Function ClearClipBoardText() As Boolean ClearClipBoardText = CreateObject("htmlfile").ParentWindow.ClipboardData.clearData("Text") End Function طريقة الاستدعاء (الاستخدام): CopyText(Text) <------ للنسخ PasteText() <------ للصق ClearClipBoardText() <------ تفريغ الذاكرة مرجع: #https://www.mrexcel.com/board/threads/vba-post-to-clipboard.1142841/# مكتبة الأكواد 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.