TPE
Tavvafi@gmail.com |
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
در ماکروی زیر نام ماکروی هدف به صورت یک متغییر تعیین و اجرا شده است.
این روش برای هنگامی که چند ماکرو با عملکردهای مختلف وجود داشته باشد، و بنا بر شرایط خاص برنامه نویس تصمص می گیرد که کدامیک از ماکروها اجرا شوند.
این قابلیت حتی می تواند به صورت اسامی ماکروها در یک آرایه مورد استفاده واقع شود.
Sub MacrifyUs(oSh As Shape)
Dim sMacroName As String
sMacroName = "MyMacroName"
On Error Resume Next
With oSh.ActionSettings(ppMouseClick) ' or ppMouseOver
.Run = sMacroName
End With
End Sub
Sub MyMacroName()
MsgBox "MyMacroName"
End Sub
Sub MacrifyUs() Dim oSh as Shape Dim sMacroName as String ' Edit this; change the name of the macro in quotes to your macro's name sMacroName = "MyMacroName" ' No fancy error handling; just ignore errors On Error Resume Next For Each oSh In ActiveWindow.Selection.ShapeRange With oSh.ActionSettings(ppMouseClick) ' or ppMouseOver if you prefer .Run = sMacroName .Action = ppActionRunMacro End With Next End Sub