Compartir a través de


Solucionar problemas de errores de las soluciones de Office

Podría encontrar problemas cuando realice las siguientes tareas mientras desarrolla soluciones de Office en Visual Studio:

  • Crear, actualizar y abrir proyectos

  • Utilizar los diseñadores

  • Escribir código

  • Compilar proyectos

  • Depurar proyectos

Crear, actualizar y abrir proyectos

Podría encontrar los siguientes errores cuando cree o abra proyectos de Office.

h8c469ey.collapse_all(es-es,VS.110).gifNo se puede crear el proyecto

Error al crear o abrir un proyecto de Office; Visual Studio no tenía bastante información para determinar la causa.Cierre el proyecto, salga de Visual Studio y comience de nuevo.

Si intenta crear un proyecto de nivel de documento, es posible que ya esté abierto en Excel o Word otro documento con el mismo nombre que el documento en el nuevo proyecto.Asegúrese de que estén cerradas todas las demás instancias de Excel o Word.

h8c469ey.collapse_all(es-es,VS.110).gifSe pierden las propiedades del control al crear un nuevo proyecto basado en un documento de un proyecto existente

Si crea un nuevo proyecto de Office basado en un documento de un proyecto existente, las propiedades de los controles que haya en el documento no se copian en el proyecto nuevo.Debe restablecer manualmente las propiedades de cualquier control preexistente.De forma alternativa, puede conservar las propiedades del control creando una copia del proyecto existente en vez de crear un proyecto nuevo, o cargando el proyecto existente en una solución nueva (en el diseñador) y copiando y pegando los controles del documento existente en el documento nuevo.

h8c469ey.collapse_all(es-es,VS.110).gifErrores al crear un proyecto de libro de Excel basado en un libro existente

Si crea un nuevo proyecto de libro de Excel basado en un libro existente, puede que aparezca una combinación de los siguientes errores.

En Excel: "Advertencia sobre confidencialidad: este documento contiene macros, controles ActiveX, información sobre paquetes de extensión XML o componentes web.Estos pueden incluir información personal que no se puede quitar por el Inspector de documento".

En Visual Studio: "El diseñador no se cargó correctamente".

Estos errores se pueden producir si intenta crear un proyecto basado en un libro al que se le había quitado la información personal utilizando el inspector de documento.Para evitar este error, realice los pasos siguientes antes de crear el proyecto.

  1. Abra el libro en Excel.

  2. En Excel, abra el Centro de confianza.

  3. En la pestaña Opciones de privacidad desactive la casilla Quitar la información personal de las propiedades del archivo al guardarlo.

  4. Guarde el libro y cierre Excel.

h8c469ey.collapse_all(es-es,VS.110).gifNo se puede abrir un proyecto después de la migración

Después de migrar una solución de Office a Microsoft Office 2010, no se puede abrir el proyecto en un equipo de desarrollo que solo tenga instalado 2007 Microsoft Office system.Puede que vea los siguientes errores.

"Uno o varios proyectos de la solución no se cargaron correctamente.Consulte la ventana de salida para obtener más información."

"No se puede crear el proyecto porque la aplicación asociada a este tipo de proyecto no está instalada en el equipo.Debe instalar la aplicación de Microsoft Office asociada a este tipo de proyecto."

Para resolver este problema, modifique el archivo .vbproj o .csproj.Para un proyecto de Word, reemplace HostPackage="{763FDC83-64E5-4651-AC9B-28C4FEB985A1}" por HostPackage="{6CE98B71-D55A-4305-87A8-0D6E368D9600}".Para un proyecto de Excel, reemplace HostPackage="{B284B16A-C42C-4438-BDCD-B72F4AC43CFB}" por HostPackage="{825100CF-0BA7-47EA-A084-DCF3308DAF74}".Para un proyecto de Outlook, reemplace HostPackage="{D2B20FF5-A6E5-47E1-90E8-463C6860CB05}" por HostPackage="{20A848B8-E01F-4801-962E-25DB0FF57389}".

Asimismo, asegúrese de que los proyectos migrados se abran únicamente en equipos de desarrollo que tengan instalado Microsoft Office 2010.

h8c469ey.collapse_all(es-es,VS.110).gifErrores de proyectos de nivel de documento de Office 2003 actualizados que contienen controles Windows Forms

Si actualiza un proyecto de nivel de documento de Microsoft Office 2003, y el documento contiene controles Windows Forms, el proyecto actualizado podría tener errores de compilación o en tiempo de ejecución.Para evitar este problema, instale Visual Studio 2005 Tools para Office Second Edition Runtime en el equipo de desarrollo antes de actualizar el proyecto.Esta versión del runtime está disponible como un paquete redistribuible desde el Centro de descarga de Microsoft en Visual Studio 2005 Tools para Office Second Edition Runtime (VSTO 2005 SE) (x86).

