Вопрос : Архив сбережения в слове MS

Я слышал на некоторый этап что сохраняя архив в слове MS, он сохранит только изменения вы сделали с последния раза, котор вы сохранили, вместо сохранять весь документ anew (сократить помогающий экономить время). Это поистине?
If так, дорога посмотреть, что в документ увидели изменения?
Is там дорога сделать «чистое» за исключением, извлекающ все ранее изменения?

class=

Ответ : Архив сбережения в слове MS

Патрик,

Немного вещей, которые адресованы в моем http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/A_3391-Using-the-Dictionary-Class-in-VBA.html статьи

1) Не похоже на собранию, вы не можете сослаться к деталям в словаре using индекс.  Довольно, в словаре, вы можете только fetch одиночный деталь если вы поставляете свой ключа.  Так, ваша петля:

    Для I = 1 к dic. Отсчет
        . Клетки (I, «c») = dic. Деталь (I)
    Затем iий

не вытянет вне детали от словаря.  Деиствительно, из-за словаря «подразумеваемого добавьте» поведение, та петля фактическ добавляет новые детали к словарю:)

2) Вы фактическ добавляли ряд как ключ, и не значение клетки, в вашей первой петле:

    Для каждого celle в rng
        Если не dic.exists (celle) после этого
            dic. Добавьте celle, celle
        Закончитесь если
    Следующее celle

В виду того что каждой клеткой будет по-разному предмет, вы фактическ закончились вверх по добавлять всю из тех клеток как как деталь, так и как ключ

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

Так, зафиксировать Кодего:

1) Точно передайте значения клеток, и не клетки сами, к словарю.  Или, используйте переход блока для того чтобы создать блок в памяти, и после этого закрепляйте петлей через блок и передавайте значения блока к словарю

2) Сбросьте детали в блок

3) Сделайте переход блока для писания значений к рабочий лист

Патрик
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:
Sub dict_test ()
    
    Тусклое rng как ряд
    Тусклое celle как ряд
    Тусклые dic_items как вариант
    Затемните I как длиной
    Затемните x как вариант
    
    Затемните dic как Scripting.Dictionary
    Установите dic = новое Scripting.Dictionary
    dic.CompareMode = 1
    
    С листами («Sheet1»)
        Установите rng = ряд (. Клетки (1, «a»). Клетки (. Rows.Count, «a»). Конец (xlUp))
    
        Для каждого celle в rng
            Если не dic.exists, то (celle. Значение) после этого
                dic. Добавьте celle. Значение, celle. Значение
            Закончитесь если
        Следующее celle
        
        dic_items = dic. Детали
        
        . [c: c] .ClearContents
        . [c1]. Измените размеры (dic. Подсчитайте, 1) = Application.Transpose (dic_items)
    Закончитесь с
    
    Установите dic = ничего
    
Закончите подводную лодку
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us