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
Versão do Microsoft Office
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
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");
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
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);
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
Visão geral do modelo de objeto do Excel
Noções básicas sobre parâmetros opcionais in Office Solutions