Una vez actualizado el proyecto, puede desinstalar Visual Studio 2005 Tools para Office Second Edition Runtime del equipo de desarrollo si no lo va a utilizar ninguna otra solución de Office.

Utilizar los diseñadores

Podría encontrar los siguientes errores al trabajar con el documento, libro o diseñador de hojas de cálculo en proyectos de nivel de documento.

h8c469ey.collapse_all(es-es,VS.110).gifEl diseñador no se cargó correctamente

Visual Studio no puede abrir el diseñador en los siguientes casos:

  • Excel o Word ya está abierto y muestra un cuadro de diálogo modal.Para poder abrir el diseñador, compruebe si hay algún cuadro de diálogo modal abierto en Excel o Word y cierre todos los cuadros de diálogo de este tipo que estén abiertos.Si no hay ningún cuadro de diálogo modal abierto, podría ser necesario realizar alguna otra acción para que responda Excel o Word.

  • Se está depurando el proyecto.Para poder abrir el diseñador, detenga o finalice la depuración.

  • Un complemento de Excel que está instalado en el equipo de desarrollo muestra un cuadro de diálogo cuando se inicia Excel.Para poder crear un proyecto de nivel de documento para Excel, debe deshabilitar primero el complemento.

h8c469ey.collapse_all(es-es,VS.110).gifLos controles aparecen como rectángulos negros en el documento u hoja de cálculo

Si agrupa los controles en un documento u hoja de cálculo, Visual Studio ya no los reconocerá.No se puede tener acceso a los controles agrupados en la ventana Propiedades y aparecen como rectángulos negros en el documento u hoja de cálculo.Debe desagrupar los controles para restaurar su funcionalidad.

h8c469ey.collapse_all(es-es,VS.110).gifLos controles de una plantilla de Word no son visibles en Visual Studio

Si abre una plantilla de Word en el diseñador de Visual Studio, los controles de la plantilla que no están alineados con el texto podría no estar visibles.Esto se debe a que Visual Studio abre las plantillas de Word en la vista Normal.Para ver los controles, haga clic en el menú Ver, seleccione Vista de Microsoft Office Word y haga clic en Diseño de impresión.

h8c469ey.collapse_all(es-es,VS.110).gifEl comando Insertar imagen prediseñada no hace nada en el diseñador de Visual Studio

Cuando Excel o Word está abierto en el diseñador de Visual Studio y se hace clic en el botón Imágenes prediseñadas en la pestaña Ilustraciones de la cinta de opciones, no se abre el panel de tareas Imágenes prediseñadas.Para agregar imágenes prediseñadas, debe abrir la copia del libro o documento que está en la carpeta principal del proyecto (no la copia que está en la carpeta \bin) fuera de Visual Studio, agregar las imágenes prediseñadas y, a continuación, guardar el libro o documento.

Escribir código

Podría encontrar los siguientes errores al escribir código en proyectos de Office.

h8c469ey.collapse_all(es-es,VS.110).gifAlgunos eventos de objetos de Office no son accesibles al utilizar C#

En algunos casos, podría aparecer un error de compilador como el siguiente al intentar obtener acceso a un determinado evento de una instancia de un tipo de ensamblado de interoperabilidad primario de Office (PIA) en un proyecto de Visual C#.

"Ambigüedad entre 'Microsoft.Office.Interop.Excel._Application.NewWorkbook' y 'Microsoft.Office.Interop.Excel.AppEvents_Event.NewWorkbook'"

Este error indica que está intentando tener acceso a un evento que tiene el mismo nombre que otra propiedad o método del objeto.Para obtener acceso al evento, debe convertir el objeto a su interfaz de eventos.

Los tipos de PIA de Office que tienen eventos implementan dos interfaces: una interfaz básica con todas las propiedades y métodos, y una interfaz de eventos que contiene los eventos expuestos por el objeto.Estas interfaces de eventos utilizan la convención de nomenclatura nombreDeObjetoEventsn_Event, como en Microsoft.Office.Interop.Excel.AppEvents_Event y Microsoft.Office.Interop.Word.ApplicationEvents2_Event.Si no puede obtener acceso a un evento que espera encontrar en un objeto, convierta el objeto a su interfaz de eventos.

