مشاركة عبر


تنسيق البيانات في Excel بالإعدادات الإقليمية المتعددة

ينطبق على

تنطبق المعلومات الموجودة في هذا الموضوع فقط على أنواع المشاريع وإصدارات Microsoft Office التالية: لمزيد من المعلومات، راجع الميزات المتوفرة بواسطة تطبيقات Office و نوع المشروع.

نوع المشروع

  • مشروعات على مستوى المستند

  • مشروعات على مستوى التطبيق

إصدار Microsoft Office

  • Excel 2007

  • Excel 2010

يجب عليك تهيئة كافة البيانات التي تحتوي على التنسيق الحساس للإعدادات المحلية ، مثل التواريخ والعملة باستخدام تنسيق البيانات الإنكليزية (الولايات المتحدة) (الإعدادات المحلية المعرفة 1033 ) قبل أن تقوم بتمريرها إلى Microsoft Office Excel أو قراءة البيانات من التعليمات البرمجية في مشروع Office.

بشكل افتراضي، عند تطويرك لحل على Office "في Visual Studio فإن نموذج كائن Excel يتوقع تنسيق بيانات 1033 الخاص بمعرف الإعدادات المحلية (و يسمى أيضاً قصر نموذج الكائن على معرف الإعدادات المحلية 1033). هذا السلوك يتطابق مع الطريقة التي يعمل بها "Visual Basic الخاص بالتطبيقات". ومع ذلك، يمكنك تعديل هذا السلوك في حلول Office الخاصة بك .

فهم كيف يتوقع نموذج كائن Excel دوماً معرف الإعدادات المحلية 1033

بشكل افتراضي، حلول Office التي تقوم بإنشائها باستخدام Visual Studio لا تتأثر بالإعدادات المحلية للمستخدم النهائي و دوماً تتصرف وكأن الإعدادات المحلية هي الإنكليزية (الولايات المتحدة). على سبيل المثال، إذا قمت بقراءة أو تعيين الخاصية Value2 في Excel، البيانات يجب أن يتم تنسيقها بالطريقة التي يتوقعها معرّف الإعدادات المحلية 1033. في حالة استخدامك لتنسيق بيانات مختلف ، قد تتلقى نتائج غير متوقعة.

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

على سبيل المثال، إذا كان لدى المستخدمين الخيارات الإقليمية الخاصة بهم معينة إلى الإعدادات المحلية الألمانية (ألمانيا) ، فهم يتوقعون تاريخ 29 يونيو 2005 لتنسيقه بهذه الطريقة: 29.06.2005. ومع ذلك، إذا قام الحل الخاص بك بتمرير التاريخ إلى Excel كسلسلة ، يجب عليك تنسيق التاريخ وفقاً لتنسيق الانجليزية (الولايات المتحدة): 6/29/2005. إذا تم تنسيق الخلية كخلية تاريخ ، سيقوم Excel بعرض التاريخ في تنسيق الألمانية (ألمانيا).

تمرير معرفات إعدادات محلية أخرى لنموذج كائن Excel

في المشاريع التي تستهدف .NET Framework 4، يقوم وقت تشغيل اللغة العامة (CLR) تلقائياً بتمرير معرف الإعدادات المحلية 1033 إلى كافة الأساليب والخصائص في نموذج كائن Excel الذي يقبل البيانات الحساسة للإعدادات المحلية. لا توجد طريقة لتغيير هذا السلوك تلقائياً لكافة الاتصالات في نموذج الكائن. ومع ذلك، يمكنك تمرير معرف إعدادات محلية مختلف إلى أسلوب محدد باستخدام InvokeMember لاستدعاء الأسلوب و بواسطة تمرير معرف الإعدادات المحلية إلى المعلمة culture الخاصة بالأسلوب.

