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 26/04/2007, 16h31   #1
Membre du Club
 
Inscription : mars 2003
Messages : 170
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : mars 2003
Messages : 170
Points : 63
Points : 63
Envoyer un message via MSN à tazamorte
Par défaut [VBA-W]Enregistrer une copie d'un document sous le format de son choix

Bonjour


J'essay de faire une procédure permettant d'enregistrer le document word courant dans le format de mon choix sans toucher au document actuel.

Par exemple mon fichier est maquette.dotm je veux enregistrer le document en docx avec le nom de mon choix mais continuer à travailler sous mon maquette.dotm

VOici mon code actuel qui ne me permet pas de travailler sous maquette.dotm

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
 
Sub Export_Word(NomFichier As String, NomDir As String, Compatible2k3 As Boolean)
 
    Dim NomFic As String
    NomFic = NomDir
 
    'Change de répertoire
    ChangeFileOpenDirectory NomDir
 
    'Init Nom Fichier
   If Compatible2k3 Then
        NomFic = NomFic & "\" & NomFichier & ".doc"
         ActiveDocument.SaveAs fileName:=NomFic, FileFormat:= _
        wdFormatDocument, LockComments:=False, Password:="", AddToRecentFiles:= _
        True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:= _
        False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
        SaveAsAOCELetter:=False
    Else
        NomFic = NomFic & "\" & NomFichier & ".docx"
         ActiveDocument.SaveAs fileName:=NomFic, FileFormat:= _
        wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
        :=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
        :=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
        SaveAsAOCELetter:=False
   End If
 
 
End Sub
la seule solution que je vois et de le réenrgistrer par dessus en maquette.dotm si quelqu'un à une solution plus propre
__________________
tazamorte est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2007, 16h55   #2
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Regarde copyas dans l'aide
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2007, 17h26   #3
Membre du Club
 
Inscription : mars 2003
Messages : 170
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : mars 2003
Messages : 170
Points : 63
Points : 63
Envoyer un message via MSN à tazamorte
le problème de copyas est qu'il ne permet pas de changer de format il copie le document avec le format en cours. C'est pour cela que j'avais spécifié en mettant son format.
__________________
tazamorte est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2007, 17h53   #4
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Autant pour moi, je ne l'ai même pas retrouvé dans l'aide.
Regarde plutôt SaveAs, il y a une page à lire mais c'est instructif.
Tu enregistres d'abord ton doc en tant que Doc, puis tu l'enregistres avec SaveAs
A+
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2007, 18h01   #5
Membre du Club
 
Inscription : mars 2003
Messages : 170
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : mars 2003
Messages : 170
Points : 63
Points : 63
Envoyer un message via MSN à tazamorte
si tu regardes le code que j'ai mis j'utilise déjà le saveas pour l'aide je l'ai déjà lu mais rien ne me convient dans mon cas pour info je pense que tu confonds copyas avec savecoopyas qui n'existe que sous excel et qui ne gére pas les formats.
__________________
tazamorte est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2007, 18h04   #6
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
SaveAs te conduit à la propriété saveFormat qui affiche... tout ça

Citation:
Envoyé par L'aide
SaveFormat, propriété
Voir aussi S'applique à Exemple Particularités
Renvoie le format de fichier du convertisseur de document ou de fichier spécifié. Il s'agit d'un nombre unique spécifiant qu'il s'agit d'un convertisseur de fichiers externe ou d'une constante WdSaveFormat. Type de données Long en lecture seule.

Les constantes WdSaveFormat possibles sont les suivantes :
wdFormatDocument
wdFormatDOSText
wdFormatDOSTextLineBreaks
wdFormatEncodedText
wdFormatHTML
wdFormatRTF
wdFormatTemplate
wdFormatText
wdFormatTextLineBreaks
wdFormatUnicodeText

expression.SaveFormat

expression Obligatoire. Expression qui renvoie l’un des objets de la liste S’applique à.

Notes
Pour enregistrer un document dans un format de fichier pour lequel il n'existe aucune constante WdSaveFormat, utilisez la valeur de la propriété SaveFormat correspondant à l'argument FileFormat de la méthode SaveAs.

Exemples
Si le document actif est un document RTF (Rich Text Format), cet exemple montre comment l'enregistrer en tant que document Microsoft Word.

Code :
1
2
3
If ActiveDocument.SaveFormat = wdFormatRTF Then
    ActiveDocument.SaveAs FileFormat:=wdFormatDocument
End If
Cet exemple montre comment créer un document et répertorier dans un tableau les convertisseurs permettant d'enregistrer des documents, ainsi que les valeurs de la propriété SaveFormat qui leur correspondent.

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
Sub FileConverterList()
    Dim cnvFile As FileConverter
    Dim docNew As Document
 
    'Create a new document and set a tab stop
    Set docNew = Documents.Add
    docNew.Paragraphs.Format.TabStops.Add _
        Position:=InchesToPoints(3)
 
    'List all the converters in the FileConverters collection
    With docNew.Content
        .InsertAfter "Name" & vbTab & "Number"
        .InsertParagraphAfter
        For Each cnvFile In FileConverters
            If cnvFile.CanSave = True Then
                .InsertAfter cnvFile.FormatName & vbTab & _
                    cnvFile.SaveFormat
                .InsertParagraphAfter
            End If
        Next
        .ConvertToTable
    End With
 
End Sub
Cet exemple montre comment enregistrer le document actif au format WordPerfect 5.1 ou 5.2 Fichier secondaire.

Code :
1
2
ActiveDocument.SaveAs _
    FileFormat:=FileConverters("WrdPrfctDat").SaveFormat
Bonne lecture
A+
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2007, 10h59   #7
Membre du Club
 
Inscription : mars 2003
Messages : 170
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : mars 2003
Messages : 170
Points : 63
Points : 63
Envoyer un message via MSN à tazamorte
Merci mais cela ne me permet toujours pas de faire ce que je veux certes ont choisi le format avec saveformat mais cela revient au même que de le spécifier en argument dans saveas.
__________________
tazamorte est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2007, 21h42   #8
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
A force de lire ta question je crois que je viens de comprendre (cépasûr)
Tu as plusieurs dot, ayant chacun des styles définis.
Tu as un doc ouvert que tu voudrais enregistrer selon le modèle de ton choix...
Si c'est ça, tu as autre une solution...
Consite à sélectionner un modèle de style, modèle que tu auras préalablement enregistré.
Tu enregistes ton fichier sous un autre nom et tu lui appliques le style de ton choix.
Tape "Création d'un nouveau style" dans l'aide intuitive.
Bonne lecture
Mais dis-moi si j'ai bien compris, ce coup-ci
A+
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2007, 10h20   #9
Nouveau Membre du Club
 
Inscription : mai 2007
Messages : 58
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 58
Points : 26
Points : 26
Bonjour,

ma question n'est peut être pas appropriée mais bon, je la pose quand même :
Comment faîtes-vous pour que la librairie word vous propose ce format : Je suppose que cela correspond au format openXML...?
Parce que perso, je ne peut disposer que de ce format : Cela doit venir du fait que la librairie d'import de word que j'utilise est la librairie Word 11, et donc pas le word 2007.
J'ai cependant un plugin qui me permet d'enregistrer sous docx depuis word 2003, la question concrète est donc : comment faire pour pouvoir enregistrer sous docx depuis le code en n'ayant pas word 2007 installé sur le pc...?
Si une âme charitable passe par ici...
Merci
jomree est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h08.


 
 
 
 
Partenaires

Hébergement Web