Por ejemplo, los objetos Microsoft.Office.Interop.Excel.Application tienen un evento NewWorkbook y una propiedad NewWorkbook.Para controlar el evento NewWorkbook, convierta Microsoft.Office.Interop.Excel.Application a la interfaz AppEvents_Event.En el siguiente ejemplo de código se explica cómo hacer esto en un proyecto de nivel de documento de Excel.

private void ThisWorkbook_Startup(object sender, System.EventArgs e)
{
    ((Excel.AppEvents_Event)this.Application).NewWorkbook += 
        new Excel.AppEvents_NewWorkbookEventHandler(ThisWorkbook_NewWorkbook);
}

void ThisWorkbook_NewWorkbook(Excel.Workbook Wb)
{
    // Perform some work here.
}

Para obtener más información sobre las interfaces de eventos en los PIA de Office, vea Overview of Classes and Interfaces in the Office Primary Interop Assemblies.

h8c469ey.collapse_all(es-es,VS.110).gifNo puede hacer referencia a las clases de PIA de Office en proyectos destinados .NET Framework 4 o .NET Framework 4.5

En proyectos destinados .NET Framework 4 o .NET Framework 4.5, el código que hace referencia a una clase definida en un PIA de Office no se compilará de forma predeterminada.Las clases de los PIA utilizan la convención de nomenclatura nombreDeObjetoClass, como en DocumentClass y WorkbookClass.Por ejemplo, el siguiente código de un proyecto de complemento de Word no se compilará.

Dim document As Word.DocumentClass = Globals.ThisAddIn.Application.ActiveDocument
Word.DocumentClass document = (Word.DocumentClass) Globals.ThisAddIn.Application.ActiveDocument;

Este código da lugar a los siguientes errores de compilación:

  • Visual Basic: "No se permite una referencia a la clase ‘DocumentClass’ cuando su ensamblado está vinculado mediante el modo No-PIA".

  • Visual C#: "El tipo de interoperabilidad ‘Microsoft.Office.Interop.Word.DocumentClass’ no se puede incrustar.Use la interfaz aplicable en su lugar".

Para resolver este error, modifique el código para que haga referencia a la interfaz correspondiente en su lugar.Por ejemplo, en lugar de hacer referencia a un objeto DocumentClass, haga referencia a una instancia de la interfaz Document.

Dim document As Word.Document = Globals.ThisAddIn.Application.ActiveDocument
Word.Document document = Globals.ThisAddIn.Application.ActiveDocument;

Proyectos destinados .NET Framework 4 o .NET Framework 4.5, inserta automáticamente todos los tipos de interoperabilidad de los PIA de Office de forma predeterminada.Este error de compilación se produce porque la característica de tipos de interoperabilidad incrustados solo funciona con interfaces, no con clases.Para obtener más información sobre las interfaces y las clases de los PIA de Office, vea Información general de las clases e interfaces en los ensamblados de interoperabilidad primarios de Office.Para obtener más información sobre la característica de tipos de interoperabilidad incrustados en los proyectos de Office, vea Diseñar y crear soluciones de Office.

h8c469ey.collapse_all(es-es,VS.110).gifNo se reconocen referencias a clases de Office

Algunos nombres de clase, por ejemplo Application, están en varios espacios de nombres como Microsoft.Office.Interop.Word y System.Windows.Forms.Por esta razón, la instrucción Imports/using situada en la parte superior de las plantillas de proyecto incluye una constante calificadora de método sencillo, por ejemplo:

Imports Word = Microsoft.Office.Interop.Word
using Word = Microsoft.Office.Interop.Word;

Esta utilización de la instrucción Imports/using requiere distinguir las referencias a las clases de Office con el calificador Word o Excel, por ejemplo:

Dim doc As Word.Document
Word.Document doc;

Si utiliza una declaración no calificada, obtendrá errores, como por ejemplo:

Dim doc As Document  ' Class is ambiguous
Document doc;  // Class is ambiguous

Aunque haya importado el espacio de nombres de Word o de Excel y tenga acceso a todas las clases que incluye, debe calificar por completo todos los tipos con Word o Excel para quitar la ambigüedad del espacio de nombres.

Compilar proyectos

Podría encontrar los siguientes errores al compilar proyectos de Office.

h8c469ey.collapse_all(es-es,VS.110).gifNo se puede generar un proyecto de nivel de documento que está basado en un documento con permisos restringidos

Visual Studio no puede compilar proyectos de nivel de documento si el documento tiene permisos restringidos.Si el proyecto contiene un documento con permisos restringidos, no se compilará y aparecerá el siguiente mensaje en la ventana Lista de errores.

"No se pudo agregar la personalización".

