Compartilhar via


Como: Armazenar e recuperar valores de data no intervalo do Excel

Se aplica a

As informações contidas neste tópico se aplicam apenas às especificado Ferramentas do Visual Studio para o Office projetos e as versões do Microsoft Office.

Tipo de Projeto

  • Projetos de nível de documento

  • Projetos de nível de aplicativo

Versão do Microsoft Office

  • O Excel 2003

  • O Excel 2007

For more information, see Recursos disponíveis pelo aplicativo e o tipo de projeto.

Você pode armazenar e recuperar valores em um Controlarar de NamedRange ou um objeto de intervalo do Excel nativo.

Se você armazenar um valor de data situada em ou depois de 1/1/1900 em um intervalo usando Ferramentas do Visual Studio para o Office, ele é armazenado em Formatarar de OLE Automation (OA).Você deve usar o método FromOADate para recuperar o valor de datas de OLE Automation (OA).Se a data for anterior a 1/1/1900, ele é armazenado como uma Cadeia de Caracteres.

Observação:

Datas do Excel diferem das datas de automação OLE para os primeiros dois meses de 1900.Também há diferenças se a 1904 data sistema estará Marcado.Os exemplos de código a seguir não Endereço essas diferenças.

Usando um Controlarar NamedRange

  • Este exemplo é para personalizações em nível de documento.O seguinte código deve ser colocado em uma classe de Planilha, não na classe ThisWorkbook.

Armazenar um valor de data em um intervalo nomeado

  1. Criar um Controlarar de NamedRange na célula 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");
    
  2. Definir data de hoje como valor para NamedRange1.

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

Para recuperar um valor de data de um intervalo nomeado

  • Recupere o valor de data de 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());
    

Usar intervalos de Excel nativo

Armazenar um valor de data em um objeto de intervalo do Excel nativo

  1. Criar um Range que representa a célula A1.

    Dim rng As Excel.Range = Me.Application.Range("A1")
    
    Excel.Range rng = this.Application.get_Range("A1", missing);
    
  2. Definir data de hoje como valor para rng.

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

Para recuperar um valor de data de um objeto de intervalo nativo do Excel

  • Recupere o valor de data de 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());
    

Consulte também

Tarefas

Como: Enviar valores a células de planilha

Como: Se referir a intervalos de planilha no código

Como: Adicionar controles NamedRange a planilhas

Conceitos

Trabalhando com intervalos

Visão geral do modelo de objeto do Excel

Controlarar NamedRange

Noções básicas sobre parâmetros opcionais in Office Solutions