O formato das datas é incorreto ao usar uma macro do VBA para converter um arquivo de texto CSV no Excel 2003

Importante: Este artigo contém informações sobre como modificar o registro. Certifique-se de fazer backup do registro antes de modificá-lo. Certifique-se de que você saiba como restaurar o registro caso ocorra um problema. Para obter mais informações sobre como fazer backup, restaurar e modificar o registro, clique no número abaixo para ler o artigo na Base de Conhecimento Microsoft:
256986 descrição do registro do Microsoft Windows

Sintomas

Você pode usar um de Visual Basic for Applications do Microsoft macro (VBA) para converter um arquivo de texto (CSV) de valores separados por vírgulas em uma pasta de trabalho do Microsoft Office Excel 2003 (*. xls). No entanto, o formato das datas são convertidos em sua pasta de trabalho do Excel 2003 está incorreto.

Por exemplo, no arquivo CSV, podem ser datas no formato mm/dd/aaaa . As datas podem ser convertidas para o formato dd/mm/aaaa , quando você executar a macro a seguir para converter o arquivo CSV em uma pasta de trabalho do Excel:
Sub test()
Workbooks.OpenText Filename:="C:\Test1.csv", DataType:=xlDelimited, _
TextQualifier:=xlTextQualifierNone, FieldInfo:=Array(1, 4)

End Sub

Resolução

Esse problema foi corrigido primeiramente em um hotfix que agora está contido em um service pack. Se você instalou o service pack mais recente para o Office 2003, você não precisa instalar o hotfix.

Informações do service pack

Esse problema é corrigido no Office 2003 Service Pack 3. Para resolver esse problema, obtenha o service pack mais recente para o Office 2003. Para obter mais informações, clique no número abaixo para ler o artigo na Base de Conhecimento da Microsoft:
870924 como obter o service pack mais recente para o Office 2003

Depois de instalar o service pack, execute as etapas listadas na seção "Como habilitar o hotfix" para definir a chave de registro VBAAlwaysLoadUS e ativar o hotfix.

Informações sobre o hotfix

Como obter o hotfix

Esse problema foi corrigido no Excel 2003 posterior ao Service Pack 2 hotfix do dia 8 de dezembro de 2005. Para obter mais informações, clique no número de artigo a seguir para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
911019 descrição do pacote de hotfix do Excel 2003 posterior ao Service Pack 2: 8 de dezembro de 2005

Como habilitar o hotfix

Aviso: Problemas sérios podem ocorrer se você modificar o Registro incorretamente usando o Editor do registro ou usando outro método. Esses problemas podem exigir que você reinstale seu sistema operacional. A Microsoft não garante que esses problemas possam ser solucionados. Modificar o registro de sua responsabilidade.

Para habilitar esse hotfix, siga estas etapas:
  1. Feche o Excel 2003.
  2. Clique em Iniciar, clique em Executar, digite regedit na caixa Abrir e clique em OK.
  3. Localize e clique para selecionar a seguinte chave do registro:
    HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Options
  4. Após selecionar a chave especificada na etapa 3, aponte para novo no menu Editar e, em seguida, clique em Valor DWORD.
  5. Digite VBAAlwaysLoadUSe pressione ENTER.
  6. Clique com o botão VBAAlwaysLoadUSe, em seguida, clique em Modificar.
  7. Na caixa Dados do valor , digite 1 e clique em OK.
  8. No menu arquivo , clique em Sair para fechar o Editor do registro.

Solução alternativa

A Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação a um propósito específico. Este artigo presume que você esteja familiarizado com a linguagem de programação que está sendo demonstrada e com as ferramentas usadas para criar e depurar procedimentos. Engenheiros de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades específicas. Para contornar esse problema, adicione o < Local: = True > parâmetro à sua macro VBA como no exemplo a seguir:
Sub test()
Workbooks.OpenText Filename:="C:\Test1.csv", DataType:=xlDelimited, _
TextQualifier:=xlTextQualifierNone, FieldInfo:=Array(1, 4), Local:=True

End Sub

Status

A Microsoft confirma que este é um problema em seus produtos listados na seção "Aplica-se a".

Esse problema foi corrigido primeiro no Office 2003 Service Pack 3.
Propriedades

ID do Artigo: 911750 - Última Revisão: 20 de fev de 2017 - Revisão: 1

Comentários