Si desea incluir un documento que tenga permisos restringidos, use un documento sin restricciones mientras desarrolla y compila la solución.A continuación, aplique los permisos restringidos al documento en la ubicación de la publicación, después de publicar la solución.

h8c469ey.collapse_all(es-es,VS.110).gifSe producen errores del compilador después de eliminar un control NamedRange

Si elimina un control NamedRange de una hoja de cálculo que no está activa en el diseñador, el código generado automáticamente podría no quitarse del proyecto y se podrían producir errores del compilador.Para asegurarse de que se quite el código, siempre debe seleccionar la hoja de cálculo que contiene el control NamedRange para que sea la hoja activa antes de eliminar el control.Si el código generado automáticamente no se elimina cuando quita el control, puede hacer que el diseñador elimine el código activando la hoja de cálculo y realizando un cambio de modo que la hoja quede marcada como modificada.Cuando recompile el proyecto, se habrá quitado el código.

Depurar proyectos

Podría encontrar los siguientes errores al depurar proyectos de Office.

h8c469ey.collapse_all(es-es,VS.110).gifAl publicar e instalar una solución en el equipo de desarrollo aparece un aviso que indica que debe realizarse una desinstalación

Al depurar una solución de Office, podría aparecer el siguiente error.

"No se puede instalar la personalización porque hay instalada otra versión y no se puede actualizar desde esta ubicación".

Este error indica que se ha publicado e instalado previamente la solución de Office en el equipo de desarrollo.Para evitar que aparezca el mensaje, desinstale la solución de la lista de programas instalados en el equipo antes de depurar la solución.También puede crear otra cuenta de usuario en el equipo de desarrollo para probar la instalación de la solución publicada.

h8c469ey.collapse_all(es-es,VS.110).gifLos proyectos de nivel de documento creados en ubicaciones de red UNC no se ejecutan desde Visual Studio

Si crea un proyecto de nivel de documento para Excel o Word en una ubicación de red UNC, deberá agregar la ubicación del documento a la lista de ubicaciones de confianza en Excel o Word.De lo contrario, la personalización no se cargará al intentar ejecutar o depurar el proyecto en Visual Studio.Para obtener más información sobre las ubicaciones de confianza, consulte Otorgar confianza a los documentos.

h8c469ey.collapse_all(es-es,VS.110).gifLos subprocesos no se detienen correctamente después de la depuración

Los proyectos de Office en Visual Studio se rigen por una convención de nomenclatura de subprocesos que permite al depurador cerrar el programa correctamente.Si crea subprocesos en la solución, debería denominar cada subproceso con el prefijo VSTA_ para asegurar que estos subprocesos se controlan de forma correcta al detener la depuración.Por ejemplo, podría establecer la propiedad Name de un subproceso que aguarda un evento de red en VSTA_NetworkListener.

h8c469ey.collapse_all(es-es,VS.110).gifNo se puede ejecutar o depurar ninguna solución de Office en el equipo de desarrollo

Si no se puede ejecutar o desarrollar un proyecto de Office en el equipo de desarrollo, es posible que aparezca el siguiente mensaje de error.

"No se pudo cargar la personalización porque no se pudo crear el dominio de la aplicación".

Visual Studio usa Fusion, el cargador de ensamblados de .NET Framework, para almacenar en memoria caché los ensamblados antes de cargar las soluciones de Office.Asegúrese de que Visual Studio puede escribir en la memoria caché de Fusion e inténtelo de nuevo.Para obtener más información, vea Copias sombra de ensamblados.

h8c469ey.collapse_all(es-es,VS.110).gifSe produce un error al detener el depurador en un proyecto de nivel de documento después de utilizar Editar y continuar

Si utiliza Editar y continuar para realizar cambios en el código en un proyecto de nivel de documento para Excel o Word mientras el proyecto está en el modo de interrupción, puede que aparezca un cuadro de diálogo con el siguiente mensaje de error si detiene posteriormente el depurador.

"Si termina el proceso en su estado actual, se pueden producir resultados no deseados, incluidos la pérdida de datos y la inestabilidad del sistema".

Si hace clic en o No en el cuadro de diálogo, Visual Studio finalizará el proceso de Excel o Word y detendrá el depurador.Para detener la depuración del proyecto sin mostrar este cuadro de diálogo, salga de Excel o Word directamente en lugar de detener el depurador en Visual Studio.

Vea también

Tareas

Solucionar problemas de seguridad de soluciones de Office

Conceptos

Solucionar problemas de implementación de las soluciones de Office

Otros recursos

Solución de problemas de soluciones de Office