Excepción COM (código 0x800A03EC) produce cuando mediante programación cambiar los saltos de página en VB.Net
-
26-09-2019 - |
Pregunta
Estoy intentando utilizar el VB.Net Excel interoperabilidad COM para cambiar mediante programación la ubicación del primer salto de página horizontal en una hoja de cálculo de Excel que se genera por el programa. Código de hacerlo es la siguiente:
Dim range As Excel.Range
xlActualWS.Activate()
xlActualWS.PageSetup.PrintArea = "$A$1:$K$68"
range = xlActualWS.Range("A68", "A68")
xlActualWS.HPageBreaks(1).Location = range
System.Runtime.InteropServices.Marshal.ReleaseComObject(range)
En los HPageBreaks configuración de la línea, código de excepción COM 0x800A03EC es lanzada, y realmente no puedo encontrar nada relacionado con esta búsqueda. Alguien tiene alguna idea de lo que me falta aquí?
Solución
En base enel código parece que sea la ubicación del salto de página no se puede ajustar o que hay 0 saltos de página y por lo tanto está accediendo a un índice válido. Una forma rápida de probar esto es para hacer lo siguiente
- Compruebe la propiedad Count en
xlActualWS.HPageBreaks
y ver cuántos están disponibles - Eliminar el conjunto de la propiedad Localización y ver si desaparece el error
Además probablemente debería eliminar la llamada ReleaseComObject
. Eso es una API muy difícil conseguir correcta y el CLR es bastante bueno en la limpieza de las referencias a objetos COM en su propio.