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

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

قام بنشر (معدل)

السلام عليكم 

ارق تحياتى لجميع اعضاء الجروب المحترمين اللذين لا يبخلون بتقديم المساعدة . سائل الله عز وجل ان يجعل ذلك فى ميزان حسناتهم

1- اريد عمل زر نسخ  ( CommandButton19)  داخل UserForm8 يقوم ينسخ محتويات TextBox1 

2- اريد عمل زر لصق( CommandButton20)  داخل UserForm8 يقوم بلصق ما يتم نسخة ولصقة داخل  TextBox6

 

لقطة الشاشة 2024-08-13 212339.jpg

‏‏‏‏برنامج المعطل ver 20 2024.xlsm

تم تعديل بواسطه moodyfy2
قام بنشر

استاذ عبدالفتاح في بي اكسيل

تحياتى لحضرتك 

اقصد ان لو انا عامل نسخ لأي حاجة من خارج UserForm8   وعاوز اعملها لصق سريع فى TextBox6 عن طريق الضغط على CommandButton20 - زر past

وكذلك لو عاوز اعمل نسخ لمحتويات TextBox1 بواسطة ( CommandButton19)  زر copy علشان اعملها لصق لاي مكان تانى مش محدد داخل او خارج UserForm8 

  • أفضل إجابة
قام بنشر

يمكنك استعمال هذا الكود في النسخ

Private Sub CommandButton19_Click()
Dim clipboard As Object
Set clipboard = New MSForms.DataObject
clipboard.SetText TextBox1.Text
clipboard.PutInClipboard
End Sub

وهذا كود اللصق

Private Sub CommandButton20_Click()
Dim clipboard As Object
Set clipboard = New MSForms.DataObject
clipboard.GetFromClipboard
TextBox6.Text = clipboard.GetText
End Sub

تأكد من أنك قد أضفت مكتبة “Microsoft Forms 2.0 Object Library” إلى مشروعك لتتمكن من استخدام الكائن DataObject.

بالتوفيق

قام بنشر
13 ساعات مضت, أ / محمد صالح said:

أ / محمد صالح 

شكرا جزيلا لاهتمامك وجزاك الله خيرا  . لكن اخبرتى اين اقم بوضح الكود الخاص بالنسخ واللصق . هل فى CommandButton20  و  CommandButton19  ازرار النسخ واللصق .  لا افهم استاذى الفاضل المقصود ب تأكد من أنك قد أضفت مكتبة “Microsoft Forms 2.0 Object Library” إلى مشروعك لتتمكن من استخدام الكائن DataObject.

 

 

قام بنشر

بارك الله لك أخي الكريم

أولا أرسلت لك إجراء للنسخ وإجراء للصق يمكنك وضعه في زر النسخ واللصق كما تريد (طبعا بدون السطر الأول والأخير الخاصين باسم الإجراء ونهايته؛ لأنه إجراء الزر له بداية ونهاية خاصة به).

ثانيا يمكنك التأكد من إضافة مكتبة النماذج من قائمة tools  ثم references ثم تبحث عن هذا الاسم وتضع علامة صح بجانبه

تم تعديل الكود السابق على الأزرار الخاصة بك

بالتوفيق

قام بنشر

وعليكم السلام ورحمة الله تعالى وبركاته 

يمكنك استخدام شيئ كهدا 

Private Sub CommandButton19_Click()
'TEXTBOX1'نسخ  الى الحافظة
    Dim objCpt As New MSForms.DataObject
    Dim textToCopy As String
  If TextBox1.Text = "" Then
        MsgBox "لا يوجد محتوى للنسخ. الرجاء إدخال نص أو رقم أولاً.", 64
    Else
    ' الحصول على النص من TextBox1
    textToCopy = TextBox1.Text
    ' وضع النص في الحافظة
    objCpt.SetText textToCopy
    objCpt.PutInClipboard
'    MsgBox "تم نسخ النص إلى الحافظة.", vbInformation
      End If
End Sub
'**************************
Private Sub CommandButton20_Click()
    Dim objCpt As New MSForms.DataObject
    Dim textToCopy As String
    
    ' الحصول على نص الحافظة
    On Error Resume Next
    objCpt.GetFromClipboard
    textToCopy = objCpt.GetText
    On Error GoTo 0

    ' التحقق مما إذا كانت TextBox1 فارغة
    If Me.TextBox1.Text = "" Then
        MsgBox "TextBox1 فارغ. لا يمكن إجراء العملية.", vbExclamation
    ' التحقق مما إذا كانت الحافظة فارغة
    ElseIf textToCopy = "" Then
        MsgBox "الحافظة فارغة. يرجى نسخ نص إلى الحافظة أولاً.", vbExclamation
    Else
        ' لصق نص الحافظة إلى TextBox6
        Me.TextBox6.Text = textToCopy
        
