IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Word Discussion :

Ouvrir en écriture un fichier "Lecture seule recommandée"


Sujet :

VBA Word

  1. #1
    Membre éclairé Avatar de Souriane
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2009
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2009
    Messages : 541
    Points : 758
    Points
    758
    Par défaut Ouvrir en écriture un fichier "Lecture seule recommandée"
    Bonjour,

    Je veux savoir comment ouvrir en VBA un fichier en mode **écriture** lorsqu’il y a l’option « Lecture seule recommandée » dessus.

    Je ne parle pas ici de l'attribut que l'on peut changer à partir d'Explorer mais de l'attribut ActiveDocument.ReadOnly (combiné avec ActiveDocument.ReadOnlyRecommended).

    Avec un batch, j'ai besoin de faire un "search & replace" régulièrement dans une centaine de fichiers dont la moitié est en mode « Lecture seule recommandée » et je ne veux pas avoir à renommer chaque fichier lors de sa sauvegarde.

    Merci pour vos suggestions.

    Souriane
    __________________________________
    Une question bien posée est à moitié résolue!

    Merci de ne pas oublier de mettre RÉSOLU quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Souriane Voir le message
    Bonjour Souriane,

    Tu as un exemple ? En privé si problème.

  3. #3
    Membre éclairé Avatar de Souriane
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2009
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2009
    Messages : 541
    Points : 758
    Points
    758
    Par défaut
    Citation Envoyé par Eric KERGRESSE Voir le message
    Tu as un exemple ?

    Ci-joint un document "en lecture seule recommandée"
    Fichiers attachés Fichiers attachés
    __________________________________
    Une question bien posée est à moitié résolue!

    Merci de ne pas oublier de mettre RÉSOLU quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Souriane Voir le message
    Ma solution consiste à ouvrir le fichier et à le sauvegarder en tant que fichier provisoire en enlevant l'option Lecture seule recommandée. Ce fichier reste ouvert pour permettre sa modification. A la fermeture, le fichier retrouve son nom d'origine et reprend l'option Lecture seule recommandée.

    Ouverture
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    51
    52
    53
     
    Option Explicit
     
    Public Repertoire As String, FichierNouveauNom As String, FichierProvisoire As String
     
    Sub OuvrirFichierLectureSeuleRecommandee()
     
    Dim Fd As FileDialog
    Dim VrtSelectedItem As Variant
     
        Repertoire = "C:\Users\Eric\Downloads\"
        FichierNouveauNom = ""
        ChDir Repertoire
        Set Fd = Application.FileDialog(msoFileDialogFilePicker)
     
        With Fd
            If .Show = -1 Then
               For Each VrtSelectedItem In .SelectedItems
                   FichierNouveauNom = VrtSelectedItem
               Next VrtSelectedItem
            End If
        End With
     
        If FichierNouveauNom <> "" Then
     
           Select Case LCase(Split(FichierNouveauNom, ".")(1))
                  Case "docx"
                       FichierProvisoire = "Fichier provisoire.docx"
                  Case "docm"
                        FichierProvisoire = "Fichier provisoire.docm"
           End Select
     
            Documents.Open FileName:=FichierNouveauNom, _
                           ConfirmConversions:=False, ReadOnly:=True, AddToRecentFiles:=False, _
                           PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
                           WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
                           wdOpenFormatAuto, XMLTransform:=""
            With ActiveDocument
                .ReadOnlyRecommended = False
            End With
            ActiveDocument.SaveAs2 FileName:= _
                                   Repertoire & FichierProvisoire, FileFormat:= _
                                   wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
                                   :=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
                                   :=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
                                   SaveAsAOCELetter:=False, CompatibilityMode:=14
     
        End If
     
        Set Fd = Nothing
     
     
    End Sub

    Fermeture
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    Sub FermetureFichierLectureSeuleRecommandee()
     
    Dim I As Integer
    Dim Continuer As Boolean
     
        Continuer = False
     
        For I = 1 To Documents.Count
            If Documents(I).Name = FichierProvisoire Then Continuer = True
        Next I
     
        If Continuer = True And FichierNouveauNom <> "" Then
     
            Select Case LCase(Split(FichierProvisoire, ".")(1))
                  Case "docx"
                       Documents(FichierProvisoire).SaveAs2 FileName:= _
                                 FichierNouveauNom, FileFormat:= _
                                 wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
                                 :=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
                                 :=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
                                 SaveAsAOCELetter:=False, CompatibilityMode:=14
                  Case "docm"
                       Documents(FichierProvisoire).SaveAs2 FileName:= _
                                 FichierNouveauNom, FileFormat:= _
                                 wdFormatXMLDocumentMacroEnabled, LockComments:=False, Password:="", AddToRecentFiles _
                                 :=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
                                 :=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
                                 SaveAsAOCELetter:=False, CompatibilityMode:=14
           End Select
     
           With Documents(FichierNouveauNom)
                .ReadOnlyRecommended = True
                .Close savechanges:=True
           End With
     
        End If
     
     End Sub
    Dernière modification par Invité ; 08/11/2018 à 08h51.

  5. #5
    Membre éclairé Avatar de Souriane
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2009
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2009
    Messages : 541
    Points : 758
    Points
    758
    Par défaut
    Bonjour,

    Merci énormément Éric. J’ai réussi à intégrer les codes que tu m’as donnés à ma macro et ça fonctionne super bien! Je suis enchantée!

    Bye!

    Souriane!
    __________________________________
    Une question bien posée est à moitié résolue!

    Merci de ne pas oublier de mettre RÉSOLU quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Access VBA : Ouvrir un explorateur de fichiers en lecture seule
    Par lio33 dans le forum VBA Access
    Réponses: 4
    Dernier message: 15/02/2018, 18h47
  2. ouvrir le fichier en lecture seule
    Par p'tite Sandrine dans le forum Access
    Réponses: 3
    Dernier message: 22/09/2006, 14h13
  3. Réponses: 8
    Dernier message: 09/08/2005, 11h44
  4. Réponses: 7
    Dernier message: 05/08/2005, 16h32
  5. [PDE] Editeur de fichiers en lecture seule
    Par simsky dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 13/07/2005, 12h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo