0x800a03ec عندما تدعو حدد على نطاق Excel (IRange). عادت مجموعة من usedrange ورقة العمل ل

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

سؤال

وأنا أحاول لتحديد "النطاق المستخدم". أحصل UsedRange ورقة العمل، ثم أنا استدعاء حدد الدالة على ذلك. أتلقى HRESULT 0x800a03ec على الدعوة مختارة.

وهنا رمز:

ونتيجة COleVariant؛

وHRESULT ساعة = AutoWrap (DISPATCH_METHOD، ونتيجة لذلك، irange، L "اختر"، 0)؛

وأنا لن يكلف نفسه عناء نشر التعليمات البرمجية للدالة AutoWrap (ما لم يسأل شخص ما). انها جميلة معروفة، وأنا لم تعديله.

وأنا متأكد من أن irange جيدة، لأنني حاولت بعض المكالمات عليه للتحقق من أن لديها ما أتوقع، ويفعل. إذا كنت تكرار من خلال ذلك، أستطيع أن أرى محتويات كل خلية (وهذا صحيح)؛ عدد الصفوف والأعمدة التي تم إرجاعها الصحيح، و"عنوان" الملكية عادت الشيكات.

لا تخوض ورقة عمل.

ورأيت مشاكل أخرى سجلت لها علاقة مع اللغة، ووضع نظام بلدي إلى الإنكليزية الولايات المتحدة كما هو حساب المستخدم الخاص بي. لا تم تغيير.

والأمل أن نجد المساعدة!

على تحديث : في وحاولت أيضا

hr = iRange->Select(vResult);

وهذا لا يعود S_OK، ولكن لا تحديد النطاق. عادة، وأنا لا يمكن الاتصال مباشرة على وظائف في البنية iRange. والنتيجة هي انتهاك GPF أو الوصول - لذلك يجب أن تستخدم الدالة autowrap (لدفع مكالمة استدعاء). لست مندهشا لا تعمل هذه المكالمة.

ولقد حاولت أيضا فتح ملف اكسل في وضع غير للقراءة فقط، في حال تم تأمين I. إلا أن ذلك لم يحل المشكلة. يمكنني تحديد الخلايا الفردية عن طريق الحصول على عنصر واحد (خلية) من مجموعة، والدعوة حدد لها، ولكن لا أستطيع تحديد النطاق.

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

المحلول

ولقد وجدت الإجابة على هذا السؤال. ويبدو فقط أن تكون مشكلة عند استخدامها في عينة DSOFRAMER (مايكروسوفت KB 311765). DSOFramer هو عنصر تحكم ActiveX للأغراض العامة لتضمين وثائق مايكروسوفت أوفيس. المشكلة أيضا لا يحدث إلا في بناء تصحيح. نسخ الإصدار على ما يرام.

وكما أنني وجدت الحل الذي يعمل على الإفراج عنهم أو التصحيح بناء: الحصول على أي خلية في النطاق (باستخدام get_Item)، ثم استدعاء حدد على هذا البند، ثم حدد مرة أخرى لإلغاء تحديده. بمجرد أن يتم ذلك، وحدد يمكن أن يطلق على مجموعة. على ما يبدو، لا يمكن أن يسمى على نطاق تحديد ما إذا كان هناك خلية محددة بالفعل (أو ربما إذا كانت الدولة الاختيار غير محددة).

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