استثناء COM (رمز 0x800A03EC) الذي يتم إلقاؤه عند تغيير صفحات التغيير برمجيًا في VB.NET
-
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 لوحدها.
لا تنتمي إلى StackOverflow