1 votes

Comment exporter une liste de fichiers récemment ouverts depuis Office:MAC ? 2011 ?

J'ai récemment hérité de vieilles machines Mac et on m'a dit de chercher tout ce qui était important sur ces machines avant de les formater.

L'un des éléments installés sur ces machines est Office:MAC 2011, et chaque fois que j'ouvre un de ces documents, je crains qu'un autre ne disparaisse de la liste des documents récemment ouverts.

J'aimerais pouvoir sauvegarder la liste des fichiers récents afin de ne plus perdre les documents récemment ouverts.

Est-il possible d'exporter cette liste afin de pouvoir la consulter sans la détruire ?

1voto

BringMyCakeBack Points 596

Vous pouvez le faire, mais c'est compliqué.

Les documents récents pour tous les produits Microsoft Office sont stockés dans un fichier de préférences (plist) dans la bibliothèque de chaque utilisateur :

~/Library/Preferences/com.microsoft.office.plist

Ce fichier est au format plist standard, et peut être visualisé à l'aide du visualiseur plist intégré à Xcode. Si vous l'ouvrez, il ressemblera à quelque chose comme ceci :

microsoft plst

La liste des éléments récents pour chaque application est stockée dans la clé File MRU . L'exemple ci-dessus est pour Word, qui correspond à l'option MSWD code. Chaque document compromet un élément numéroté sous cette clé plist.

Comme vous pouvez le constater, les valeurs de ces clés sont malheureusement codées en binaire et non en texte clair. Vous devez donc coller les chaînes de valeur dans un éditeur hexagonal pour voir les noms et les chemins des fichiers. (J'utilise HexFiend .)

hex viewer

Conclusion : Copiez le com.microsoft.office.plist dans un endroit sûr. Avec un peu d'huile de coude, vous pouvez extraire tous les fichiers récents de ce document.

Vous pouvez également consulter ce Python script qui fait une partie de cette analyse automatiquement, mais votre kilométrage peut varier.

1voto

John Weldon Points 19132

L'emplacement de la liste des propriétés avec les fichiers récemment ouverts a changé depuis la publication de la réponse de BringMyCakeBack. Ils sont maintenant conservés dans ~/Containers/com.microsoft.Word/Data/Library/Preferences/com.microsoft.Word.securebookmarks.plist . Le fichier est dans un format binaire que Xcode comprend. Voir aussi aquí .

0voto

Chris Mukherjee Points 759

D'après mes recherches, il n'y a aucun moyen de le faire. Cependant, ce que vous pourriez faire est :

  1. Modifier le nombre de fichiers qui apparaissent dans la liste

    ou

  2. Ajouter les fichiers à la liste

Voir ce lien pour plus d'informations.

0voto

Groo Points 1267

Si vous souhaitez conserver une liste courante des documents que vous allez ouvrir à l'avenir, ajoutez cette macro à votre fichier Normal.dot.

Sub AutoOpen()
    Dim ff As Long
    Dim logpath As String

    logpath = MacScript("return (path to desktop) as string") & "autoopen_log.txt"

    ff = FreeFile
    Open logpath For Append As #ff
    Print #ff, ActiveDocument.FullName
    Close #ff
End Sub

Il enregistrera le chemin d'accès de chaque fichier que vous ouvrez dans Word dans le fichier texte spécifié sur votre bureau. Vous pouvez simplement rouvrir les fichiers récents existants pour les ajouter au journal.

0voto

Nicholas Riley Points 206

J'ai fini par l'implémenter dans Swift et ne l'ai même pas utilisé (parce que le format a changé dans Office 15), mais si quelqu'un d'autre en a encore besoin :

import Foundation

func getMRUList(forApp: String) -> [String]? {
    guard let defaults = NSUserDefaults.standardUserDefaults().persistentDomainForName("com.microsoft.office") else {
        NSLog("Unable to find Office defaults")
        return nil
    }

    guard let mruList = defaults["14\\File MRU\\" + forApp ] as? [NSDictionary] else {
        NSLog("Unable to find recent documents for Office application \(forApp)")
        return nil
    }

    return mruList.flatMap { (mruItem: NSDictionary) in
        guard let mruFileAliasData = mruItem["File Alias"] as? NSData else {
            NSLog("Unable to extract file alias from MRU item \(mruItem)")
            return nil
        }
        do {
            let mruFileBookmarkData = CFURLCreateBookmarkDataFromAliasRecord(nil, mruFileAliasData).takeRetainedValue()
            let mruFileURL = try NSURL.init(byResolvingBookmarkData: mruFileBookmarkData, options: NSURLBookmarkResolutionOptions(), relativeToURL: nil, bookmarkDataIsStale: nil)
            return mruFileURL.path
        } catch let error as NSError {
            NSLog("Unable to resolve file alias for MRU item \(mruFileAliasData): \(error.localizedDescription)")
            return nil
        }
    }
}

if let mruList = getMRUList("MSWD") {
    print(NSString.init(data: try! NSJSONSerialization.dataWithJSONObject(mruList, options: NSJSONWritingOptions()), encoding: NSUTF8StringEncoding)!)
}

Vous pouvez remplacer MSWD avec le créateur d'une autre application Office 14 (par ex. PPT3 pour PowerPoint, XCEL pour Excel) comme il convient.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X