Frage : Einsparungakte in MS Word

Ich gehört zu einem bestimmten Zeitpunkt, dass, wenn es eine Akte in MS Word, es spart nur die Änderungen speichert, Sie seit dem letzten Mal bildeten, das Sie sparten, anstatt, das vollständige Dokument von neuem zu sichern (zwecks das Zeit sparende verkürzen). Ist dieses zutreffende?
wenn ja, gibt es eine Weise, das Dokument zu untersuchen, um die Neuausgaben zu sehen?
Is dort eine Weise, ein „sauberes“ außer zu bilden, alle vorhergehenden Neuausgaben entfernend?

Antwort : Einsparungakte in MS Word

Patrick,

Einige Sachen, die in meinem Artikel-http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/A_3391-Using-the-Dictionary-Class-in-VBA.html adressiert

1) Anders als eine Ansammlung können Sie auf Einzelteile in einem Wörterbuch nicht using einen Index beziehen.  Eher in einem Wörterbuch, können Sie ein einzelnes Einzelteil nur holen, wenn Sie seinen Schlüssel liefern.  So Ihre Schleife:

    Für i = 1 zu dic. Zählimpuls
        . Zellen (i, „C“) = dic. Einzelteil (i)
    Zunächst I

auszieht nicht Einzelteile vom Wörterbuch t.  In der Tat wegen des impliziten Wörterbuches „Verhalten addieren“, diese Schleife hinzufügt wirklich neue Einzelteile dem Wörterbuch:)

2) Sie hinzufügten wirklich die Strecke als der Schlüssel und nicht den Wert der Zelle, in Ihrer ersten Schleife sten:

    Für jedes celle im rng
        Wenn nicht dic.exists (celle) dann
            dic. Celle, celle addieren
        Beenden wenn
    Folgendes celle

Da jede Zelle ein anderer Gegenstand ist, beendeten Sie wirklich herauf das Addieren alle jene Zellen als Einzelteil und Schlüssel

******************

So den Code regeln:

1) Die Werte der Zellen und nicht die Zellen selbst, zum Wörterbuch ausdrücklich führen.  Oder, eine Reihenübertragung verwenden, um eine Reihe im Gedächtnis zu verursachen, und dann durch die Reihe schlingen und Reihenwerte zum Wörterbuch führen

2) Die Einzelteile in eine Reihe entleeren

3) Eine Reihenübertragung tun, um die Werte zum Arbeitsblatt zu schreiben

Patrick
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:
Vordict_test ()
    
    Schwaches rng als Strecke
    Schwaches celle als Strecke
    Schwache dic_items als Variante
    I als lang verdunkeln
    X als Variante verdunkeln
    
    Dic als Scripting.Dictionary verdunkeln
    Dic = neues Scripting.Dictionary einstellen
    dic.CompareMode = 1
    
    Mit Blättern („Sheet1“)
        Rng = Strecke einstellen (. Zellen (1, „A“). Zellen (. Rows.Count, „A“). Ende (xlUp))
    
        Für jedes celle im rng
            Wenn nicht dic.exists (celle. Wert) dann
                dic. Celle addieren. Wert, celle. Wert
            Beenden wenn
        Folgendes celle
        
        dic_items = dic. Einzelteile
        
        . [c: c] .ClearContents
        . [c1]. Die Größe neu bestimmen (dic. Zählen, 1) = Application.Transpose (dic_items)
    Mit beenden
    
    Dic einstellen = nichts
    
Unterseeboot beenden
Weitere Lösungen  
 
programming4us programming4us