در شماره های دیگر ExcelTips با استفاده از ابزار دوربین برای گرفتن تصاویر پویا از قسمت های مختلف کاربرگ خود آشنا می شوید. شاید برای شما این سوال پیش آمده باشد که چگونه از یک نوع ویژگی از داخل VBA استفاده کنید. مستندات مربوط به این موضوع خیلی واضح نیست، اما کلان زیر روند کلی را نشان می دهد:
Sub DoCamera()
Dim MyPrompt As String
Dim MyTitle As String
Dim UserRange As Range
Dim OutputRange As Range
Application.ScreenUpdating = True
Prompt user for range to capture
MyPrompt = "Select the range you would like to capture."
MyTitle = "User Input Required"
On Error Resume Next
Set UserRange = Application.InputBox(Prompt:=MyPrompt, _
Title:=MyTitle, Default:=ActiveCell.Address, Type:=8)
If UserRange Is Nothing Then End
On Error GoTo 0
Copy range to Clipboard as picture
UserRange.CopyPicture
Prompt user for range to paste to
MyPrompt = "Select the range on which you would like to paste."
MyTitle = "User Input Required"
On Error Resume Next
Set OutputRange = Application.InputBox(Prompt:=MyPrompt, _
Title:=MyTitle, Default:=ActiveCell.Address, Type:=8)
If OutputRange Is Nothing Then End
On Error GoTo 0
Paste picture to output range
OutputRange.PasteSpecial
Selection.Formula = UserRange.Address
End Sub
این ماکرو از شما می خواهد که محدوده ای را برای کپی کردن مشخص کنید، سپس آن را به عنوان تصویر در کلیپ بورد کپی می کند و از شما می خواهد که کجا آن را بچسبانید. هنگامی که چسبانده می شود، خط نهایی ماکرو کلید پویایی "عکس" است، درست همانطور که به صورت دستی با ابزار دوربین انجام می شود. دستور PasteSpecial در واقع تصویر را چسبانده و تصویر چسبانده شده انتخاب شده باقی می ماند. تنظیم ویژگی Formula برای انتخاب (تصویر) به ماهیت پویا گرافیک منجر می شود.