Word VBA enregistrement d'une copie d'un document - VB/VBA/VBS - Programmation
Marsh Posté le 07-06-2007 à 14:57:27
SaveCopyAs [F1] sous Word
|
Marsh Posté le 07-06-2007 à 16:25:38
Merci pour votre aide, mais je n'y suis encore.
Jpcheck, avec Document_BeforeClose, la macro ne s'éxécute apparement pas lorsque je ferme le document. Par contre, c'est le cas avec Document_Close
Kiki, j'ai regardé l'aide dans Excel et Word concernant SaveCopyAs et si je comprends bien, il peut sauver le fichier au format html et non doc. Ce n'est donc pas ce que je cherche ?
Fab
Marsh Posté le 07-06-2007 à 16:28:50
et pkoi ne fais-tu pas à la place un .save puis un .saveas à la place du savecopyas ?
Marsh Posté le 07-06-2007 à 16:39:14
>> fab117 : S'il s'agit d'un projet HTML ce qui ne semble pas être le cas , et donc SaveCopyAs ne s'applique pas , d'ou le message d'erreur. Suis le conseil de JpCheck
Marsh Posté le 07-06-2007 à 16:54:29
Le problème avec ce que tu proposes Jpcheck, c'est qu'avec ça, dans tous les cas il sauvera le document et ça me fait un peu peur.
Il arrive assez souvent que je change quelque chose dans un document et que finalement ça ne me plait pas => je ferme celui-ci et lorsqu'il me demande si je veux sauver, je dis non.
Ou alors, il faudrait qu'il me demande confirmation pour le .Save, mais pas pour le .SaveAs
Est-ce faisable ?
Fab
Marsh Posté le 07-06-2007 à 16:57:10
tu simules le message de confirmation avec une msgbox de type yescancel ?
Marsh Posté le 08-06-2007 à 09:28:26
Code :
|
Marsh Posté le 08-06-2007 à 13:33:59
Merci pour votre aide,
Voici le code complet pour le cas où ça interresserait quelqu'un d'autre.
Fab
Private Sub Document_Close()
Dim Confirmation As Long
' Quitte la macro si je ne suis pas l'utilisateur
If Environ("UserName" ) <> "Toto" Then Exit Sub
nom = ActiveDocument.Name
' Demande s'il faut enregistrer les modifications
Confirmation = MsgBox("Voulez vous enregistrer le fichier " & nom & " ? ", vbYesNo)
If Confirmation = vbYes Then
ThisDocument.Save
End If
Confirmation = MsgBox("Voulez vous faire une copie du fichier " & nom & " ? ", vbYesNo)
If Confirmation = vbYes Then
ThisDocument.Save
' Fait une copie
Dossier = "H:\DATA\GF\Gestion de projets\Circuit d'eau\Copie des documents qualite"
Count = Len(ActiveDocument.Name)
nom = Left(ActiveDocument.Name, Count - 4)
strDate = Format(Date, "dd-mm-yy" ) & " - " & Format(Time, "h-mm-ss" )
ThisDocument.SaveAs FileName:=Dossier & nom & " - " & strDate & ".doc"
End If
End Sub
Marsh Posté le 07-06-2007 à 13:17:06
Salut,
Je voudrais que ma macro enregistre une copie du document actif dans un répertoire selectionné.
Avec Excel, j'ai la ligne : ThisWorkbook.SaveCopyAs Filename:=Dossier & Nom & " - " & strDate & ".xls" qui fonctionne parfaitement.
J'ai essayé avec Word : ThisDocument.SaveCopyAs FileName:=Dossier & Nom & " - " & strDate & ".doc", mais il plante sur le .SaveCopyAs
Quelqu'un aurait-il svp la solution ?
Fab