Excepción COM (código 0x800A03EC) produce cuando mediante programación cambiar los saltos de página en VB.Net

StackOverflow https://stackoverflow.com/questions/3815544

  •  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í?

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top