Exception COM (code 0x800A03EC) lancé lors du changement de programmation des sauts de page dans VB.Net

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

  •  26-09-2019
  •  | 
  •  

Question

Je tente d'utiliser le VB.Net Excel COM Interop pour modifier la programmation emplacement de la première saut de page horizontale sur une feuille de calcul Excel généré par le programme. Code de le faire est la suivante:

    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)

Sur les HPageBreaks de réglage de la ligne, COM code d'exception 0x800A03EC est jeté, et je ne peux pas vraiment trouver une chose liée à cette recherche. Quelqu'un at-il une idée de ce que je suis absent ici?

Était-ce utile?

La solution

Sur la base du code onthe il ressemble soit l'emplacement de saut de page ne peut pas être ou qu'il y a des sauts de page 0 et donc vous accédez à un index non valide. Un moyen rapide de tester cela est de faire ce qui suit

  • Vérifiez la propriété Count sur xlActualWS.HPageBreaks et voir combien sont disponibles
  • Retirez l'ensemble de la propriété Localisation et voir si les dissapears d'erreur

En outre, vous devrez probablement l'appel ReleaseComObject. C'est une API très difficile d'obtenir correcte et le CLR est assez bonne au nettoyage des références d'objet COM sur son propre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top