'        MsgBox "تم لصق النص من الحافظة إلى TextBox6.", vbInformation
    End If
End Sub

  ولنسخ البيانات من خارج اليوزرفورم او العكس 

 

Private Sub CommandButton2_Click()
'TEXTBOX 1 ' لصق  في الخلية النشطة
    If Me.TextBox1.Text = "" Then
        MsgBox "لا يوجد محتوى للنسخ. الرجاء إدخال نص أو رقم أولاً.", 64
        Exit Sub
    End If
    ' التحقق من وجود خلية نشطة
    If activeCell Is Nothing Then
        MsgBox "لا توجد خلية نشطة. يرجى تحديد خلية أولاً.", 64
        Exit Sub
    End If
    
    ' لصق النص من TextBox1 في الخلية النشطة
    activeCell.Value = Me.TextBox1.Value
    
    MsgBox "تم لصق النص في الخلية النشطة.", vbInformation
End Sub
'*****************
Private Sub CommandButton3_Click()
'TEXTBOX 6 ' لصق  في الخلية النشطة
    If Me.TextBox6.Text = "" Then
        MsgBox "لا يوجد محتوى للنسخ. الرجاء إدخال نص أو رقم أولاً.", 64
        Exit Sub
    End If
    ' التحقق من وجود خلية نشطة
    If activeCell Is Nothing Then
        MsgBox "لا توجد خلية نشطة. يرجى تحديد خلية أولاً.", 64
        Exit Sub
    End If
    
    ' لصق النص من TextBox6 في الخلية النشطة
    activeCell.Value = Me.TextBox6.Value
    
    MsgBox "تم لصق النص في الخلية النشطة.", vbInformation
End Sub
'****************
Private Sub CommandButton21_Click()
'TEXTBOX 1'نسخ ولصق  من الخلية النشطة
    ' التحقق من وجود خلية نشطة
    If activeCell Is Nothing Then
        MsgBox "لا توجد خلية نشطة. يرجى تحديد خلية أولاً.", 64
        Exit Sub
    End If
    ' التحقق من كون الخلية النشطة فارغة
    If IsEmpty(activeCell.Value) Then
        MsgBox "الخلية النشطة فارغة. يرجى تحديد خلية تحتوي على بيانات.", 64
        Exit Sub
    End If
    ' نقل النص من الخلية النشطة إلى TextBox6
    Me.TextBox1.Value = activeCell.Value
        
        MsgBox "TextBox1" & " " & "تم نقل قيمة الخلية النشطة إلى", vbInformation
End Sub
'*************
Private Sub CommandButton5_Click()
'TEXTBOX 6'لصق  في الخلية النشطة
    ' التحقق من وجود خلية نشطة
    If activeCell Is Nothing Then
        MsgBox "لا توجد خلية نشطة. يرجى تحديد خلية أولاً.", 64
        Exit Sub
    End If
    ' التحقق من كون الخلية النشطة فارغة
    If IsEmpty(activeCell.Value) Then
        MsgBox "الخلية النشطة فارغة. يرجى تحديد خلية تحتوي على بيانات.", 64
        Exit Sub
    End If
    ' نقل النص من الخلية النشطة إلى TextBox6
    Me.TextBox6.Value = activeCell.Value
        
        MsgBox "TextBox6" & " " & "تم نقل قيمة الخلية النشطة إلى", vbInformation
End Sub

 بما ان ملفك يتضمن عدة اخطاء يجب اصلاحها حاولت فقط وضع الاكواد   على Private Sub CommandButton19_Click و Private Sub CommandButton20_Click

اليك ملفك مع ملف تم انشاءه لتطبيق عليه بعض الأمثلة يمكنك اختيار ما يناسبك 

Capture.PNG.3540e424cf02e880f21eb638c4e55088.PNG

 

 

مثال للتجربة.rar

  • Like 2
قام بنشر

اخى الكريم محمد هشام.

شكرا جزيلا لمجهودكم العظيم ولاهتمامك وهذا يدل على شخصكم الكريم جعله الله فى ميزان حسناتكم 

جارى التجرية والافادة

