3 votos

¿Cómo forzar Excel para abrir documentos con complementos cuando otra aplicación ha abierto proceso de Excel?

Cuando MATLAB R2015b interactúa con Excel, se abre un proceso de Excel y, a continuación, guarda el proceso abierto hasta MATLAB es cerrado. Cuando esto sucede, si intento abrir una hoja de cálculo a través de Explorador de Archivos, se abre en una instancia de Excel sin complementos de carga. Además, los archivos abiertos como este no te auto-guardar o preguntar al usuario guardar en la salida.

Si abro la aplicación de Excel a través del menú inicio, el pleno Excel carga con todos los complementos. Incluso después de haber hecho esto, la apertura de nuevos archivos mediante el Explorador de Archivos se abrirá en el complemento de movilidad versión. Es allí una manera de forzar a Excel para abrir los archivos de la versión de Excel que tiene complementos habilitado?

Actualmente estoy usando Office 2013, MATLAB R2015b, y Windows 7.

3voto

Pitaq Puntos 21

Depende del tipo de complemento. Básicamente, usted puede tener complementos de Excel (normalmente escrito en VBA) y los complementos COM que puede ser escrito en cualquier lenguaje que entiende COM. También puede depender de donde el que el complemento está instalado.

Complementos de Excel en ciertos directorios se puede encontrar y se abrió automáticamente. Un lugar común para instalar complementos de Excel es en C:\Users\\AppData\Roaming\Addins. Si un complemento de Excel se almacena aquí se puede abrir el Archivo->Opciones->Complementos de la ficha en Excel o desde la ficha Programador si se ha activado. Después de que el complemento se ha habilitado en cualquier lugar, por lo general, la carga cuando se inicia Excel.

Complementos COM se instala mediante un instalador que los lugares de referencia para el complemento en el registro. Excel busca en el registro para estos complementos cuando se abre. Los dos lugares en los que se describe anteriormente también contienen una lista de los complementos COM, y pueden ser activadas a través de estas listas.

También, usted puede forzar un libro para abrir un complemento de VBA. Cuando el libro se abre, una rutina denominada Workbook_Open se ejecuta. Algún código como este se fuerza el complemento para ser instalado.

Sub Workbook_Open()
    Const addinName as String = "insert the name of your add-in"

    If Not AddinLoaded(addinName) Then
        If AddinAvailable(addinName) Then
            On Error Resume Next
                Application.AddIns2(addinName).Installed = True
            On Error GoTo 0
        End If
    End If
End Sub

Function AddinAvailable(addinName As String) As Boolean
    Dim ad As AddIn

    On Error Resume Next
        Set ad = Application.AddIns2.Item(addinName)
    On Error GoTo 0

    AddinAvailable = Not ad Is Nothing
End Function

Function AddinLoaded(addinName As String) As Boolean
    Dim ad As AddIn, errNumber As Long

    On Error Resume Next
        Set ad = Application.AddIns2.Item(addinName)
        errNumber = Err.Number
    On Error GoTo 0

    If Not ad Is Nothing Then
        If errNumber = 0 Then AddinLoaded = ad.Installed And ad.IsOpen
    End If
End Function

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: