andrkar пишет:...список именно такой?...
Да, это список аргументов из документации к VBA.
Список имен всех макросов можно получить с помощью макроса приведенного мной выше.
Для проверки команд я написал две функции. Обе медленные. Первая работает. Вторую писал по мотивам статьи в Интернете, но она работает как-то через раз.
Public Function Macro_CommandValidate( _
ByVal CommandName As String) As Boolean
' возвращает True, если доступен макрос-команда CommandName
Macro_CommandValidate = False
On Error Resume Next
Dim K As KeysBoundTo
Set K = KeysBoundTo(KeyCategory:=Word.wdKeyCategoryMacro, _
Command:=CommandName)
If Err.Number = 0 Then Macro_CommandValidate = True
End Function
Public Function Macro_CommandValidate2( _
ByVal CommandName As String) As Boolean
' возвращает True, если доступен макрос-команда CommandName
Macro_CommandValidate2 = False
With Dialogs(Word.wdDialogToolsMacro)
' Name, Run, Edit, Show, Delete, Rename, Description, NewName, SetDesc
.Name = CommandName
.Run = False
On Error Resume Next
.Execute
If Err.Number = 0 Then Macro_CommandValidate2 = True
End With
End Function
Макросы под заказ и готовый пакет - mtdmacro.ru