У меня есть приложение для Excel-2010 в VBA. Если я выполню код из редактора VBA, он отлично работает. Но когда я выполнить макрос с помощью кнопки на ленте создаваемой для Addin он выдает эту ошибку: Compile Error in Hidden Module: Module 1
Ошибка компиляции в скрытом модуле: модуль 1
Моего код:
Sub QE_eventhandler(control As IRibbonControl)
If MsgBox("Esta acción no se podrá deshacer. ¿Desea Continuar?", vbExclamation + vbOKCancel, "Confirmar -Quitar Espacios-") = vbOK Then
QuitaEspacios
End If
End
Sub QuitaEspacios()
Dim celda As Range
For Each celda In Selection
If TypeName(celda.Value) = "String" Then
celda.Value = Application.WorksheetFunction.Trim(celda.Value)
End If
Next
End Sub
Код, сгенерированный с пользовательским редактором пользовательского интерфейса:
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon>
<tabs>
<tab id="customTab" label="GARSA Tools">
<group id="customGroup1" label="Reformateo Texto">
<button id="customButton3" label="Quitar Espacios" size="large" onAction="QE_eventhandler" imageMso="TextEffectTracking" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
Это не является обязательным ... –
@EugeneAstafiev Нет, это не так. Все подпрограммы должны заканчиваться на 'End Sub', а не' End'. – Rory
Да, вы правы - [Sub Statement] (https://msdn.microsoft.com/en-us/library/office/gg278504.aspx). Существует различие между Visual Basic и VBA. –