Pergunta : Lima da economia em MS Word

Eu ouvi-me em algum ponto que ao conservar uma lima em MS Word, conserva somente as mudanças você fêz desde a última vez onde você ganhou, em vez de conservar o original inteiro de novo (a fim encurtar o tempo - economia). É este verdadeiro? O
em caso afirmativo, há uma maneira de olhar no original para ver as revisões?
Is lá uma maneira de fazer um “limpo” excepto, removendo todas as revisões precedentes?

class= do

Resposta : Lima da economia em MS Word

Patrick,

Algumas coisas, que são endereçadas em meu http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/A_3391-Using-the-Dictionary-Class-in-VBA.html do artigo

1) Ao contrário de uma coleção, você não pode referir artigos em um dicionário using um índice.  Um pouco, em um dicionário, você pode somente buscar um único artigo se você fornece sua chave.  Assim, seu laço:

    Para i = 1 a dic. Contagem
        . Pilhas (i, “C”) = dic. Artigo (i)
    Em seguida i

não retirará artigos do dicionário.  Certamente, por causa do dicionário “implícito adicionar” o comportamento, esse laço está adicionando realmente artigos novos ao dicionário:)

2) Você adicionava realmente a escala como a chave, e não o valor da pilha, em seu primeiro laço:

    Para cada celle no rng
        Se não dic.exists (celle) então
            dic. Adicionar o celle, celle
        Terminar se
    Celle seguinte

Desde que cada pilha é um objeto diferente, você terminou realmente acima de adicionar todas aquelas pilhas como o artigo e a chave

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

Assim, para reparar o código:

1) Passar explicitamente os valores das pilhas, e não as pilhas elas mesmas, ao dicionário.  Ou, usar transferência da disposição para criar uma disposição na memória, e então dá-la laços com a disposição e passar valores da disposição ao dicionário

2) Despejar os artigos em uma disposição

3) Fazer transferência da disposição para escrever os valores à folha

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:
As mais dict_test secundários ()
    
    Rng não ofuscante como a escala
    Celle não ofuscante como a escala
    Dic_items não ofuscantes como a variação
    Escurecer i como por muito tempo
    Escurecer x como a variação
    
    Escurecer dic como Scripting.Dictionary
    Ajustar Scripting.Dictionary dic = novo
    dic.CompareMode = 1
    
    Com folhas (“Sheet1”)
        Ajustar o rng = a escala (. Pilhas (1, “A”). Pilhas (. Rows.Count, “A”). Extremidade (xlUp))
    
        Para cada celle no rng
            Se não dic.exists (celle. Valor) então
                dic. Adicionar o celle. Valor, celle. Valor
            Terminar se
        Celle seguinte
        
        dic_items = dic. Artigos
        
        . [c: c] .ClearContents
        . [c1]. Resize (dic. Contar, 1) = Application.Transpose (os dic_items)
    Terminar com
    
    Ajustar dic = nada
    
Terminar o submarino
Outras soluções  
 
programming4us programming4us