في المشاريع التي تستهدف .NET Framework 3.5, يقوم Visual Studio Tools لوقت تشغيل Office بتمرير معرف الإعدادات المحلية 1033 إلى نموذج كائن Excel بشكل افتراضي. ومع ذلك، يمكنك تعديل هذا السلوك باستخدام Microsoft.Office.Tools.Excel.ExcelLocale1033Attribute.

تعديل مشاريع .NET Framework 3.5 لاستخدام الإعدادات المحلية الخاصة بكمبيوتر المستخدم النهائي .

يمكنك إلغاء تأمين سلوك معرف الإعدادات المحلية الخاص بنموذج كائن Excel بأكمله في Office الذي يستهدف 3.5 .NET Framework. Microsoft.Office.Tools.Excel.ExcelLocale1033Attribute يتحكم في سلوك نموذج كائن Excel في هذه المشاريع. بشكل افتراضي ، يتم تعيين السمة إلى true ، مما يقوم بقصر نموذج كائن Excel إلى أن يتوقع تنسيق معرف الإعدادات المحلية 1033 . عندما تكون تلك السمة true، يقوم Visual Studio بلف كل كائن Excel تم إنشاء مثيل له بواسطة الحل في كائن وكيل الذي يقوم دائماً بتمرير معرف الإعدادات المحلية 1033 إلى Excel. عند تعيينك السمة إلى false ، لا يتم استخدام هذه الكائنات الوكيلة، و يستخدم نموذج كائن Excel الإعدادات المحلية للمستخدم النهائي.

إذا اخترت تعيين السمة إلى false ، يظل بإمكانك استخدام الانعكاس لإجبار الاستدعاءات المحددة لأساليب و خصائص Excel على استخدام تنسيق بيانات الانجليزية (الولايات المتحدة) (معرف الإعدادات المحلية 1033 ). لمزيد من المعلومات، راجع كيفية القيام بما يلي: جعل القيم الحرفية للسلسلة آمنة المنطقة في Excel باستخدام الانعكاس.

ملاحظة

إذا قمت بتعيين السمة إلى false و كان لدى أي من المستخدمين النهائيين أي إعدادات محلية أخرى غير الإنكليزية (الولايات المتحدة) ، فإنهم قد يشاهدون سلوكا غير متوقع في الحل الخاص بك .

لإلغاء حظر نموذج الكائن، قم بتعيين Microsoft.Office.Tools.Excel.ExcelLocale1033Attribute في ملف AssemblyInfo.vb أو AssemblyInfo.cs في المشروع إلى false.

<Assembly: ExcelLocale1033(False)>
[assembly: ExcelLocale1033(false)]

ملاحظة

لأن Visual Studio Tools لوقت تشغيل Office يقوم بلف كافة كائنات Excel الأصلية في كائن وكيل عندما تكون Microsoft.Office.Tools.Excel.ExcelLocale1033Attributeبالقيمة true، فقد تلاحظ وجود بطء في بعض العمليات التي تتضمن كائنات Excel الأصلية . في هذه الحالات، يمكنك تحسين الأداء باستخدام الأسلوب Microsoft.Office.Tools.Excel.ExcelLocale1033Proxy.Unwrap(System.Object) للحصول على كائن Excel دون الوكيل ثم القيام بتنفيذ العملية باستخدام هذا الكائن. في حالة القيام بذلك، انتبه أن الكائن يتم إرجاعه بواسطة Microsoft.Office.Tools.Excel.ExcelLocale1033Proxy.Unwrap(System.Object) الذي يستخدم المعرّف المحلي الخاص بمؤشر الترابط الحالي لا المعرف المحلي 1033 .

راجع أيضًا:

المهام

كيفية القيام بما يلي: ترجمة حلول Excel

كيفية القيام بما يلي: جعل القيم الحرفية للسلسلة آمنة المنطقة في Excel باستخدام الانعكاس

المبادئ

لتوسيع بيانات التعريف باستخدام السمات

نظرة عامة حول أدوات Visual Studio لوقت تشغيل Office

موارد أخرى

تصميم و إنشاء حلول Office