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 22/01/2008, 16h30   #1
Membre à l'essai
 
Inscription : décembre 2007
Messages : 101
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 101
Points : 22
Points : 22
Par défaut Sauvegarde dans répertoire spécifique

Salut,
Je connais pas du tous Word et j'aurais besoin d'aide.
J'ai une application FORMS d'Oracle qui ouvre Word.
Je voudrais savoir si on peu quand on a ouvert word, forcer l'utilisateur à sauvegarder dans un répertoire spécifique pour la sécurité des informations.
Dans la barre d'outil sous FICHIER il y a "Sauvegarder" ou "Sauvegarder sous". Peut-on forcer à ce que le chemin soit spécifique en un seul chemin?
Style O:\App_Ora\Sources\gda_10g\dev\src\doc\...


Merci beaucoup!
Marcel Chabot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2008, 18h51   #2
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 356
Points : 3 356
Par défaut Forcer le répertoire de sauvegarde

Salut,

On a déjà répondu sur le forum sur http://www.developpez.net/forums/sho...d.php?t=450094
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2008, 19h51   #3
Membre à l'essai
 
Inscription : décembre 2007
Messages : 101
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 101
Points : 22
Points : 22
Par défaut RE

Merci pour le code
Mais à quelle endroit on met ce code?
Application.Options.DefaultFilePath "c:\temp"
On fait une macro? Est-elle permanente après à chaque fois qu'on ouvre word sur le poste de travail?

Je n'ai jamais toucher à la programmation dans Word.
C'est un code qu'on ajoute quand on appelle word à partir de FORMS?

Merci beaucoup!
Marcel Chabot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 00h31   #4
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 356
Points : 3 356
Par défaut Forcer le répertoire de sauvegarde

Salut,

Jusqu'à Word 2007, il faut mettre le code dans une macro et cette macro dans un modèle accessible. Le plus simple pour cela est de suivre la démarche:
1°) Ouvre Word
2°) Crée un doc vierge (Commande "Fichier-Nouveau") ==> Ton doc est basé sur le modèle de doc par défaut défini dans ton Word (a priori Normal.dot)
3°) Clique sur la commande "Outils-Macro-Nouvelle macro", clique sur OK
4°) Tape le texte suivant "Ceci est un test d'enregistrement de macro"
5°) Sélectionne le texte. Fait Copier. Clique en fin de texte et fait Coller ==> maintenant tu as 2 fois "Ceci est un test d'enregistrement de macro" puis clique sur <Entrée>
6°) Clique sur la commande Outils-Macro-Arrêter l'enregistrement"
7°) Voilà tu viens de créer une 1ere macro qui est disponible pour Word
8°) Clique sur la commande "Outils-Macro-Macros", sélectionne "Macro1" et clique sur "Modifier" ==> Normalement (si ton Word n'est pas mort, un nouvelle fenêtre s'ouvre avec un truc comme ça dedans:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 23/01/08 par Marcel Chabot
'
    Documents.Add DocumentType:=wdNewBlankDocument
    Selection.TypeText Text:="Ceci est un test d'enregistrement de macro"
    Selection.TypeText Text:="Ceci est un test d'enregistrement de macro"
    Selection.TypeParagraph
    Selection.WholeStory
    Selection.Copy
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Selection.Paste
End Sub
Ceci n'a pour but que tu te rendes compte de ce que fait Word pendant que tu tapes et ce qu'est l'enregistrement de macro, ce n'est pas ce que tu tapes qui était important mais bien la démarche ==> sélectionne tout ce qui compris entre les lignes Sub Macro1() et End Sub, non compris et tapes ton code
Code :
    Application.Options.DefaultFilePath "c:\temp"
et donc ton code (pour être bon) doit être le suivant
Code :
1
2
3
4
 
Sub Macro1()
    Application.Options.DefaultFilePath "c:\temp"
End Sub
C'est fini, tu n'as plus qu'à exécuter la macro. Pour cela, repère dans la barre de ta fenêtre une série de bouton qui ressemble aux commandes des DVD/magnétoscopes et clique sur celui qui symbolise la touche "Play" (une flèche simple orientée vers la droite).
Maintenant tu quittes tout par "<Alt>+<F4>" et tu sauvegardes rien (réponds toujours non).

Pour tester, lance Word, crée un nouveau doc et essaie de la sauvegarder. Normalement, le répertoire de sauvegarde a été modifié.

Voila. C'est plus simple à faire qu'à écrire.
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 12h00   #5
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
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 354
Points : 29 270
Points : 29 270
Petite nuance

Code :
ChangeFileOpenDirectory "c:\temp"
Ne change le répertoire que pour la session Word en cours

alors que
Code :
Application.Options.DefaultFilePath "c:\temp"
le change en permanence.

Tu peux utiliser ceci


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dim WithEvents oWdApp As Word.Application
 
Sub Document_Open()
 
Set oWdApp = Word.Application
 
End Sub
 
Private Sub oWdApp_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean)
Dim stNom As String
stNom = InputBox("Donnez le nom de votre fichier sans l'extension !")
ActiveDocument.SaveAs FileName:="O:\App_Ora\Sources\gda_10g\dev\src\doc\" & stNom & ".doc"
 
End Sub
Sur l'évènement Open du document, on lance une procédure qui va initialier une procédure permettant de détecter et de réagir à certains évènement se produisant dans Word.

L'évènement visé est BeforeSave.
__________________
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
Vieux 23/01/2008, 15h06   #6
Membre à l'essai
 
Inscription : décembre 2007
Messages : 101
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 101
Points : 22
Points : 22
Par défaut Super!

Merci beaucoup du temps que vous avez pris pour me répondre.
Je l'apprécie énormément!!!
Ça fonctionne à merveille.

Bonne journée! Ou bonne soirée pour vous
Marcel Chabot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 15h07   #7
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 356
Points : 3 356
Par défaut Changer le répertoire en cours

Salut,

En effet, Heureux-Oli a raison, il faut bien utiliser
Code :
Application.Options.DefaultFilePath
Sepia 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 06h06.


 
 
 
 
Partenaires

Hébergement Web