Nasıl yapılır: Program Aracılığıyla Excel Aralıklarında Veri Değerlerini Depolama ve Alma
NamedRange denetiminde veya yerel Excel aralık nesnesinde değerleri saklayabilir ve alabilirsiniz.
Uygulama alanı: Bu konudaki bilgiler Excel 2013 ve Excel 2010 uygulamalarının belge düzeyi projelerine ve uygulama düzeyi projelerine yöneliktir. Daha fazla bilgi için bkz. Office Uygulamalarında Kullanılabilir Özellikler ve Proje Türü.
Visual Studio Office geliştirme araçlarını kullanarak 1/1/1900 aralığı üstüne ve sonrasına düşen bir tarih değerini saklarsanız, OLE Otomasyonu (OA) biçiminde saklanır.OLE Otomasyonu (OA) tarihlerinin değerini almak için FromOADate yöntemini kullanmalısınız.Tarih 1/1/1900'dan önce ise dize olarak saklanır.
[!NOT]
Excel tarihleri 1900'un ilk iki ayı için OLE Otomasyon günlerinden farklılık gösterir.Aynı zamanda 1904 tarih sistemi seçeneği seçiliyse de farklar vardır.Aşağıdaki kod örnekleri bu farkları göstermez.
NamedRange Denetimini Kullanma
- Bu örnek, belge düzeyi özelleştirmeleri içindir.Aşağıdaki kod sayfa sınıfında konumlandırılmalıdır, ThisWorkbook sınıfında değil.
Adlandırılmış aralıkta bir tarih değeri saklamak için
A1 hücresinde NamedRange denetimi oluşturun.
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"), "NamedRange1");
Bügünün tarihini NamedRange1 için değer olarak ayarlayın.
Dim dt As DateTime = DateTime.Now NamedRange1.Value2 = dt
DateTime dt = DateTime.Now; NamedRange1.Value2 = dt;
Adlandırılmış aralıktan bir tarih değeri almak için
Tarih değerini NamedRange1'dan alın.
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());
Yerel Excel Aralıklarını Kullanma
Tarih değerini yerel Excel range nesnesinde saklamak için
A1 hücresini temsil eden Range oluşturun.
Dim rng As Excel.Range = Me.Application.Range("A1")
Excel.Range rng = this.Application.get_Range("A1");
Bügünün tarihini rng için değer olarak ayarlayın.
Dim dt As DateTime = DateTime.Now rng.Value2 = dt
DateTime dt = DateTime.Now; rng.Value2 = dt;
Tarih değerini yerel Excel range nesnesinden almak için
Tarih değerini rng'den alın.
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());
Ayrıca bkz.
Görevler
Nasıl yapılır: Koddaki Çalışma Sayfası Aralıklarına Program Aracılığıyla Bakma
Nasıl yapılır: çalışma sayfalarına NamedRange denetimleri ekleme
Kavramlar
Office Çözümlerinde İsteğe Bağlı Parametreler