![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 09.12.2010
Сообщений: 3
|
![]()
Добрый день.
Возникла проблема. Пишу макрос на VBA в Экселе. суть работы макроса - из файла вытащить некоторые данные (записать их в массивы). Затем в этом же файле есть лист, на котором записаны названия других экселевских файлов (порядка 80 штук). Он должен открыть каждый из файлов, записать в него по несколько элементов из каждого массива и закрыть с сохранением. Все нормально работает до 53-го файла. затем VBA пишет, "Документ не сохранен" и работа его на этом завершается. При этом сохранить после этого какой-либо из открытых документов Excel не получается. Может кто сталкивался с такой проблемой? Что может быть причиной и как ее избежать? |
![]() |
![]() |
![]() |
#2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
код ошибки пишет?
предполагаю переполнение памяти обьекты надо выгружать из памяти после использования
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 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 |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
![]()
Эту процедуру надо анализировать rClipboard
Анализ,обработка данных Недорого
|
![]() |
![]() |
![]() |
#5 |
Новичок
Джуниор
Регистрация: 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 Что не так? Помогите, пожалуйста...А то третий месяц уже мучаюсь с этой проблемой... |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Большой объем файла после создания скриншота. Как уменьшить? | 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 |