//エクステンションのチェックを外す操作はIExtension::Shutdownイベント内では効果がない
//C#
//http://resources.arcgis.com/en/help/arcobjects-net/componenthelp/inex.html#//0000000
IUID pUID = new UIDClass();
pUID.Value = "{3C5059FE-9F15-401A-94ED-EED914D73E3E}"; //Spatial Anayst
IExtensionConfig pExtensionConfig = (IExtensionConfig)ArcMap.Application.FindExtensionByCLSID((UID)pUID);;
if(pExtensionConfig != null)
{
if(pExtensionConfig.State == esriExtensionState.esriESEnabled)
{
pExtensionConfig.State = esriExtensionState.esriESDisabled;
MessageBox.Show("Spatial Analyst を無効にしました。");
}
else
{
MessageBox.Show("Spatial Analyst は有効ではありませんでした。");
}
}
else
{
MessageBox.Show("Spatial Analyst はインストールされていません。");
}
'http://resources.arcgis.com/en/help/arcobjects-net/componenthelp/index.html#//0042000000r8000000
Sub EnableExtension()
Dim pUID As New UID
pUID.Value = "{3C5059FE-9F15-401A-94ED-EED914D73E3E}" 'Spatial Analyst
Dim pExtConfig As IExtensionConfig
Set pExtConfig = Application.FindExtensionByCLSID(pUID)
If Not pExtConfig Is Nothing Then
If (Not pExtConfig.State = esriESUnavailable) Then
pExtConfig.State = esriESEnabled '有効
pExtConfig.State = esriESDisabled '無効
Else
MsgBox "No licenses available"
End If
Else
MsgBox "Extension is not installed"
End If
End Sub