Erreur lors de la génération de mon rapport

Erreur lors de la génération de mon rapport

Description

Dans certains cas, une erreur peut être affichée lors de la génération de rapport au format PDF depuis l'application BatiScript Windows.

Un message d'erreur est alors affiché avec une des erreurs HRESULT suivantes :
  1. 0x8002801D (TYPE_E_LIBNOTREGISTERED)
  2. 0x80029C4A (TYPE_E_CANTLOADLIBRARY)
  3. 0x80004002 (E_NOINTERFACE)

Diagnostic

Les entrées du registre Windows requises pour l’export PDF via COM Interop avec la suite Office sont incorrectes, ce qui empêche nos applications d’utiliser les librairies COM.

Résolution

> Désinstallation version 64bits et installer la 32

Si Le problème persiste, merci de passer à la solution en dessous

> Réparation d'Office

Réparer Microsoft Office (2010, 2013 ou 2016 selon la version) depuis le menu Programmes et fonctionnalités de Windows (clic droit sur le programme Microsoft Office -> Modifier -> Réparer). Il vous sera alors proposer une réparation rapide ou un réparation en ligne, nous vous recommandons la réparation en ligne.
Pour info sur Windows 11 au moins, les applications Offices sont nommés "365 Apps", il est donc nécessaire d'effectuer la réparation en ligne de cette application, si vous le faites sur l'application "Office" cela ne sera pas efficace.



La réparation en ligne va prendre un peu de temps, et nécessitera la cloture de tous les logiciels Microsoft Office (Word, Excel, Outlook ...)
Nous vous recommandons donc d'enregistrer votre travail avant de poursuivre.

Redémarrer ensuite l’ordinateur et vérifier si le problème est corrigé, si ce n'est pas le cas passer à la solution ci dessous

> Corriger manuellement le registre Windows (utilisateurs expérimentés)

Si aucune des opérations précédentes n’a corrigé le problème, il est possible de corriger manuellement le registre Windows.
Ces opérations sont destinées aux utilisateurs expérimentés étant familiers avec l'édition du registre Windows. Nous déclinons toute responsabilité quant à l'utilisation de cet article. En aucun cas nous ne pourrions être tenus responsable en cas de problème sur votre ordinateur suite à une modification du registre.

Vous trouverez ci-dessous les ID d'Interface (IID) nécessaires à la suite des opérations :
  • Word : 00020970-0000-0000-C000-000000000046
  • Excel : 000208D5-0000-0000-C000-000000000046
  • Outlook : 00062FFF-0000-0000-C000-000000000046

  1. Avant toute modification, sauvegarder une copie du registre afin de pouvoir effectuer un retour en arrière en cas de problème : Comment sauvegarder et restaurer le Registre dans Windows ;
  2. Vérification de l'Interface :
    • Ouvrir l'éditeur du registre (regedit.exe) ;
    • Naviguer vers la clé suivante (en utilisant l'ID d'Interface correspondante ci-dessus) :
      • x64 : HKEY_CLASSES_ROOT\WOW6432Node\Interface\[Interface ID]\TypeLib
      • x86 : HKEY_CLASSES_ROOT\Interface\[Interface ID]\TypeLib
    • Noter la valeur de la clé (par défaut) : elle correspond au TypeLib ID de l'application ;
    • Noter la valeur de la clé Version : elle correspond au numéro de version de l'application actuellement installée ;

      Exemple d'accès au TypeLib ID et à la version de Word
  3. Correction du TypeLib :
    • Naviguer vers la clé suivante (en utilisant le TypeLib ID récupéré précédemment) :
      • x64 : HKEY_CLASSES_ROOT\WOW6432Node\TypeLib\[TypeLib ID]
      • x86 : HKEY_CLASSES_ROOT\TypeLib\[TypeLib ID]
    • Supprimer les clés ne correspondant pas au numéro de version actuellement installé récupéré précédemment.

      Exemple d'accès au TypeLib de Word où deux anciennes versions sont toujours référencées, il est nécessaire de supprimer les clés 8.4 et 8.5
    • Supprimer la clé "win32" ou "win64" présente dans le sous-dossier "0". Pour savoir quelle clé supprimer entre les deux, il faut vérifier que le document indiqué dans la clef existe bien. Exemple pour win32 : "C:\Program Files (x86)\\icrosoft Office\\Root\Office16\MSWORD.OLB"
  4. Relancer BatiScript et générer un rapport au format "PDF" pour voir si le problème est corrigé.

> Dernière solution

Si le problème n'est toujours pas corrigé, nous vous invitons à tenter cette solution : 
Comme dans la solution précédente, cette opération est à réaliser uniquement par des utilisateurs expérimentée, contacter votre service informatique en cas de doute.

1. Télécharger regtlibv12.exe sur le Poste (version 32 bits ou 64bits à utiliser en fonction de la version de la suite Office installée sur votre poste)
2. Lancer l'invite de commande en tapant cmd dans la barre de recherche de Windows 
3. Changer le répertoire dans lequel se trouve le fichier téléchargé "regtlibv12.exe", par exemple : cd %USERPROFILE%\NDownloads
4. Exécuter la commande suivante, où <msoutl.olb file> est la valeur obtenue à l'étape 2 : regtlibv12.exe "<msoutl.olb file>".
Pour Outlook, vous devriez retrouver cette valeur dans la clé de registre de la forme HKEY_CLASSES_ROOT\TypeLib\{00062FFF-0000-0000-C000-000000000046}\9.6\0\Win64
Par exemple :
regtlibv12.exe "C:\Program Files\Microsoft Office\root\Office16\MSWORD.OLB" Pour Word
regtlibv12.exe "C:\Program Files\Microsoft Office\root\Office16\MSOUTL.OLB" Pour Outlook
5. Tester la génération depuis Batiscript,
Si vous aviez un problème de génération de mail avec Outlook, il est recommandé d'avoir le logiciel Outlook ouvert avant de demander l'envoi par mail à BatiScript