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

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

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2010, 12:50   #1
matanga
Новичок
Джуниор
 
Регистрация: 09.12.2010
Сообщений: 3
По умолчанию Большой объем данных

Добрый день.
Возникла проблема. Пишу макрос на VBA в Экселе. суть работы макроса - из файла вытащить некоторые данные (записать их в массивы). Затем в этом же файле есть лист, на котором записаны названия других экселевских файлов (порядка 80 штук). Он должен открыть каждый из файлов, записать в него по несколько элементов из каждого массива и закрыть с сохранением.
Все нормально работает до 53-го файла. затем VBA пишет, "Документ не сохранен" и работа его на этом завершается. При этом сохранить после этого какой-либо из открытых документов Excel не получается.

Может кто сталкивался с такой проблемой? Что может быть причиной и как ее избежать?
matanga вне форума Ответить с цитированием
Старый 09.12.2010, 13:05   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

код ошибки пишет?
предполагаю переполнение памяти
обьекты надо выгружать из памяти после использования
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 09.12.2010, 13:10   #3
matanga
Новичок
Джуниор
 
Регистрация: 09.12.2010
Сообщений: 3
По умолчанию

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

For i = 1 To kolvo

z = Worksheets(5).Cells(6 + i, 4)
Workbooks.Open (iPath & "\" & z)

---------------------------------
здесь идет вставка значений в ячейки
-----------------------------------

Workbooks(z).Close SaveChanges:=True
Call rClipboard

Next i
matanga вне форума Ответить с цитированием
Старый 09.12.2010, 13:12   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Эту процедуру надо анализировать rClipboard
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 09.12.2010, 13:14   #5
matanga
Новичок
Джуниор
 
Регистрация: 09.12.2010
Сообщений: 3
По умолчанию

Вот все, что относится к rClipboard

Private Declare Function OpenClipboard Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function EmptyClipboard Lib "user32" () As Long
Private Declare Function CloseClipboard Lib "user32" () As Long


Private Function rClipboard()
Dim X As Long, a As Long
a = OpenClipboard(0&)
X = EmptyClipboard()
a = CloseClipboard()
End Function


Что не так?

Помогите, пожалуйста...А то третий месяц уже мучаюсь с этой проблемой...
matanga вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Большой объем файла после создания скриншота. Как уменьшить? artemavd Общие вопросы Delphi 7 19.07.2010 19:52
как посчитать объем базы данных? panuta БД в Delphi 1 25.05.2010 13:45
Объем изображения Lokos Мультимедиа в Delphi 3 16.12.2009 04:05
Delphi и большой объем текста BuT@JL Помощь студентам 3 13.03.2009 13:53
рассчитать объем Exo Microsoft Office Excel 9 28.04.2008 15:03