بالنسبة ل Excel 2003، هل يمكن ل UDF في XLL استخدام مؤشرات الترابط متعددة؟

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

سؤال

fyi 1: UDF= وظيفة تعريف المستخدم (ورقة العمل) FYI 2: XLL= Excel الوظيفة الإضافية (DLL -> XLL)

أنا أكتب وظيفة إضافية XLL ل Excel في C / C ++ باستخدام API Excel4 () من Microsoft.
Link: http://msdn.microsoft.com/en-us/مكتبة / BB687835.aspx

لدي مهمة "معقدة" أريد استخدام مؤشرات ترابط متعددة لأداء أفضل.بينما أفهم أن الحساب في Excel 2003 هو الخيوط الفردي، أريد أن أعرف ما إذا كان علينا UDF (أ) تفرخ مؤشرات الترابط للقيام بالعمل، (B) انتظر مؤشرات الترابط لإنهاءها، و (ج) إرجاع النتيجة.

لتكون واضحة جدا، لن أفعل أي أتمتة Excel ولا استدعاء Excel4 () في المواضيع.

الرمز الزائدي:

giveacodicetagpre.

على السطح، يظهر هذا موافق، لكنني لست خبيرا في DLLS / XLLS وخيوط.

p.s.لقد بحثت Google (عالية ومنخفضة) لهذه الإجابة، ولا يمكن العثور على أي شيء في هذه المسألة.

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

المحلول

يمكنك البدء في العديد من مؤشرات الترابط كما تريد ثم انتظر بها.هناك أيضا دعم ل ASYNC UDF في أحدث إصدار من API.يمكنك العثور على بعض الأمثلة في http://xll.codeplex.com .إلقاء نظرة على الاختبار / async.cpp: http://xll.codeplex.com/ sourcecontrol / changeet / view / 14528 # 139508

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