Existe-t-il un moyen programmatique de savoir si une feuille Excel est corrompue?

0

Nous avons une vieille et jolie grande feuille Excel. Il est sauvegardé chaque jour plusieurs fois et il semble qu'une fois par semaine la feuille soit corrompue.

Environnement:

  • Tout le monde utilise la version de bureau x64

  • il utilise plusieurs plugins, y compris Bloomberg et un plugin interne

  • il utilise plusieurs RTD, y compris Bloomberg et un dans la maison

  • nous utilisons la dernière version d'Office et d'Excel

  • mélange de machines Win7 et Win10 (également x64).

Existe-t-il une méthode de programmation permettant de déterminer si une feuille Excel enregistrée est corrompue sans la charger et en vérifiant qu'elle fonctionne correctement?

La plupart (tous?) Du temps où il est corrompu, il ne s'ouvre pas du tout ou il se plante lorsque vous faites quelque chose comme CRTL-F.

Nous sauvegardons la feuille plusieurs fois par jour et nous aimerions vérifier chaque sauvegarde si nous le pouvions.

Chollida
la source
Deux outils gratuits peuvent être trouvés dans l'article Détection et récupération de corruption de classeur Excel .
harrymc

Réponses:

1

Personnellement, je suggérerais d'écrire un script PowerShell.

Vous trouverez ci-dessous un exemple de base sur la façon d’ouvrir toutes les feuilles de calcul sur le bureau.

Si le fichier est ok / openable, le script affichera le nom de la 1ère feuille sur la feuille de calcul.

Si le fichier est corrompu / inopérable, powershell lève une exception.

Cela pourrait facilement être étendu pour donner le nom du fichier et un statut dans une table.

$user = $env:USERNAME
$Location = "c:\users\$user\desktop\"

$ExcelFiles = Get-ChildItem -Path $Location -Filter *.xls*

Foreach ($ExcelFile in $ExcelFiles){
    $Excel = New-Object -ComObject Excel.Application
    $Workbook = $Excel.Workbooks.Open($ExcelFile.FullName)
    $workSheet = $Workbook.Sheets.Item(1)
    $WorkSheet.Name
}

Cela étant dit, examiner les problèmes liés au tableur lui-même serait également une bonne idée.

Ce que j'ai remarqué comme causant des problèmes avec les feuilles de calcul volumineuses consiste en un grand nombre de mises en forme personnalisées dans la feuille de calcul (polices différentes, texte en couleur, etc.).

Il peut être intéressant d’envisager de créer une nouvelle feuille de calcul et de collaborer avec l’information des 2 dans une autre si nécessaire.

J'espère que cela t'aides.

CraftyB
la source