cs_Nulll
Messages postés27Date d'inscriptionjeudi 25 août 2005StatutMembreDernière intervention20 février 2008
-
13 nov. 2007 à 16:47
cs_Nulll
Messages postés27Date d'inscriptionjeudi 25 août 2005StatutMembreDernière intervention20 février 2008
-
15 nov. 2007 à 14:25
Bonjour à tous,
Je développe pour un client une application sur Excel.
Mon ordinateur de travail est sous Window XP pro et trourne avec Office 2007. C'est lui que j'utilise pour développer. Cependant en test final j'utilise mon portable qui est aussi XP mais utilise Office 2000 car mon client a tout son parc de PC avec cette version.
Je viens de finir la dernière partie de mon mandat, à savoir, constituer des contrats personnalisés sur Word en le remplissant des divers résultats calculés en amont de mon application. J'utilise des signets pour cela. Tout cela fonctionne très bien. Ensuite je veux sauvegarder dans un dossier particulier ce document:
Sur mon poste principal ca fonctionne super. Sur le portable j'ai une erreur 430 "La classe ne gère pas Automation ou l'interface attendue" au niveau de cette ligne.
Tout ce que j'ai essayé n'a rien donné et pour une fois je n'ai pas trouvé de situation vraiment similaire et de solution claire sur Internet.
Une chose importante que vous devez savoir: Mon client qui est une très grosse et très sensible entreprise refuse que l'on "joue" avec les paramètres et les bibliothèques de leur parc (C'est pour cela que l'application est sur Excel et non compactée à partir d'un langage quelconque). Les solutions qui seraient de dire "va changer sur la machine telle version de dll ou autre" n'est pas la réponse que j'espère.
qui me permettent de récupérer le login pour l'insérer ensuite dans la concaténation du chemin pour accéder au dossier Mes documents.
Je repproche tout de même à Mes documents d'être un fourre tout où se retrouvent bien des fichiers qu'on n'est pas spécialement interressé à classer. En bref c'est souvent le bordel pour retrouver d'un coup d'oeil un fichier. Même si je suis maintenant à l'aise de montrer mes résultats à mon client, ultimement je souhaite toujours sauvegarder dans un dossier dédié.
cs_Nulll
Messages postés27Date d'inscriptionjeudi 25 août 2005StatutMembreDernière intervention20 février 2008 14 nov. 2007 à 16:39
Mon plan A fonctionne aussi maintenant:
Je viens de lire l'aide dans l'explorateur d'objets. Lorsque l'on fait MWord.ActiveDocument.Save (ou SaveAs) suivi de FileName = " xxxx.doc", on peut remplacer le nom du fichier par tout son chemin et évidement le nom du fichier au bout. That's all!!!
Je ne saurais donc probablement jamais où était mon problème d'origine mais au moins j'ai réussi à le contourner!
cs_Nulll
Messages postés27Date d'inscriptionjeudi 25 août 2005StatutMembreDernière intervention20 février 2008 13 nov. 2007 à 17:50
Comme j'ai essayé bien des combinaisons je ne sais plus pourquoi j'en suis finalement arrivé à l'écrire ainsi. Donc suite, à ta suggestion, je viens de l'écrire comme cela:
En ce qui concerne sa présence dans explorateur objet:
Il appartient à la bibliothèque Word (Microsoft Word 9 coché sur le portable et 12 sur le PC principal)
En faisant "définition" directement dessus on le trouve dans la classe Global. Et en faisant une recherche directement dans l'explorateur il apparait aussi dans la classe Application.
Cela allume-t-il une lumière??? Moi je suis dans le noir
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Nulll
Messages postés27Date d'inscriptionjeudi 25 août 2005StatutMembreDernière intervention20 février 2008 13 nov. 2007 à 19:48
Bon... étrange...
Maintenant y a 2 façons de m'en sortir:
Soit on cherche pourquoi moi je le vois dans les objets et pas toi ... en supposant que cela débouche sur une solution...
Soit je réécris le code en utilisant une autre approche
Vu le peu de lignes en jeu je préfèrerai la dernière solution.
Tout d'abord il faut savoir que si j'élimine la ligne de code à problème, l'instruction suivante qui fait un "save as" me sauvegarde alors mon fichier Word dans "Documents". Donc ce n'est pas une catastrophe.
Je voulais cependant immédiatement ouvrir ce document sauvegardé en "Print preview". Mais je ne suis pas à l'aise de lui dire où aller chercher dans ce cas car le dossier "Documents" se trouve généralement sous le nom de la personne loggée. Il doit y avoir un tour de passe passe que je ne connais pas.
Pour résumer, si j'arrive à sauvegarder dans le dossier archives, ou au pis aller, si je suis capable d'aller ouvrir le fichier dans documents et cela quel que soit le poste où l'application est utilisée j'estimerai mon problème comme résolu.
cs_Nulll
Messages postés27Date d'inscriptionjeudi 25 août 2005StatutMembreDernière intervention20 février 2008 14 nov. 2007 à 14:02
Regarde:
"C:\Documents and Settings\Fredou\Mes documents" Ca c'est mon PC principal
"C:\Documents and Settings\Natalie B\My documents" Ca c'est le PC portable
Sachant que ce n'est pas moi qui installe l'utilitaire sur chaque poste de mon client. Sachant aussi que dès que je demande de faire quelque chose de particulier même simple cela devient un immense problème pour eux, il vaut mieux que je me débrouille pour trouver une solution universelle et transparante pour eux, c'est à dire qui ne demande pas de rentrer au préalable chaque chemin.
La solution pour l'instant je ne la connais pas mais je vois deux pistes à explorer:
Soit il existe une façon d'écrire le chemin pour accéder à mes documents qui ignore la particularité du dossier nommé avec le log.
Soit je trouve le moyen de récupérer le nom du log et de l'affecter à une variable string que je concatène alors dans le reste (pour le côté bilingue j'en fait mon affaire (je suis au Québec)). Je pense que ce serait le meilleur choix
cs_Nulll
Messages postés27Date d'inscriptionjeudi 25 août 2005StatutMembreDernière intervention20 février 2008 15 nov. 2007 à 14:25
J'avoue ma parfaite incompétence en matière d'APIS. Depuis hier, je me documente sérieusement pourdiminuer mon ignorance crasse en cette matière. J'ai bien l'intention maintenant de les utiliser. Une fois que j'aurai envoyé ce message je vais poser une nouvelle question sur le forum. Peut être verras-tu là une occasion de les appliquer?