Em automação Excel, como lidar com graciosamente erro de formato de arquivo inválido após a abertura do arquivo?

StackOverflow https://stackoverflow.com/questions/390920

  •  23-08-2019
  •  | 
  •  

Pergunta

Eu estou tentando abrir um arquivo do Microsoft Excel em um programa C # usando o método 'excelApp.Workbooks.Open ()'. Quando isso acontece, se o formato do arquivo é inválido, este método faz com que uma caixa de mensagem de erro a ser exibido. Eu, no entanto, não quer isso; Desejo para lidar com esse erro graciosamente em meu próprio código.

A minha pergunta é, como posso fazer isso?

O método acima não lançar qualquer exceção que eu posso pegar. Mesmo que o fizesse, há ainda que a caixa de mensagem traquinas de qualquer maneira. Então, talvez a única maneira seria para validar o formato de arquivo antes abri-lo. Existe, então, um outro método na API Excel para permitir que tal validação?

Foi útil?

Solução

Sinto muito, eu não sou capaz de simular o exemplo de arquivo xls corruptos com o Excel 2007.

Tente Application.DisplayAlerts = false antes de chamar Workbooks.Open ...

Se o livro não pode ser aberto, o valor retornado será nulo.
(Isto é, pasta de trabalho wkb = Workbooks.Open (....); wkb será nulo quando DisplayAlerts = False e o arquivo não pôde ser opended)

Este é puramente baseado no que eu entendo do modelo de objeto do Excel.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top