كيفية القيام بما يلي: تخزين و استرداد قيم التاريخ في النطاقات Excel
ينطبق على |
---|
تنطبق المعلومات الموجودة في هذا الموضوع فقط على أنواع المشاريع وإصدارات Microsoft Office التالية: لمزيد من المعلومات، راجع الميزات المتوفرة بواسطة تطبيقات Office و نوع المشروع. نوع المشروع
إصدار Microsoft Office
|
يمكنك تخزين واسترداد القيم في عنصر التحكم NamedRange أو كائن نطاق Excel الأصلي.
إذا قمت بتخزين قيمة التاريخ الذي يقع في أو بعد 1/1/1900 في نطاق باستخدام أدوات تطوير Office في Visual Studio, يتم تخزينه في تنسيق التنفيذ التلقائى لـ OLE ـ (OA). يجب عليك استخدام الأسلوب FromOADate لاسترداد قيمة تواريخ التنفيذ التلقائى لـ OLE ـ (OA). إذا كان التاريخ قبل 1/1/1900 يتم تخزينه كسلسلة.
ملاحظة
إذا تم تم تغييره المفتاح التوقيع، يجب إعادة تأسيس الثقة بواسطة استخدام تعجيل الثقة ClickOnce أو الشهادة يجب أن تكون موثوقة على المستوى مؤسسة. There are also differences if the 1904 date system option is checked. أمثلة التعليمة البرمجية أدناه لا تعالج هذه الاختلافات.
استخدام عنصر تحكم NamedRange (نطاق مسمى)
- هذا مثال لتخصيصات على مستوى المستند. يجب وضع التعليمات البرمجية التالية في فئة ورقة، وليس في فئة ThisWorkbook.
لتخزين قيمة تاريخ في نطاق مسمى
قم بإنشاء عنصر تحكم NamedRange في الخلية A1.
Dim NamedRange1 As Microsoft.Office.Tools.Excel.NamedRange = _ Me.Controls.AddNamedRange(Me.Range("A1"), "NamedRange1")
Microsoft.Office.Tools.Excel.NamedRange NamedRange1 = this.Controls.AddNamedRange(this.get_Range("A1", missing), "NamedRange1");
قم بتعيين تاريخ اليوم كقيمة لـ NamedRange1.
Dim dt As DateTime = DateTime.Now NamedRange1.Value2 = dt
DateTime dt = DateTime.Now; NamedRange1.Value2 = dt;
لاسترداد قيمة تاريخ من نطاق مسمى
قم باسترداد قيمة التاريخ من NamedRange1.
Dim value As Object = NamedRange1.Value2 If Not value Is Nothing Then If TypeOf value Is Double Then dt = DateTime.FromOADate(CType(value, Double)) Else DateTime.TryParse(CType(value, String), dt) End If End If MessageBox.Show(dt.ToString())
object value = NamedRange1.Value2; if (value != null) { if (value is double) { dt = DateTime.FromOADate((double)value); } else { DateTime.TryParse((string)value, out dt); } } MessageBox.Show(dt.ToString());
استخدام نطاقات Excel الأصلية
لتخزين قيمة تاريخ في كائن نطاق Excel الأصلي
قم بإنشاء Range الذي يمثل الخلية A1.
Dim rng As Excel.Range = Me.Application.Range("A1")
Excel.Range rng = this.Application.get_Range("A1", missing);
قم بتعيين تاريخ اليوم كقيمة لـ rng.
Dim dt As DateTime = DateTime.Now rng.Value2 = dt
DateTime dt = DateTime.Now; rng.Value2 = dt;
لاسترداد قيمة تاريخ من كائن نطاق Excel أصلي
قم باسترداد قيمة التاريخ من rng.
Dim value As Object = rng.Value2 If Not value Is Nothing Then If TypeOf value Is Double Then dt = DateTime.FromOADate(CType(value, Double)) Else DateTime.TryParse(CType(value, String), dt) End If End If System.Windows.Forms.MessageBox.Show(dt.ToString())
object value = rng.Value2; if (value != null) { if (value is double) { dt = DateTime.FromOADate((double)value); } else { DateTime.TryParse((string)value, out dt); } } System.Windows.Forms.MessageBox.Show(dt.ToString());
راجع أيضًا:
المهام
كيفية القيام بما يلي: الإشارة إلى نطاقات ورقة العمل في التعليمات البرمجية
كيفية القيام بما يلي: إضافة عناصر التحكم NamedRange إلى أوراق العمل
المبادئ
المعلمات الاختيارية في حلول Office