Page 1 sur 1

Pb Import Word sous Lotus notes 8.5 mais pas 7

MessagePublié: 30 Sep 2011 à 15:25
par Mar.mack
Bonjour,

J'ai une base notes qui a été développé pour permettre l'importation de document Word afin d'archiver des textes.

Sur les postes qui ont été migré en Lotus Notes 8.5 (il était en 7.x), l'importation ne fonctionne plus.
Il affiche un message: 'Cannot create automation object'.

Avec le débogueur du Designer, j'ai noté que cela bloquait à la création de l'objet (au tout début du traitement)

Code : Tout sélectionner
Option Public

'Variable Global
Dim InitPath As String
Dim InitRubrique As String
Dim InitFiltrage As String
Dim InitNomFichier As String
Dim InitNomDossier As String

Dim Rubrique As String
Dim Categorie As String
Dim DateRedac As String
Dim WrdFilename As String

Dim NbWrdFile As Integer

'Variable Répertoire
Dim LNumRep List As String
Dim LRubriqueRep List As String
Dim LWrdRep List As String

'Variable Document
Dim Wrd_File List As String
Dim Wrd_Path List As String
Dim Wrd_Rub List As String
Dim Wrd_Cat List As String
Dim Wrd_Sjt List As String
Dim Wrd_Date List As String
Dim iWrdW As Integer
Dim iWrdR As Integer
Dim DatePub List As String

'Variable session word
Dim Wrd As Variant

'Variable Notes
Dim Session As NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim doc As NotesDocument
Sub Initialize
   
   '   On Error Resume Next
   Dim  NumPath As String
   Dim  RubriquePath As String
   Dim  WrdPath  As String
   Dim WrdVersion As string
   
   Dim NIndex As Integer
   Dim RIndex As Integer
   Dim WIndex As Integer
   
   Set Session = New NotesSession
   Set db = Session.CurrentDatabase
   
   Print "---"
   Print "Base archivage texte : démarrage de l'importation ..."
   'Initialisation Word
   '   Messagebox "Ouverture de Microsoft Word", MBOk   
   Set Wrd = CreateObject ( "Word.Application")
   '   Messagebox "Microsoft Word est ouvert", MBOk   
   Wrd.visible = True


N'étant pas très bon en développement Notes (j'ai appris sur le tas, et j'en fait très peu), je me permet de vous solliciter pour savoir si quelqu'un a déjà rencontré le problème.

MessagePublié: 30 Sep 2011 à 21:08
par roubech
Word est toujours bien installé sur le poste ?
en installant le client Notes 8.5 est-ce la suite Symphony a également été installée (mais je doute qu'il y ai un rapport) ?
t'as essayé de ré installer Office au cas ou des clés de registre aurait sauté ?

MessagePublié: 02 Oct 2011 à 17:13
par Michael DELIQUE

MessagePublié: 04 Oct 2011 à 12:17
par Mar.mack
Je suis un boulet et je m'excuse auprès des membres de ce forum...
Le diagnostique avec le débogueur du designer a été réalisé sur mon poste... sur lequel j'ai viré MS Office, car il m’insupportait.
Et sur ma machine de test, je ne parviens pas à reproduire le problème.

Cependant, j'ai pris notes de vos remarques : j'ai intégré la reconnaissance de la version de word dans mon traitement.
Et je vais explorer la piste des OLE corrompues : plusieurs versions de Office ont été installé sur un des postes à un moment: du ménage a été fait en même temps que la monté de Lotus Notes.
Une coïncidence malheureuse peut-être.

MessagePublié: 04 Oct 2011 à 12:19
par Michael DELIQUE
tu as peut être tout simplement besoin de nettoyer la base de registre sur ton pc de test

MessagePublié: 04 Oct 2011 à 15:57
par Mar.mack
J'ai procéder à une réparation de Office XP sur le poste de l'utilisatrice.
Puis j'ai relancé l'import.

La version de word est bien reconnue. (MS Word XP).
J'obtiens une erreur "Variable d'objet non définie" (c'est l'erreur pour laquelle je réclamais votre aide).

J'ai rajouté des 'print' dans mon code...
Apparemment ça échoue à l'appel de la fonction PInitVar (il ne rentre même pas dedans.).
Ca ne pose pas de problème sous notes 7.

Code : Tout sélectionner
   Print "Base archivage texte : analyse de la configuration ..."
   Call PInitVar
   
   Print "Base archivage texte : analyse du fichier d'import..."

Voilà ce que contient PInitVar:
Code : Tout sélectionner
Sub PInitVar
   
   Set view = db.getview("Configuration")
   Set doc = view.getfirstdocument
   
   InitPath = doc.ColumnValues(1)
   If Right$(InitPath,1) <> "\" Then  InitPath = InitPath & "\"
        Print "Debug InitPath: " & InitPath

   InitNomFichier = doc.ColumnValues(2)
   Print "Debug InitNomFichier: " & InitNomFichier

   InitNomDossier = doc.ColumnValues(3)
   Print "Debug InitNomDossier: " & InitNomDossier

   InitRubrique = doc.ColumnValues(4)
   Print "Debug InitRubrique: " & InitRubrique

   InitFiltrage = doc.ColumnValues(5)
   Print "Debug InitFiltrage: " & InitFiltrage

   Set view = Nothing
   Set doc = Nothing
   
End Sub

MessagePublié: 04 Oct 2011 à 16:28
par Raziel
Cela signifie qu'une variable n'est pas initialisée.

Tu es sûr qu'il ne rentre pas dans ta fonction ? Car au vue du prototype de celle ci, je ne vois pas de raison pour laquelle il pourrai se planter sur l'appel.

Ta variable View est bien initialisé ?
La ligne view.getfirstdocument retourne bien un document ?

Fait des print dans le code de ta fonction afin de voir l'endroit exact ou le code se plante.

MessagePublié: 04 Oct 2011 à 17:08
par Mar.mack
J'ai remis le code que j'avais enlevé dans mon premier message (la liste de toutes les variables définies)...
Je n'ai pas de ligne "set view ...", je n'ai que initialisation de la variable.

Compte tenu que cela fonctionne sur la v7, je te dirais que oui, elle retourne bien un document/une vue. mais je ne sais pas comment le vérifier.

Peut-être est-ce problème de définition de variable sous v8.5. La définition d'une vue ne se fait pas de la même manière ?

J'attends le retour de mon utilisatrice pour savoir ou elle bloque dans PInitVar.

MessagePublié: 04 Oct 2011 à 19:43
par Michael DELIQUE
j'ai pas de souci avec office en fonction des version de notes mais je te conseil vivement de mettre en place une gestion des erreurs qui te donnera plus d'info => http://forum.dominoarea.org/gestion-des ... 12054.html