![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Invité de passage
![]() Date d'inscription: janvier 2008
Messages: 9
|
Salut à tous.
Voici mon problème, je veux sauvegarder une présentation avec un nom précis qui est déterminé grace à un userform lancé avec l'evenement "PresentationBeforeSave" Et ce fichier doit etre sauvegardé sur un disque de sauvegarde placé en réseau Ainsi, voici le code que j'utiliser pour cette manipulation sachant que "nom" représente le nom du fichier et "string" une chaine de caractère Code :
st = "\\PCdonnées\Données\Mes Documents\Sauvegarde Données\" Application.ActivePresentation.SaveAs FileName:=st & nom & ".ppt" voila ce qui s'affiche à ce moment préci : ![]() J'ai essayé plein de trucs genre enlever le ".ppt" à la fin, changer le répertoire par défaut, enlever le "application" devant "activepresentation, etc.. et rien n'a marché Voila pourquoi je sollicite votre aide si quelqu'un à une idée.. Pour information j'ai fait exactement la meme chose avec word et cela marche très bien. Merci d'avance |
|
|
|
|
|
#2 (permalink) |
![]() |
Bonjour
Quelques tests : Qu'y a-t-il dans ta variable Nom ? Enlèves le .ptt pour voir. As-tu les droits en écriture sur le répertoire ? Ton code étant dans une macro complémentaire, essayes de prendre un index (essayes avec 2) au lieu de ActivePresentation. Code :
Application.Presentations(2).SaveAs ... Starec |
|
|
|
|
|
#3 (permalink) |
|
Invité de passage
![]() Date d'inscription: janvier 2008
Messages: 9
|
Tout d'abord merci de ta réponse
puis, réponse à tes questions - dans nom il y a tout simplement une chaine de caractère sans points, sans tirent, sans espace juste des caractère genre presentation1 - enlever ou mettre les ".ppt" ne change rien - j'ai en effet les droit en écriture car j'ai meme essayé d'enregistrer dans différents répertoire (pas uniquement sur celui en réseau) - j'ai essayé avec un index, le 2 ne marche pas car il est "out of range" j'ai donc mis le 1 et il m'a remis la meme erreur qu'au début... snif j'y ai cru sinon, en fait j'utilise une macro complémentaire pour que la macro s'execute lorsqu'on sauvegarde (beforeSave) et je n'ai trouvé que cette manière car toutes les autres macros dans PPT ne s'executent que lors du diamporama (enfin c'est ce que j'ai constaté). Maintenant je peut me tromper (je l'espère meme) et si quelqu'un à une idée pour faire autrement qu'en passant par une macro complémentaire, je sui preneur... Merci encore |
|
|
|
|
|
#5 (permalink) |
|
Invité de passage
![]() Date d'inscription: janvier 2008
Messages: 9
|
Ok je te met ca, c'est le PPT qui contient le code, il n'y a pas de mot de passe
Tu veras juste, j'ai mis plein de code en commentaire parce qu'en fait, avant de faire l'opération de sauvegarde, j'ouvre un fichier excel pour récuperer date et heure puis entrer les information (enfin tu va voir) Par contre nouveauté depuis tout a l'heure, il veut plus créer de macro complémentaire a cause de "controles active X" donc j'ai pas pu mettre la macro complémentaire qui va avec le code modifié..... bref, j'en perd mon latin avec cette histoire Merci pour ton aide |
|
|
|
|
|
#6 (permalink) |
![]() |
Bonjour
J'ai une bonne et une mauvaise nouvelle pour toi. La bonne : J'ai remplacé ton emplacement de sauvegarde par mon bureau, j'ai rempli l'UserForm, lancé la validation, le ppt c'est parfaitement enregistré sur mon bureau. La mauvaise : tout à marché du premier coup, donc cela signifie pour moi (comme je n'ai pas eut de bugs), c'est que cela vient d'un autre problème. Je suis désolé, mais comme je n'ai pas eut de bug, je ne vois pas ce que je peux faire Edit : Par contre, je n'avais qu'un seul fichier, il se peut (c'est juste une idée) c'est que PPT perd le fil avec le terme application, et la présentation, car il ne sait peut-être plus à quel sein se vouer. Essayes en créant tes instances comme tu as fait avec Excel pour toutes les applications qui interviennent. Starec
__________________
En cas de questions techniques par MP ou message visiteur ![]() Office : :Les Cours, Les FAQs VB : Les Cours, Les FAQs Mes articles : ici Me connaitre Dernière modification par Philippe JOCHMANS ; 13/03/2008 à 17h41 |
|
|
|
|
|
#8 (permalink) |
|
Invité de passage
![]() Date d'inscription: janvier 2008
Messages: 9
|
Bon, après multiples tests, il s'avère que ca ne marche pas avec la macro complémentaire (je dirai presque "comme prévu"). Ca ne marche pas non plus en créant un modèle de classe "withevents" pour utiliser l'évenement BeforeSave.
Je me suis ensuite apperçu qu'en lançant "manuellement" le UserForm depuis visual basic, ca marche niquel (c'est ce que tu avais constaté) il falait donc trouver un moyen de lancer le UserForm avec une macro. Le problème c'est que sous PPT, les macros ne se lances que lors du diaporama. J'ai donc bidouillé un peu et personnalisé ma barre d'outils pour ajouter une macro qui lance mon UserForm juste à coté du bouton enregistrer (et avec l'icone s'il vous plait). Et voila le résultat... ![]() Je vais maintenant essayer d'améliorer un peu le truc En tout cas merci vraiment pour ton aide |
|
|
|
|
|
#9 (permalink) | |
![]() |
Bonjour
Citation:
Si tu ne veux pas aller plus loin sur ce sujet dans le forum, penses à cliquer sur Starec |
|
|
|
|
![]() |
![]() |
||
Sauvegarder une présentation avec SaveAs
|
||
| Outils de la discussion | |
|
|