قام بنشر

 استاذ محمد هشام انا كتبت كود اللصق ده ونجح لانى عاوز الصق اي حاجة خارج الاكسل او داخلة فى TEXTBOX 6

Private Sub CommandButton31_Click()

 Dim objCpt As New MSForms.DataObject
    Dim textToCopy As String
    
    ' الحصول على نص الحافظة
    On Error Resume Next
    objCpt.GetFromClipboard
    textToCopy = objCpt.GetText
    On Error GoTo 0

    ' التحقق مما إذا كانت TextBox1 فارغة
  
        ' لصق نص الحافظة إلى TextBox6
        Me.TextBox6.Text = textToCopy
        
'        MsgBox "تم لصق النص من الحافظة إلى TextBox6.", vbInformation
  

  End Sub
 

قام بنشر (معدل)

استاذ محمد هشام انا عاوز كود النسخ 

   اقدر انسخ محتوى TEXTBOX 6 والصقة فى اي مكان داخل الفورم  او خارجة او اي  برنامج خارجية 

زي ما اكون حددت محتواه واخدته نسخ CTRL C 

لانى جربت واعطانى رموز مربعات 

وبعتذر للكتابة بالتفصيل

انا جربت كود زى ده واعطانى  رموز

Private Sub CommandButton30_Click()
 
   Dim clipboard As Object
Set clipboard = New MSForms.DataObject
clipboard.SetText TextBox6.Text
clipboard.PutInClipboard
  
    
End Sub

4.jpg

تم تعديل بواسطه moodyfy2
للتوضيح
قام بنشر (معدل)

للأسف، في VBA و MSForms.DataObject، لا يمكنك تنفيذ اللصق مباشرة في واجهة التطبيقات الخارجية مثل محرك جوجل أو أي تطبيق آخر من خلال كود VBA فقط. لكن، يمكنك استخدام SendKeys لمحاكاة ضغطات لوحة المفاتيح، وهي طريقة غير مضمونة تمامًا 

جرب هدا

Private Sub CommandButton1_Click()
'SendKeys لمحاكاة الضغط على Ctrl + V (للصق)

    Dim objCpt As New MSForms.DataObject
    Dim textToCopy As String

    ' التحقق مما إذا كان هناك نص في TextBox1
    If TextBox1.Text = "" Then
        MsgBox "لا يوجد محتوى للنسخ. الرجاء إدخال نص أو رقم أولاً.", vbExclamation
    Else
        ' الحصول على النص من TextBox1
        textToCopy = TextBox1.Text
        ' وضع النص في الحافظة
        objCpt.SetText textToCopy
        objCpt.PutInClipboard

        ' تأكيد النسخ
        MsgBox "تم نسخ النص إلى الحافظة.", vbInformation

        ' تأخير بسيط للتأكد من أن النص تم نسخه بنجاح
        Application.Wait (Now + TimeValue("0:00:01"))

        ' محاكاة ضغطات لوحة المفاتيح للصق النص
        SendKeys "^v"
    End If
End Sub

إذا كنت تحتاج إلى مميزات تتطلب تفاعلًا مع واجهات أكثر تعقيدًا، فقد تحتاج إلى استخدام أدوات خارجية أو لغات برمجة أخرى توفر إمكانيات أكثر تقدمًا مثل AutoIt أو AutoHotkey.

بالتوفيق 

تم تعديل بواسطه محمد هشام.
قام بنشر

استاذ . محمد هشام.

بعتذر لحضرتك وشاكر لمجودك العظيم

انا كود اللصق شغال مفيش فيه مشكلة حتى من النسخ من الخارج

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

النسخ اللى فى مثال التجريبى شغال معايا  بينسخ  محتوى textbox الى خلية نشطة 

انا عاوز اعمل نسخ ل text box والصقة  فى اي مكان

شاكر لحضرتك واسف اخير للاطالة 

فيديو.7z

قام بنشر

إذن أعد قراءة ما تم نشره في آخر مشاركة لتفهم 

للأسف، في VBA و MSForms.DataObject،

لا يمكنك تنفيذ اللصق مباشرة في واجهة التطبيقات الخارجية مثل محرك جوجل أو أي تطبيق آخر من خلال كود VBA

 إذا كنت تحتاج إلى مميزات تتطلب تفاعلًا مع واجهات أكثر تعقيدًا، فقد تحتاج إلى استخدام أدوات خارجية أو لغات برمجة أخرى توفر إمكانيات أكثر تقدمًا مثل AutoIt أو AutoHotkey.

  • Like 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