Sdílet prostřednictvím


Postup: Ukládání hodnot data do oblastí aplikace Excel a jejich načítání prostřednictvím kódu programu

Můžete uložit a načíst hodnoty NamedRange ovládací prvek nebo objekt rozsah nativní aplikace Excel.

Platí pro: Informace v tomto tématu se vztahují na projekty na úrovni dokumentu i na úrovni aplikace v Excelu 2013 a v Excelu 2010. Další informace najdete v tématu Dostupné funkce podle aplikací systému Office a typů projektu.

Pokud ukládáte hodnotu datum, od 1/1/1900 v oblasti pomocí nástrojů pro vývoj Office v sadě Visual Studio, je uložen ve formátu OLE Automation (OA).Je nutné použít FromOADate metodu k získání hodnoty kalendářních dat OLE Automation (OA).Pokud je datum dřívější než 1/1/1900, je uložena jako řetězec.

[!POZNÁMKA]

Data aplikace Excel se liší od data první dva měsíce 1900 automatizace OLE.Existují také rozdíly pokud kalendářní systém 1904 políčko.Ukázkové příklady kódu adresy nejsou tyto rozdíly.

Pomocí ovládacího prvku NamedRange

  • Tento příklad je pro vlastní nastavení na úrovni dokumentu.Následující kód musí být umístěn v třídy list, nikoli ThisWorkbook třídy.

K uložení hodnoty data v pojmenované oblasti

  1. Vytvořit NamedRange řízení na buňku 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"), "NamedRange1");
    
  2. Nastavit jako hodnota pro dnešní NamedRange1.

    Dim dt As DateTime = DateTime.Now
    NamedRange1.Value2 = dt
    
    DateTime dt = DateTime.Now;
    NamedRange1.Value2 = dt;
    

Načíst hodnotu data z pojmenované oblasti

  • Načíst hodnotu data z 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());
    

Použití oblastí nativní aplikace Excel

Hodnota data ukládat do nativní objekt rozsah aplikace Excel

  1. Vytvořit Range , která představuje buňku A1.

    Dim rng As Excel.Range = Me.Application.Range("A1")
    
    Excel.Range rng = this.Application.get_Range("A1");
    
  2. Nastavit jako hodnota pro dnešní rng.

    Dim dt As DateTime = DateTime.Now
    rng.Value2 = dt
    
    DateTime dt = DateTime.Now;
    rng.Value2 = dt;
    

Hodnota data načíst z nativní objekt rozsah aplikace Excel

  • Načíst hodnotu data z 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());
    

Viz také

Úkoly

Postupy: Odkazování na oblasti listů v kódu programu

Postupy: Přidání ovládacích prvků NamedRange do listů

Koncepty

Práce s oblastmi

NamedRange – ovládací prvek

Volitelné parametry v řešeních pro systém Office

Další zdroje

Přehled modelu objektů aplikace Excel