کپی در کلیپ بورد با VBA در اکسل (حافظه موقت clipboard)
در این آموزش سعی داریم کپی در حافظه موقت با VBA یا همان کلیپ بورد را آموزش دهیم و همچنین حذف کردن محتویات کلیب بورد رو با هم بررسی کنیم. معمولا زمانی به این دستور نیاز پیدا می کنیم که رشته های متنی خود را از الگوریتم مورد نظر استخراج کرده و حالا می خواهیم آن را به نرم افزار ورد یا هر ویرایشگر دیگر به سادگی کپی و پست انتقال دهیم.
افزودن کتابخانه Microsoft Forms 2.0 Object Library
در مرحله اول شما باید کتابخانه Microsoft Forms 2.0 Object Library را از طریق محیط VBA که با Alt + F11 باز می شود را به پروژه خود اضافه کنید.
- محیط VBA رو باز کنید.
- بر روی Tools > References کلیک کنید.
- در لیست موجود تیک گزینه Microsoft Forms 2.0 Object Library را بزنید.
کپی در کلیپ بورد با VBA
برای انجام کپی (Copy) در کلیب بورد لازم یک متغیر از نوع MSForms.DataObject بسازید. که DataObject پل بین شما و کلیب بورد خواهد شد.
در این مرحله در محیط VBA از با استفاده از گزینه Insert Module یک ماژول خام ایجاد کنید و کدهای زیر را در آن قرار بدین.
Sub copytoclipboard() 'PURPOSE: Copy a given text to the clipboard (using DataObject) 'SOURCE: www.TheSpreadsheetGuru.com 'NOTES: Must enable Forms Library: Checkmark Tools > References > Microsoft Forms 2.0 Object Library Dim obj As New DataObject Dim txt As String 'Put some text inside a string variable txt = "This was copied to the clipboard using VBA!" 'Make object's text equal above string variable obj.SetText txt 'Place DataObject's text into the Clipboard obj.PutInClipboard 'Notify User MsgBox "There is now text copied to your clipboard!", vbInformation End Sub
چسباندن و یا پیست کردن از کلیب بورد
Sub PasteFromClipboard() Dim clipboard As MSForms.DataObject Dim str1 As String Set clipboard = New MSForms.DataObject clipboard.GetFromClipboard str1 = clipboard.GetText End Sub
حذف کردن و پاک کردن کلیپ بورد
چندین روش برای پاک کردن کلیپ بورد وجود دارد. سادهترین است که یک رشته خالی در کلیپ بورد قرار دهیم.
Sub ClearClipboard() Dim clipboard As MSForms.DataObject Set clipboard = New MSForms.DataObject clipboard.SetText "" clipboard.PutInClipboard End Sub
از اینکه فرازگر را در این مقاله همرایی کردید از شما سپاسگذاریم.
Hello.
Hello.