Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/08/2005, 14h20   #1
Membre habitué
 
Avatar de Oui-Oui MB
 
Inscription : avril 2005
Messages : 111
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : avril 2005
Messages : 111
Points : 108
Points : 108
Par défaut [VBA][Word]Sauvegarder sans les macros

Bonjour !

J'aimerais pouvoir faire cette chose qui parait si simple : sauvegarder mon fichier (sous un autre nom) mais sans les macros.

Le contexte est simple : j'ai un fichier avec des tags spéciaux dedans et un fichier de donnée. Lors de l'ouverture, une macro lit le fichier de donnée et remplis les tags et après doit sauver le fichier (avec un autre nom). Ce dernier ne doit pas contenir de macro...

Est-ce possible ?
Oui-Oui MB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2005, 17h03   #2
Membre habitué
 
Avatar de Oui-Oui MB
 
Inscription : avril 2005
Messages : 111
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : avril 2005
Messages : 111
Points : 108
Points : 108
Voila j'ai bien chipoté et j'ai trouvé une jolie bidouille pour parvenir à mes fins...

Le truc consiste à sauver le document au format rtf (comme ça, il ne contient plus de macros) puis de le remettre au format doc.

Voici mon bout de code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 
Sub SaveWithoutMacro()
 
    'Enregistre le document sans les macros
 
    'Methode de fou :
    ' - enregistrer le document
    ' - en créer une copie qu'on ouvre (A)
    ' - enregistrer A en tant que rtf (-> enleve les macros)
    ' - re-enregistrer A en tant que doc
 
    Dim path, filename, nfname As String
    Dim docCur, docNew As Document
 
    'Sauvegarde
    ThisDocument.Save
 
    path = ThisDocument.path
    filename = ThisDocument.Name
 
    'Creation d'une copie
    CopyFile path & "\" & filename, path & "\_tmp_" & filename, False
 
    'Ouverture de cette copie
    Set docCur = ThisDocument
    Set docNew = Documents.Open(path & "\_tmp_" & filename)
 
    'Enregistrer docNew en rtf
    docNew.SaveAs filename:=path & "\_tmp_" & filename & ".rtf", FileFormat:=wdFormatRTF
 
    'Fermer ce fichier
    docNew.Close
 
    'Re ouvrir docNew
    Set docNew = Documents.Open(path & "\_tmp_" & filename & ".rtf")
 
    'Sauvegarde en doc
    nfname = Strings.Mid(filename, 2)
    docNew.SaveAs filename:=path & "\" & nfname, FileFormat:=wdFormatDocument
 
    'Kill des 2 fichiers temporaires
    Kill path & "\_tmp_" & filename & ".rtf"
    Kill path & "\_tmp_" & filename
 
    'Fermeture du template
    ThisDocument.Saved = True
    Application.ActiveDocument.Saved = True
    docCur.Close
 
End Sub
Oui-Oui MB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2007, 12h16   #3
Invité de passage
 
Inscription : août 2006
Messages : 1
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 1
Points : 1
Points : 1
Par défaut Et s'il y a des images ?

ton document doit forcément n'être que du texte, tout ce qui est tableaux, images dégage, non ?
OyoBrans est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2007, 12h29   #4
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 364
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 364
Points : 29 286
Points : 29 286
Le RTF peut contenir des objets sans aucune difficulté.

Tout est gardé, les images, les tableaux et les objets OLE.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h53.


 
 
 
 
Partenaires

Hébergement Web