استثناء COM (رمز 0x800A03EC) الذي يتم إلقاؤه عند تغيير صفحات التغيير برمجيًا في VB.NET

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

  •  26-09-2019
  •  | 
  •  

سؤال

أحاول استخدام vb.net excel com interop لتغيير موقع أول استراحة للصفحة الأفقية على جدول بيانات Excel الذي يتم إنشاؤه بواسطة البرنامج. الكود للقيام بذلك هو كما يلي:

    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)

في إعداد الخط hpageBreaks ، يتم إلقاء كود استثناء COM 0x800A03EC ، ولا يمكنني حقًا العثور على شيء يتعلق بهذا البحث. أي شخص لديه أي فكرة عما أفتقده هنا؟

هل كانت مفيدة؟

المحلول

استنادًا إلى الكود ، يبدو أنه لا يمكن تعيين موقع فاصل الصفحة أو أن هناك فترات فواصل صفحة 0 وبالتالي فأنت تصل إلى فهرس غير صالح. طريقة سريعة لاختبار هذا هو القيام بما يلي

  • تحقق من خاصية العد xlActualWS.HPageBreaks وانظر كم عدد متاح
  • قم بإزالة مجموعة خاصية الموقع ومعرفة ما إذا كان الخطأ يخاطر

بالإضافة إلى ذلك ، يجب عليك إزالة ReleaseComObject يتصل. هذه واجهة برمجة تطبيقات صعبة للغاية للحصول على صحة و CLR جيدة جدًا في تنظيف مراجع كائن COM لوحدها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top