Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.07.2018, 13:13   #1
Kreadlling
Форумчанин
 
Аватар для Kreadlling
 
Регистрация: 03.09.2009
Сообщений: 116
По умолчанию Удалить память при создании документа word из vba excel

Здравствуйте. Я создаю динамически документ ворд через приложение vba excel, далее заполняю его данными. Подскажите нужно ли удалять объекты, через которые я создаю документ word, такие как oWord, oDocument, docActive в моей программе. Будет ли утечка памяти, если не удалить эти объекты. Если нужно их удалять, то подскажите как это
сделать.


Код:
Dim oWord As Object
Dim oDocument As Object


Sub Add_Doc_Zadvizhek()
    Dim Mytime, myTimeSokr As String 'Переменная для текущего времени
    Dim MyDate As String 'Переменная текущей даты
    Dim TimeDate As String 'Переменная содержащая дату и время
    Dim NameWihtoutDate, SaveFileName As String 'NameWihtoutDate - Имя файла без даты, FileName - имя файлы с датой
    Dim Dlina_Mytime As Integer 'длина строки
    Dim Putfile As String
    Dim tableNew As Object
    Dim docActive As Object
    Dim i, j As Integer
    Dim myRange As Object
    Dim nach_poz As Integer
    Dim kon_poz As Integer
    Dim kol_zadv As Integer
    Dim provKoncStran As Integer
    Dim NomNachStrShkaf, NomKonStrShkaf, NomTekStroki, KolZadvShkafa As Integer
    Dim nextPage As Integer 'Индикатор следующей страницы, перешла ли строка таблицы на следующую страницу
    Dim tekStrDokum, RowPredStolb As Integer
    Dim NazvShkProdolj As String
    
    'Даём этому экземпляру имя "oWord". Через это имя
    'будем обращаться к программе Word.
     Set oWord = CreateObject("Word.Application")

    'Делаем программу "Word" видимой.
     oWord.Visible = True

    'Создаём в программе Word документ и обращаемся к этому
    'документу как "oDocument".
     Set oDocument = oWord.Documents.Add
  
    'Присваиваем объекту docActive активный документ приложения oWord
     Set docActive = oWord.ActiveDocument
   
Далее идет заполнение документа большим объемом данных...
Kreadlling вне форума Ответить с цитированием
Старый 02.07.2018, 21:19   #2
kvitaliy
Участник клуба
 
Регистрация: 17.05.2011
Сообщений: 1,660
По умолчанию

Стандартно освободить ни когда не помешает в конце кода:
Код:
Set oWord = Nothing
kvitaliy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание нового документа Word на основе текста другого документа Word. mihades Microsoft Office Word 11 24.08.2017 08:57
Верхнюю половину предложения не видно при создании любого нового документа. zolip4 Microsoft Office Word 3 03.03.2017 15:08
Удалить процесс при закрытии книги, с проверкой (vba excel 2003) ольгаг Microsoft Office Excel 4 24.02.2017 17:06
Запуск макроса в VBA (который в Escel) c документа Word sasha_prof Microsoft Office Word 2 16.01.2013 23:05
создать макрос в VBA для документа Word Александра С. Microsoft Office Word 1 17.03.2012 22:52