Run time error 7 out of memory конструктор сайтов е паблиш

Правила форума Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.Читайте требования к создаваемым темам.

Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.

zafon
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 04.07.2003 (Пт) 4:48
Откуда: AKKO,Israel

Run-time error ‘7’ : Out of memory

Подскажите что делать с этой проблемой:

Уже не первая моя программа выдаёт при запуске

«Run-time error ‘7’ : Out of memory»

Т.е. у моего друга (по его словам) одна из моих программ при загрузке давала эту ошибку.Но это было уже давно (4-5месяцев назад)!

У него стоял МИЛЕНИУМ и я погрешил на систему и не придал этому значения , да и у других людей которые пользовались моей програмой небыло ни каких проблем. На этом я успокоился…

Но вот полторы недели назад я закончил очень важный для меня проэкт. Он находился (перед публикацией) на двухнедельном тэстировании. Ни у кого из тэстеров небыло никаких проблем , и тут вчера (04.04.04) я запускаю программу (как обычно) и… получаю —

«Run-time error ‘7’ : Out of memory»

Ладно, думаю, сейчас запущу ‘VB’ и проверю в чем проблема.

Запускается ‘VB’ и «говорит» мне:

-MsgBox Caption «VBDataViewWindow»

и ниже:

«Out of memory. Continue? »

Y/N

Т.е. по логике в моём коде нет проблем , проблема с ‘VB’ в системе.

У других ребят программа работает без проблем.

Комп. : P4-(Intel1.8-Asus266), RAM-256 HD8Mb-120G Win.XP

т.е. проблем со скоростью и памятью не должно быть …

Комп перегружал всё равно ошибка ……….

Установлен пакет «Microsoft Visual Studio 6.0».

Может что-то произошло с «msvbvm60.dll» Я идиот! Убейте меня, кто-нибудь!………

Помогите , очень Вас прошу!!!

Пишите сюда или

zafon@nm.ru

Зарание блогодарен за любые высказывания .

С ув. «ViC» !!!


Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск
  • ICQ

Сообщение Kostyan » 06.04.2004 (Вт) 0:15

Я при подобных подозрениях на VB удалил бы его подчистую и установил заново.

Нет ничего невозможного для человека с интеллектом.


Cyrax
Cyberninja
Cyberninja
Аватара пользователя

 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia
  • Сайт
  • ICQ

Сообщение Cyrax » 06.04.2004 (Вт) 9:53

а я бы, для начала, на код взглянул…

да и все остальные, наверное, тоже не отказались бы от этого :)

Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно… (озадаченно) А это в какую сторону тянуть? Ну-ка… Ага, этот был лишний, этот вообще не отсюда, и этот… Точно, два болта.

Welcome to IRC


zafon
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 04.07.2003 (Пт) 4:48
Откуда: AKKO,Israel

Сообщение zafon » 06.04.2004 (Вт) 11:13

Да,конечно удалить ‘VB’ , а затем переустановить не проблема.

Это логично.

Но ведь нужно знать причину — почему это случилось.

Клиент не может удалить ‘VB’ с ситемы а затем переустановить.

(Что подразумеватся удалить ‘VB’ с ситемы клиента — это разрегистрация всех библиотек и контролов , а затем их удаление.)

Повторная переустановка моей программы не помогает…

(Т.е. Uninstall -> Install )

Есть проблема с ‘VB’ в системе.

Просто хочется перестраховаться и включить в инсталяцию нужные файлы или специальную опперацию , которая устранила бы эту проблему у пользователя , при повторной переустановки моей программы .

Замена и перерегистрация в системе msvbvm60.dll не устраняет проблему…

Тэстеры говорят что программа работает без сбоев — КОД «чистый» .

Только у меня есть эта проблема…


hCORe
VB — Экстремал
VB - Экстремал
Аватара пользователя

 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory
  • Сайт
  • ICQ

Сообщение hCORe » 06.04.2004 (Вт) 11:20

http://amelso.narod.ru/gluk.htm писал(а):Run-time error ‘6’: Out of memory

Причина ошибки: программе не хватает виртуальной памяти для инициализации или при выполнении каких-либо операций.

Устранение ошибки: Увеличить размер файла подкачки на жестком диске. См. Пуск—Панель управления—Производительность и обслуживание—Система—Дополнительно—Параметры быстродействия в Windows 2000 и XP и Пуск—Настройка—Панель управления—Система—Дополнительно—Виртуальная память для Windows 9x/ME. После этого перезагрузить компьютер для снятия проблемы.

Моду создают модоки, а распространяют модозвоны.


zafon
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 04.07.2003 (Пт) 4:48
Откуда: AKKO,Israel

Сообщение zafon » 06.04.2004 (Вт) 12:23


hCORe
VB — Экстремал
VB - Экстремал
Аватара пользователя

 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory
  • Сайт
  • ICQ

Сообщение hCORe » 06.04.2004 (Вт) 12:25

Переустанови VB, не поможет — снеси ко всем чертям систему и поставь заново :roll:

Моду создают модоки, а распространяют модозвоны.


Cyrax
Cyberninja
Cyberninja
Аватара пользователя

 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia
  • Сайт
  • ICQ

Сообщение Cyrax » 06.04.2004 (Вт) 12:40

hCORe писал(а):снеси ко всем чертям систему и поставь заново :roll:

боюсь, и это не поможет…

Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно… (озадаченно) А это в какую сторону тянуть? Ну-ка… Ага, этот был лишний, этот вообще не отсюда, и этот… Точно, два болта.

Welcome to IRC


zafon
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 04.07.2003 (Пт) 4:48
Откуда: AKKO,Israel

Сообщение zafon » 06.04.2004 (Вт) 13:47

Это выглядит так.

_____________________________________________________________

Опять же говорю: снести , переустановить,поломать ,скрушить и т.д. (незная в что привело к ошибке) — это не проблема.

Да и программа (без изминений кода) проработала полторы недели без ошибок.

Просто хочется сделать так что бы пользователь , у которого возникла такая проблема , мог с помощью повторной переустановки моей программы — ИСПРАВИТЬ ЭТУ ОШИБКУ , а не удалять систему и заново её переустанавливать , только для того чтобы пользоваться

программой .

Да и делая выводы из «скриншотов» , я думаю что это может возникнуть у любого из нас кто пишет на VB .


Cyrax
Cyberninja
Cyberninja
Аватара пользователя

 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia
  • Сайт
  • ICQ

Сообщение Cyrax » 06.04.2004 (Вт) 13:52

а что такое «VBDataViewWindow»?

Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно… (озадаченно) А это в какую сторону тянуть? Ну-ка… Ага, этот был лишний, этот вообще не отсюда, и этот… Точно, два болта.

Welcome to IRC


alibek
Большой Человек
Большой Человек
 
Сообщения: 14204
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 06.04.2004 (Вт) 13:54

Имеется ли в проекте Coolbar (из Microsoft Common Controls-3)? Просто он себя в некоторых случаях нехорошо ведет и рушит IDE.

Да, и еще. После того, как VB загрузиться, зайди в Add-Ins-=менеджер и поотключай все плугины.

Lasciate ogni speranza, voi ch’entrate.


hCORe
VB — Экстремал
VB - Экстремал
Аватара пользователя

 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory
  • Сайт
  • ICQ

Сообщение hCORe » 06.04.2004 (Вт) 14:14

VBDataViewWindow — это малополезное окошко просмотра соединений с БД. Оно иногда глючит по-страшному :oops: В поставке с VB есть DLL dataview.dll, попробуй ее переименовать и все встанет на свои места :!:

Моду создают модоки, а распространяют модозвоны.


Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва
  • ICQ

Сообщение Ennor » 06.04.2004 (Вт) 14:16

Насчет кулбара — это верно, но он все-таки не так зверствует, только если его пытаются внутри собственного контрола использовать (сам попадался…). А вообще очень похоже на запуск среды под аккаунтом с _очень_ ограниченными правами (типа Guest). Либо, если это не так, начинай тщательно тестить все железо. Да, надеюсь, пятый сервис-пак на студию у тебя стоит…

А почему слетело? Да миллион причин. Реестр накрылся, NTOSKRNL.EXE перекочевряжило, да что угодно.


zafon
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 04.07.2003 (Пт) 4:48
Откуда: AKKO,Israel

Сообщение zafon » 06.04.2004 (Вт) 14:23

alibek писал(а):Имеется ли в проекте Coolbar (из Microsoft Common Controls-3)? Просто он себя в некоторых случаях нехорошо ведет и рушит IDE.

Да, и еще. После того, как VB загрузиться, зайди в Add-Ins-=менеджер и поотключай все плугины.

Add-Ins — всё отключено .

На счёт «Microsoft Common Controls-3» моё приложение использует:

— MSCOMCT2.OCX

— MSCOMCTL.OCX

— shdocvw.dll

— comdlg32.ocx

Да и если VB «ругается» то моя программа не причём… Что-то с библиотеками VB или реестр…

___________________________________________________________

Cyrax-

VBDataViewWindow — без понятия , но его *.dll файлы находятся в папке VB .

___________________________________________________________

Странно это всё ???…


hCORe
VB — Экстремал
VB - Экстремал
Аватара пользователя

 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory
  • Сайт
  • ICQ

Сообщение hCORe » 06.04.2004 (Вт) 14:25

Ennor писал(а):NTOSKRNL.EXE перекочевряжило

Да нет, скорее NTLDR кто-то переименовал или удалил :twisted:

Моду создают модоки, а распространяют модозвоны.


zafon
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 04.07.2003 (Пт) 4:48
Откуда: AKKO,Israel

Сообщение zafon » 06.04.2004 (Вт) 17:06


Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26
  • ICQ

Сообщение Amed » 06.04.2004 (Вт) 20:28

Точно. Как-то делал программу на конкурс (конференцию), и за 2 дня до сдачи она у меня начала выдавать «Out of memory». Перепугался я страшно, но, кажется, дело было в собственных контролах, случайно изменив которые, я восстановил работоспособность… А то точно была бы «Catastrophic failure» :wink:


codemaster
Постоялец
Постоялец
Аватара пользователя

 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Сообщение codemaster » 07.04.2004 (Ср) 14:36

zafon писал(а):

alibek писал(а):Да и если VB «ругается» то моя программа не причём… Что-то с библиотеками VB или реестр…
Странно это всё ???…

Есть ли в твоей проге UserControls ?



Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Ошибка Out of memory — как исправить

Многие пользователи ПК во время работы с какой-либо программой могут столкнуться с «вылетом» указанной программы, и появившимся сообщением «Out of memory». Возникшая проблема может иметь множество причин, начиная от банального недостатка памяти на пользовательском ПК, и заканчивая некорректной работой с памятью какой-либо программы.

Окно с сообщением об ошибке «Out of memory»

Причины появления дисфункции

Ошибка «Out of memory» (в переводе дословно «вне памяти», или «недостаточно памяти») обычно возникает при недостатке памяти на пользовательском компьютере. В частности же, в появлении данной ошибки «виновен» следующий набор факторов:

  • Недостаток памяти RAM на вашем ПК (рабочей памяти, планки которой установлены на материнской плате вашего компьютера). Если на вашем компьютере установлен всего 1 гигабайт памяти, вы будете встречаться с описываемой ошибкой довольно часто. Нормальным же ныне считается наличие на компьютере 4 гигабайт памяти и выше;
  • Недостаток места на жёстком диске.

Когда вашему компьютеру не хватает физической R.A.M. памяти, он заимствует часть места на жёстком диске, и создаёт так называемую «виртуальную память». Система временно хранит в такой виртуальной памяти ту часть данных, которая не помещается в памяти обычной. Такие данные обычно хранятся в файле «pagefile.sys», размер которого может увеличиваться или уменьшаться в зависимости от специфики работы вашей ОС. Если на диске будет недостаточно места, файл «pagefile.sys» не сможет расти, и пользователь получит ошибку «out of memory».

  • При одновременном запуске на ПК большого количества программ, каждая из которых бронирует часть памяти ПК под свои задачи;
  • При запуск большого количества вкладок браузера. Веб-навигаторы уровня «Firefox» или «Google Chrome» способны занимать от 500 мегабайт до 1 гигабайта памяти под свой функционал, при этом число открытых вкладок и соответствующей обслуживающей памяти может быть ограничено системой. Специалисты Майрософт называют такую проблему «the desktop heap limitation» — «ограничение кучи рабочего стола»);
  • Некорректная работа с памятью ряда программ (наиболее часто это игровые программы);
  • Не оптимальный размер файла подкачки, с которым работает система.

Обычно причиной возникновения проблемы является недостаток ОЗУ на компьютере пользователя

Как исправить ошибку «Out of memory»

Для решения указанной проблемы рекомендую сделать следующее:

  1. Перезагрузите ваш ПК, и запустите требуемую программу вновь. Возможно, что проблема имеет случайный характер, и более повторяться не будет;
  2. Перед запуском нужной программы закройте другие ненужные программы (браузер, музыкальный или видео плеер, текстовый или графический редактор, мессенджер и так далее);
  3. Если проблема возникает во время серфинга в сети, закройте всё множество вкладок вашего браузера (при наличии), оставив лишь одну или две.

Частой причиной проблемы является множество открытых вкладок в браузере пользователя

Альтернативным вариантом решения проблемы «Out of memory» является установка соответствующего фикса от Майкрософт. Или использование расширений или дополнений для браузера уровня «The Great Suspender» для «Google Chrome», хорошо работающего с ненужными вкладками браузера.

    Добавьте оперативной памяти на ваш ПК. Если у вас на компьютере установлено 1-2 гигабайта памяти, будет оптимальным довести её объём до 4 гигабайт (а для 64-битных Виндовс 7, 8 и 10 версии рекомендую 8 и более гигабайт);

Увеличьте количество памяти на вашем ПК

  • Убедитесь, что на вашем жёстком диске (или SSD) достаточно свободного места. При необходимости, освободите диск от ненужных файлов;
  • Используйте инструмент командной строки BCDEdit для изменения параметров загрузки системы. Если у вас на ПК установлена Виндовс 7 и более, запустите командную строку от имени администратора на Виндовс 7 и Виндовс 10, и в ней наберите:
  • bcdedit/set IncreaseUserVa 3072

    И нажмите на ввод, и перезагрузите ваш ПК. Функционал данной команды позволяет выделить пользовательским приложениям 3 гигабайта оперативной памяти для работы. В некоторых системах этого может быть слишком много, потому если после ввода данной команды система начала чаще сбоить, то введите в командной строке от имени администратора:

    bcdedit /set IncreaseUserVa 2560 — что позволит задействовать 2,5 гигабайта вместо ранее забронированных 3.

    Если ситуацию этим исправить не удалось, верните настройки на состояние по умолчанию:

    bcdedit /deletevalue IncreaseUserVa

      Увеличьте объём файла подкачки. Нажмите кнопку «Пуск», в строке поиска введите sysdm.cpl и нажмите ввод. В открывшемся окне настроек системы выберите «Дополнительно» — «Быстродействие» — «Параметры» — «Дополнительно» — «Виртуальная память» — «Изменить». Снимите галочку с опции автоматического размера, поставьте галочку на «Указать размер», и поставьте исходный размер в 8192, и максимальный в 8192. Затем выберите «Задать»;

    Установите нужный размер файла подкачки

  • Если ошибка возникает при использовании игровой программы, перейдите в её графические настройки, и выберите их минимальные значения;
  • Произведите правильную настройку «Java». Для решения проблем с игровой программой «Майнкрафт» перейдите в Панель управления Виндовс, найдите там «Java» и запустите данную среду исполнения. Нажмите на кнопку «View», затем дважды кликните на «Runtime Parametres». Введите туда –Xms256m – Xmx3072m (или больше). Xms – это минимальное выделение ОЗУ, Xmx – максимальное. Значение Xmx рекомендуют устанавливать на процентов 70-80% от общего объёма ОЗУ. Примените изменения, и перезагрузите ваш ПК.
  • Заключение

    Ошибка «Out of memory» может иметь множество причин, связанных как с физическим недостатком памяти на ПК, так и другими детерминантами, изложенными мной выше. Для решения проблемы советую закрыть ненужные программы (вкладки браузера) на вашем компьютере (тем самым разгрузив его память), а самым эффективным инструментом является установка дополнительной планки памяти на ПК, что в большинстве случаев поможет избавиться от ошибки «Out of memory» на вашем компьютере.

    Источник

    Недостаточно памяти (ошибка 7) Out of memory (Error 7)

    Требуется больше памяти, чем доступно, или достигнута граница сегмента в 64 КБ. More memory was required than is available, or a 64K segment boundary was encountered. Эта ошибка имеет следующие причины и решения: This error has the following causes and solutions:

    открыто слишком много приложений, документов или исходных файлов. You have too many applications, documents, or source files open. Закройте все ненужные приложения, документы и исходные файлы; Close any unnecessary applications, documents, or source files that are open.

    есть модуль или процедура слишком большого размера. You have a module or procedure that’s too large. Разбейте большие модули или процедуры на меньшие. Break large modules or procedures into smaller ones. Это не сэкономит память, но может предотвратить достижение границы сегмента в 64 КБ; This doesn’t save memory, but it can prevent hitting 64K segment boundaries.

    Microsoft Windows запущена в стандартном режиме. You are running Microsoft Windows in standard mode. Перезапустите Microsoft Windows в расширенном режиме; Restart Microsoft Windows in enhanced mode.

    Microsoft Windows запущена в расширенном режиме, но не хватает виртуальной памяти. You are running Microsoft Windows in enhanced mode, but have run out of virtual memory. Увеличьте виртуальную память, освободив место на диске, или по меньшей мере убедитесь, что есть доступное место; Increase virtual memory by freeing some disk space, or at least ensure that some space is available.

    запущены резидентные программы. You have terminate-and-stay-resident programs running. Удалите резидентные программы; Eliminate terminate-and-stay-resident programs.

    загружено много драйверов устройств. You have many device drivers loaded. Удалите ненужные драйверы устройств; Eliminate unnecessary device drivers.

    Недостаточно места для общедоступных переменных. You have run out of space for Public variables. Уменьшите количество переменных Public. Reduce the number of Public variables.

    Предпринята попытка обновить свойство, доступное только для чтения. You have attempted to update a property that is read-only. Не присваивайте значения свойствам, которые доступны только для чтения. Do not assign values to read-only properties.

    Для получения дополнительной информации выберите необходимый элемент и нажмите клавишу F1 (для Windows) или HELP (для Macintosh). For additional information, select the item in question and press F1 (in Windows) or HELP (on the Macintosh).

    Поддержка и обратная связь Support and feedback

    Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь. Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

    Источник

    RunTime Error 7 — Out of Memory

    Проблема в следующем: все данные с листа помещаю в массив, чтобы их быстрее обработать. На малых объемах все работает хорошо. На больших, близких к граничным, вылезает ошибка «RunTime Error 7 — Out of Memory».

    Она вылезает или на ReDim массива, или на присвоении массиву диапазона с листа.

    ПАМЯТИ 8 ГБ, Excel 64 РАЗРЯДНЫЙ, ОПЕРАЦИОНКА 64 РАЗРЯДНАЯ,Excel 2016
    ошибку даёт Redim на 111 533 строках и 1635 столбцах
    Код

    ПОМОГИТЕ ПОЖАЛУЙСТА.
    ЗАРАНЕЕ СПАСИБО.

    Ошибка Microsoft Visual C++ Runtime Library — Runtime Error
    Здравствуйте. Буду признательна за помощь в моей беде. Совсем в этом не разбираюсь. В Safari при.

    Ошибка времени исполнения: Server Error in ‘/’ Application, Runtime Error
    Здравствуйте, через некоторое время после загрузки страницы если нажимаю на кнопку, то выдает.

    [DCC Error] E2161 Error: RLINK32: Out of memory!
    При компиляции вылаиет такая ошибка (сабж), да у меня много данных храниться в ресурсах, но при это.

    Runtime Error 201:Range check error
    Возникла ошибка(Runtime Error 201:Range check error) var a : array of longint; s.

    Я выходил из такой ситуации следующим образом:
    вычислял общее кол-во строк
    определял кол-во проходов по массиву так, чтобы за один проход в массив загонялось не более 2000 строк(при условии 30 с лишним столбцов)
    и так кусками обрабатывал.

    Но у меня была ситуация такова, что мне надо было собрать результирующий массив с условиями, в результате чего результирующий массив был в разы меньше исходных данных. Память выдерживала без проблем и на 64 и на 32 битах.

    Возможно дальше по коду у Вас идет присвоение массиву ячеек как объектов (а не значений) от чего и происходит перегруз (если только Вы не используете массив как раз именно с целью доступа к свойствам виртуальных ячеек).

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

    Источник

    В этой статье представлена ошибка с номером Ошибка 7, известная как Ошибка Microsoft Access 7, описанная как Недостаточно памяти.

    О программе Runtime Ошибка 7

    Время выполнения Ошибка 7 происходит, когда Microsoft Access дает сбой или падает во время запуска, отсюда и название. Это не обязательно означает, что код был каким-то образом поврежден, просто он не сработал во время выполнения. Такая ошибка появляется на экране в виде раздражающего уведомления, если ее не устранить. Вот симптомы, причины и способы устранения проблемы.

    Определения (Бета)

    Здесь мы приводим некоторые определения слов, содержащихся в вашей ошибке, в попытке помочь вам понять вашу проблему. Эта работа продолжается, поэтому иногда мы можем неправильно определить слово, так что не стесняйтесь пропустить этот раздел!

    • Доступ — НЕ ИСПОЛЬЗУЙТЕ этот тег для Microsoft Access, используйте вместо него [ms-access]
    • Память — используйте этот тег для управления памятью или проблем в программировании
    • Access — Microsoft Access, также известный как Microsoft Office Access, представляет собой систему управления базами данных от Microsoft, которая обычно сочетает в себе реляционное ядро ​​СУБД Microsoft JetACE с графический пользовательский интерфейс и инструменты разработки программного обеспечения.
    • Доступ к Microsoft — Microsoft Access, также известный как Microsoft Office Access, представляет собой систему управления базами данных от Microsoft, которая обычно объединяет реляционный Microsoft JetACE Компонент Database Engine с графическим пользовательским интерфейсом и инструментами для разработки программного обеспечения

    Симптомы Ошибка 7 — Ошибка Microsoft Access 7

    Ошибки времени выполнения происходят без предупреждения. Сообщение об ошибке может появиться на экране при любом запуске %программы%. Фактически, сообщение об ошибке или другое диалоговое окно может появляться снова и снова, если не принять меры на ранней стадии.

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

    Fix Ошибка Microsoft Access 7 (Error Ошибка 7)
    (Только для примера)

    Причины Ошибка Microsoft Access 7 — Ошибка 7

    При разработке программного обеспечения программисты составляют код, предвидя возникновение ошибок. Однако идеальных проектов не бывает, поскольку ошибки можно ожидать даже при самом лучшем дизайне программы. Глюки могут произойти во время выполнения программы, если определенная ошибка не была обнаружена и устранена во время проектирования и тестирования.

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

    Методы исправления

    Ошибки времени выполнения могут быть раздражающими и постоянными, но это не совсем безнадежно, существует возможность ремонта. Вот способы сделать это.

    Если метод ремонта вам подошел, пожалуйста, нажмите кнопку upvote слева от ответа, это позволит другим пользователям узнать, какой метод ремонта на данный момент работает лучше всего.

    Обратите внимание: ни ErrorVault.com, ни его авторы не несут ответственности за результаты действий, предпринятых при использовании любого из методов ремонта, перечисленных на этой странице — вы выполняете эти шаги на свой страх и риск.

    Метод 1 — Закройте конфликтующие программы

    Когда вы получаете ошибку во время выполнения, имейте в виду, что это происходит из-за программ, которые конфликтуют друг с другом. Первое, что вы можете сделать, чтобы решить проблему, — это остановить эти конфликтующие программы.

    • Откройте диспетчер задач, одновременно нажав Ctrl-Alt-Del. Это позволит вам увидеть список запущенных в данный момент программ.
    • Перейдите на вкладку «Процессы» и остановите программы одну за другой, выделив каждую программу и нажав кнопку «Завершить процесс».
    • Вам нужно будет следить за тем, будет ли сообщение об ошибке появляться каждый раз при остановке процесса.
    • Как только вы определите, какая программа вызывает ошибку, вы можете перейти к следующему этапу устранения неполадок, переустановив приложение.

    Метод 2 — Обновите / переустановите конфликтующие программы

    Использование панели управления

    • В Windows 7 нажмите кнопку «Пуск», затем нажмите «Панель управления», затем «Удалить программу».
    • В Windows 8 нажмите кнопку «Пуск», затем прокрутите вниз и нажмите «Дополнительные настройки», затем нажмите «Панель управления»> «Удалить программу».
    • Для Windows 10 просто введите «Панель управления» в поле поиска и щелкните результат, затем нажмите «Удалить программу».
    • В разделе «Программы и компоненты» щелкните проблемную программу и нажмите «Обновить» или «Удалить».
    • Если вы выбрали обновление, вам просто нужно будет следовать подсказке, чтобы завершить процесс, однако, если вы выбрали «Удалить», вы будете следовать подсказке, чтобы удалить, а затем повторно загрузить или использовать установочный диск приложения для переустановки. программа.

    Использование других методов

    • В Windows 7 список всех установленных программ можно найти, нажав кнопку «Пуск» и наведя указатель мыши на список, отображаемый на вкладке. Вы можете увидеть в этом списке утилиту для удаления программы. Вы можете продолжить и удалить с помощью утилит, доступных на этой вкладке.
    • В Windows 10 вы можете нажать «Пуск», затем «Настройка», а затем — «Приложения».
    • Прокрутите вниз, чтобы увидеть список приложений и функций, установленных на вашем компьютере.
    • Щелкните программу, которая вызывает ошибку времени выполнения, затем вы можете удалить ее или щелкнуть Дополнительные параметры, чтобы сбросить приложение.

    Метод 3 — Обновите программу защиты от вирусов или загрузите и установите последнюю версию Центра обновления Windows.

    Заражение вирусом, вызывающее ошибку выполнения на вашем компьютере, необходимо немедленно предотвратить, поместить в карантин или удалить. Убедитесь, что вы обновили свою антивирусную программу и выполнили тщательное сканирование компьютера или запустите Центр обновления Windows, чтобы получить последние определения вирусов и исправить их.

    Метод 4 — Переустановите библиотеки времени выполнения

    Вы можете получить сообщение об ошибке из-за обновления, такого как пакет MS Visual C ++, который может быть установлен неправильно или полностью. Что вы можете сделать, так это удалить текущий пакет и установить новую копию.

    • Удалите пакет, выбрав «Программы и компоненты», найдите и выделите распространяемый пакет Microsoft Visual C ++.
    • Нажмите «Удалить» в верхней части списка и, когда это будет сделано, перезагрузите компьютер.
    • Загрузите последний распространяемый пакет от Microsoft и установите его.

    Метод 5 — Запустить очистку диска

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

    • Вам следует подумать о резервном копировании файлов и освобождении места на жестком диске.
    • Вы также можете очистить кеш и перезагрузить компьютер.
    • Вы также можете запустить очистку диска, открыть окно проводника и щелкнуть правой кнопкой мыши по основному каталогу (обычно это C :)
    • Щелкните «Свойства», а затем — «Очистка диска».

    Метод 6 — Переустановите графический драйвер

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

    • Откройте диспетчер устройств и найдите драйвер видеокарты.
    • Щелкните правой кнопкой мыши драйвер видеокарты, затем нажмите «Удалить», затем перезагрузите компьютер.

    Метод 7 — Ошибка выполнения, связанная с IE

    Если полученная ошибка связана с Internet Explorer, вы можете сделать следующее:

    1. Сбросьте настройки браузера.
      • В Windows 7 вы можете нажать «Пуск», перейти в «Панель управления» и нажать «Свойства обозревателя» слева. Затем вы можете перейти на вкладку «Дополнительно» и нажать кнопку «Сброс».
      • Для Windows 8 и 10 вы можете нажать «Поиск» и ввести «Свойства обозревателя», затем перейти на вкладку «Дополнительно» и нажать «Сброс».
    2. Отключить отладку скриптов и уведомления об ошибках.
      • В том же окне «Свойства обозревателя» можно перейти на вкладку «Дополнительно» и найти пункт «Отключить отладку сценария».
      • Установите флажок в переключателе.
      • Одновременно снимите флажок «Отображать уведомление о каждой ошибке сценария», затем нажмите «Применить» и «ОК», затем перезагрузите компьютер.

    Если эти быстрые исправления не работают, вы всегда можете сделать резервную копию файлов и запустить восстановление на вашем компьютере. Однако вы можете сделать это позже, когда перечисленные здесь решения не сработают.

    Другие языки:

    How to fix Error 7 (Microsoft Access Error 7) — Out of memory.
    Wie beheben Fehler 7 (Microsoft Access-Fehler 7) — Aus dem Gedächtnis.
    Come fissare Errore 7 (Errore di Microsoft Access 7) — Fuori dalla memoria.
    Hoe maak je Fout 7 (Microsoft Access-fout 7) — Geen geheugen.
    Comment réparer Erreur 7 (Erreur d’accès Microsoft 7) — Mémoire insuffisante.
    어떻게 고치는 지 오류 7 (마이크로소프트 액세스 오류 7) — 메모리가 부족합니다.
    Como corrigir o Erro 7 (Erro 7 do Microsoft Access) — Fora da memória.
    Hur man åtgärdar Fel 7 (Microsoft Access Error 7) — Slut på minne.
    Jak naprawić Błąd 7 (Błąd Microsoft Access 7) — Brak pamięci.
    Cómo arreglar Error 7 (Error 7 de Microsoft Access) — Sin memoria.

    The Author Об авторе: Фил Харт является участником сообщества Microsoft с 2010 года. С текущим количеством баллов более 100 000 он внес более 3000 ответов на форумах Microsoft Support и создал почти 200 новых справочных статей в Technet Wiki.

    Следуйте за нами: Facebook Youtube Twitter

    Последнее обновление:

    17/08/22 09:59 : Пользователь Android проголосовал за то, что метод восстановления 1 работает для него.

    Рекомендуемый инструмент для ремонта:

    Этот инструмент восстановления может устранить такие распространенные проблемы компьютера, как синие экраны, сбои и замораживание, отсутствующие DLL-файлы, а также устранить повреждения от вредоносных программ/вирусов и многое другое путем замены поврежденных и отсутствующих системных файлов.

    ШАГ 1:

    Нажмите здесь, чтобы скачать и установите средство восстановления Windows.

    ШАГ 2:

    Нажмите на Start Scan и позвольте ему проанализировать ваше устройство.

    ШАГ 3:

    Нажмите на Repair All, чтобы устранить все обнаруженные проблемы.

    СКАЧАТЬ СЕЙЧАС

    Совместимость

    Требования

    1 Ghz CPU, 512 MB RAM, 40 GB HDD
    Эта загрузка предлагает неограниченное бесплатное сканирование ПК с Windows. Полное восстановление системы начинается от $19,95.

    ID статьи: ACX07284RU

    Применяется к: Windows 10, Windows 8.1, Windows 7, Windows Vista, Windows XP, Windows 2000

    Совет по увеличению скорости #47

    Оптимизируйте Windows с помощью средства устранения неполадок производительности:

    Оптимизируйте свой компьютер с Windows 7 и Windows 10 с помощью средства устранения неполадок производительности для повышения скорости работы. Этот инструмент может находить проблемы и предлагать действенные решения по их устранению. Просто введите «средство устранения неполадок» в поле поиска на панели управления.

    Нажмите здесь, чтобы узнать о другом способе ускорения работы ПК под управлением Windows

     

    axtrace

    Пользователь

    Сообщений: 23
    Регистрация: 11.01.2013

    Добрый день!

    Проблема в следующем: все данные с листа помещаю в массив, чтобы их быстрее обработать. На малых объемах все работает хорошо. На больших, близких к граничным, вылезает ошибка «RunTime Error 7 — Out of Memory».

    Она вылезает или на ReDim массива, или на присвоении массиву диапазона с листа.

    Что странно, так это ошибка не вылезает, если использую константу в 1 500 000 (строк), а если через переменную передаю 1048574 (строк), то вылезает. Это и взрывает мне мозг.

    Запускаю функцию Sub StartTransferData() в модуле m2_Main2 в файле (48 Мб):

    https://docs.google.com/file/d/0B_GHN7yiYuxELWVSSmJIM3VUczg/edit?usp=sharing

    весит много, поэтому через гугл драйв.
    Также прикладываю скриншот экрана после нажатия на Debug

    Подскажите, пожалуйста, в чем может быть дело и как бороться.

    Спасибо

    Изменено: axtrace01.02.2013 18:08:48

     

    LastRow=1’048’574, LastCol=16’384 всего 17’179’836’416 ячеек; даже всего по одному байту на ячейку — нужно не менее 16Г памяти только на массив.

    Изменено: Михаил С.01.02.2013 18:54:26

     

    EducatedFool

    Пользователь

    Сообщений: 3621
    Регистрация: 23.12.2012

    #3

    01.02.2013 18:56:43

    Возможно, дело и не в объёме памяти, требуемой для массива,
    а где-то в объявлении переменных.

    Цитата
    использую константу в 1 500 000 (строк)

    А в коде написано 150 000
    150 тыс — это совсем другое, нежели 1500 000

    PS: Через Redim можно изменять только верхнюю размерность массива
    А зачем вам 2 строки с Redim?
    Уберите первую строку — и всё заработает

    Изменено: EducatedFool01.02.2013 19:01:17

     

    axtrace

    Пользователь

    Сообщений: 23
    Регистрация: 11.01.2013

    #4

    01.02.2013 19:00:51

    Цитата
    EducatedFool пишет:
    Через Redim можно изменять только верхнюю размерность массива

    а что такое верхняя размерность массива?

    Цитата
    EducatedFool пишет:
    А зачем вам 2 строки с Redim?
    Уберите первую строку — и всё заработает

    нет, не заработает. я ее специально добавил, чтобы показать, что если указывать размеры как числа, то все ок.
    А если брать их из переменной, то вылетает ошибка.

     

    ikki

    Пользователь

    Сообщений: 9709
    Регистрация: 22.12.2012

    #5

    01.02.2013 19:04:27

    Цитата
    EducatedFool пишет:
    PS: Через Redim можно изменять только верхнюю размерность массива

    поправка.
    с опцией Preserve.
    да и то — не верхнюю, а самую последнюю.
    здесь Preserve нет.

    фрилансер Excel, VBA — контакты в профиле
    «Совершенствоваться не обязательно. Выживание — дело добровольное.» Э.Деминг

     

    Юрий М

    Модератор

    Сообщений: 60390
    Регистрация: 14.09.2012

    Контакты см. в профиле

    #6

    01.02.2013 19:05:55

    Цитата
    axtrace пишет:
    я ее специально добавил, чтобы показать, что если указывать размеры как числа, то все ок.

    А Вы попробуйте присвоить LastRow значение = 1048574. И LastColumn = 15. Первую строку с ReDim Отключите. Что получится?

     

    ikki

    Пользователь

    Сообщений: 9709
    Регистрация: 22.12.2012

    #7

    01.02.2013 19:14:52

    имхо, 48мб качать никто не будет.
    предыдущая строка кода с 150000 строк в массиве — не «доказательство».
    чему равно LastCol — тоже неизвестно.

    кстати, размеры массива вообще нет нужды определять явно.
    попробуйте так:

    Код
    Dim arr
    arr = range(...).value

    фрилансер Excel, VBA — контакты в профиле
    «Совершенствоваться не обязательно. Выживание — дело добровольное.» Э.Деминг

     

    axtrace

    Пользователь

    Сообщений: 23
    Регистрация: 11.01.2013

    #8

    01.02.2013 19:17:50

    Цитата
    Юрий М пишет:
    А Вы попробуйте присвоить LastRow значение = 1048574. И LastColumn = 15. Первую строку с ReDim Отключите. Что получится?

    Получилось, что при первом вызове функции getArrayFromSheet — той, в которой этот ReDim содержиться — проходит все успешно, но во втором вызове — я несколько массивов формирую с разных листов — опять вылетает та же ошибка. Хотя там точно также присваивается LastRow значение = 1048574. И LastColumn = 15

     

    Михаил С.

    Пользователь

    Сообщений: 10514
    Регистрация: 21.12.2012

    #9

    01.02.2013 19:20:09

    Цитата
    ikki пишет: чему равно LastCol — тоже неизвестно.

    Известно — число столбцов на листе

    Прикрепленные файлы

    • Image 1.gif (29.67 КБ)

     

    ikki

    Пользователь

    Сообщений: 9709
    Регистрация: 22.12.2012

    #10

    01.02.2013 19:21:51

    Цитата
    Михаил С. пишет: Известно — число столбцов на листе

    нет.
    в приведенном фрагменте — зависит от данных во второй строке.

    фрилансер Excel, VBA — контакты в профиле
    «Совершенствоваться не обязательно. Выживание — дело добровольное.» Э.Деминг

     

    Юрий М

    Модератор

    Сообщений: 60390
    Регистрация: 14.09.2012

    Контакты см. в профиле

    Утечка памяти? Попробуйте убить массив.

     

    Юрий М

    Модератор

    Сообщений: 60390
    Регистрация: 14.09.2012

    Контакты см. в профиле

    #12

    01.02.2013 19:24:24

    Цитата
    Михаил С. пишет: Известно — число столбцов на листе

    Михаил, не совсем так: это последняя ячейка (номер столбца) по второй строке.

     

    axtrace

    Пользователь

    Сообщений: 23
    Регистрация: 11.01.2013

    #13

    01.02.2013 19:24:53

    Цитата
    Юрий М пишет: Утечка памяти? Попробуйте убить массив.

    может быть. а как убивают массивы?
    только если утечка, после перезагрузки и запуска только excel, все должно было быть чисто и хотя бы раз отработать нормально, но нет — все-равно ошибка. Правда, она то на ReDim, а то на следующей строчке с присваиванием:

    nArray = tSheet.Range(tSheet.Cells(1, 1), tSheet.Cells(LastRow, LastCol))

     

    Юрий М

    Модератор

    Сообщений: 60390
    Регистрация: 14.09.2012

    Контакты см. в профиле

    Вы сначала объясните — зачем дважды ReDim с одним и тем же nArray?

     

    The_Prist

    Пользователь

    Сообщений: 13997
    Регистрация: 15.09.2012

    Профессиональная разработка приложений для MS Office

    #15

    01.02.2013 19:37:27

    Попробуйте объявлять процедуру так:

    Код
    getArrayFromSheet(tSheet As Worksheet)

    и раскомментируйте строки с объявлением массива и назначением его через функцию. Или массив объявите глобально.

    Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

     

    ikki

    Пользователь

    Сообщений: 9709
    Регистрация: 22.12.2012

    #16

    01.02.2013 19:38:03

    вообще-то странно  :(
    вот у меня winXP, Excel 2003, RAM 3Gb, доступно чуть более 2Gb
    массив из 10млн элементов типа Variant занимает ок. 153 Mb
    вот такой код отрабатывает:

    Код
    Sub t()
      Const m& = 500000
      Dim a, b, c, d, e, f
    
      ReDim a(1 To m, 1 To 20) As Variant
      ReDim b(1 To m, 1 To 20) As Variant
      ReDim c(1 To m, 1 To 20) As Variant
      ReDim d(1 To m, 1 To 20) As Variant
      ReDim e(1 To m, 1 To 20) As Variant
      ReDim f(1 To m, 1 To 20) As Variant
    End Sub

    вполне штатно — в диспетчере задач при пошаговом режиме выделение памяти увеличивается по 150+ метров… по завершении процедуры — всё самоубивается (массив локальный).
    но если я меняю константу m на 600000 — то уже при создании 3-го массива вылетает out of memory
    :(
    при этом «выделенная память» выросла от 620М до примерно 1Г
    а в первый раз — благополучно до 1,6Г

    фрилансер Excel, VBA — контакты в профиле
    «Совершенствоваться не обязательно. Выживание — дело добровольное.» Э.Деминг

     

    Юрий М

    Модератор

    Сообщений: 60390
    Регистрация: 14.09.2012

    Контакты см. в профиле

    #17

    01.02.2013 19:39:48

    Саш, да вообще нужно, как ты советовал:

    Код
    Dim nArray()
    nArray = Range(Cells(1, 1), Cells(lastrow, lastcolumn)).Value
     

    axtrace

    Пользователь

    Сообщений: 23
    Регистрация: 11.01.2013

    #18

    01.02.2013 19:42:40

    Цитата
    Юрий М пишет: Вы сначала объясните — зачем дважды ReDim с одним и тем же nArray?

       

    Код
    'этот ReDim, чтобы показать что на таких же размерах все работает. Он не нужен в программе, просто показываю, что если так указать, то все ок. Его я удалю. Поставил его после обнаружения ошибки. На нем ошибки нет
       ReDim nArray(1 To 1500000, 1 To 15) As Variant
        
    'это основной ReDim, он будет и дальше. Он динамически расширяет массив в зависимост от размеров данных на листе, которые туда будут помещаться. 
           ReDim nArray(1 To LastRow, 1 To LastCol) As Variant
    

    Первый — для примера. На нем не вылезает ошибка.
    А вот на втором — вылезает, даже если первый закомментен. Может быть это поможет локализовать проблему.

     

    Юрий М

    Модератор

    Сообщений: 60390
    Регистрация: 14.09.2012

    Контакты см. в профиле

    #19

    01.02.2013 19:44:42

    Цитата
    axtrace пишет:
    Он динамически расширяет массив в зависимост от размеров данных на листе, которые туда будут помещаться.

    Так и объявляйте сразу динамический массив (см. мой пост выше) — и ReDim’мить не придётся.

     

    Юрий М

    Модератор

    Сообщений: 60390
    Регистрация: 14.09.2012

    Контакты см. в профиле

    #20

    01.02.2013 19:45:30

    Цитата
    axtrace пишет: этот ReDim, чтобы показать что на таких же размерах все работает.

    Неправда — совсем разные размеры.

     

    axtrace

    Пользователь

    Сообщений: 23
    Регистрация: 11.01.2013

    #21

    01.02.2013 19:47:50

    Цитата
    Юрий М пишет:
    Dim nArray()
    nArray = Range(Cells(1, 1), Cells(lastrow, lastcolumn)).Value

    то есть просто убрать ReDim? Я так сделал, у меня в массив записалось <Out of memory>, программа благополучно продолжила работать, но вылезла ошибка о несуществовании объекта в дальнейшем, при попытке перенести данные из этого массива в другой

     

    axtrace

    Пользователь

    Сообщений: 23
    Регистрация: 11.01.2013

    #22

    01.02.2013 19:50:52

    Цитата
    Юрий М пишет: Неправда — совсем разные размеры.

    я опечатался, вместо 1 500 000 указал 150 000. В файле уже исправил, все равно этот ReDim берет, на втором — ошибка

     

    Юрий М

    Модератор

    Сообщений: 60390
    Регистрация: 14.09.2012

    Контакты см. в профиле

    #23

    01.02.2013 19:58:48

    Цитата
    axtrace пишет: то есть просто убрать ReDim?

    Объявите массив, как указано, и присвойте ему значения из диапазона листа — никакой ошибки быть не должно. Не «просто убрать RedIm», а записать: массив = …

     

    axtrace

    Пользователь

    Сообщений: 23
    Регистрация: 11.01.2013

    #24

    01.02.2013 19:59:17

    Цитата
    ikki пишет: но если я меняю константу m на 600000 — то уже при создании 3-го массива вылетает out of memory

    может быть это ограничение разметки памяти в vba?

     

    The_Prist

    Пользователь

    Сообщений: 13997
    Регистрация: 15.09.2012

    Профессиональная разработка приложений для MS Office

    Я полагаю проблема в том, что массив передается в процедуру ссылкой. А в этом случае память не высвобождается — VBA считает, что мы вроде как далее будем использовать переменную. И при повторном обращении с передачей ссылки у нас выделенный размер памяти может «слегка» увеличиватся.
    В общем попробуйте объявить массив глобально и в процедуре просто переназначать ему значения.

    Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

     

    Михаил С.

    Пользователь

    Сообщений: 10514
    Регистрация: 21.12.2012

    #26

    01.02.2013 21:52:01

    А мне кажется, дело в простой нехватке физической памяти. Например, такой массив

    Код
    Sub test()
    ReDim a(1000000, 30) As Byte
    End Sub

    на моем компе (win7, off 2010, 2 G) срабатывает, а такой

    Код
    Sub test()
    ReDim a(1000000, 30) 
    End Sub

    —  «RunTime Error 7 — Out of Memory»

     

    axtrace

    Пользователь

    Сообщений: 23
    Регистрация: 11.01.2013

    #27

    01.02.2013 22:00:03

    Цитата
    The_Prist пишет: И при повторном обращении с передачей ссылки у нас выделенный размер памяти может «слегка» увеличиватся

    там же только адрес, откуда вызывается и адреса памяти массивов (по ссылке передаются параметры функции). это вроде бы немного.
    я попробовал, не помогло  :(  Все работает так же, как раньше.

     

    axtrace

    Пользователь

    Сообщений: 23
    Регистрация: 11.01.2013

    #28

    01.02.2013 22:01:35

    Цитата
    Михаил С. пишет:  моем компе (win7, off 2010, 2 G)

    странно. у меня win7, off2010, 4Gb
    файл подкачки — 3,6 Gb

     

    axtrace

    Пользователь

    Сообщений: 23
    Регистрация: 11.01.2013

    попробую я, в общем, делать кусками. Брать массив тысяч в 100 строк, преобразовывать его, записывать на новый лист, переходить к следующим 100 тыс. строк… Время, конечно, увеличится. Но хоть какое-то решение у меня будет.

    все большое спасибо за идеи! Надеюсь, вам пригодится где-нибудь когда-нибудь :)

     

    SvetaS_love

    Пользователь

    Сообщений: 132
    Регистрация: 14.07.2015

    #30

    14.07.2015 20:39:10

    Добрый День!
    Помогите пожалуйста. У меня тоже эта  проблема но Excel 2016 ошибку тоже даёт Redim
    на  111 533 строках и 1635 столбцах

    Код
    Dim text_word2() As Variant
    x=1635
     ReDim text_word2(0 To kki, 0 To x)

    Как решили прошлую проблему?

    одинокий странник

    Многие пользователи ПК во время работы с какой-либо программой могут столкнуться с «вылетом» указанной программы, и появившимся сообщением «Out of memory». Возникшая проблема может иметь множество причин, начиная от банального недостатка памяти на пользовательском ПК, и заканчивая некорректной работой с памятью какой-либо программы.

    • Причины появления дисфункции
    • Как исправить ошибку «Out of memory»
    • Заключение

    Ошибка out of memory

    Причины появления дисфункции

    Сообщение «Out of memory» (в переводе дословно «вне памяти», или «недостаточно памяти») обычно возникает при недостатке памяти на пользовательском компьютере. В частности же, в появлении данной ошибки «виновен» следующий набор факторов:

    • Недостаток памяти RAM на вашем ПК (рабочей памяти, планки которой установлены на материнской плате вашего компьютера). Если на вашем компьютере установлен всего 1 гигабайт памяти, вы будете встречаться с описываемой ошибкой довольно часто. Нормальным же ныне считается наличие на компьютере 4 гигабайт памяти и выше;
    • Недостаток места на жёстком диске.

    Когда вашему компьютеру не хватает физической R.A.M. памяти, он заимствует часть места на жёстком диске, и создаёт так называемую «виртуальную память». Система временно хранит в такой виртуальной памяти ту часть данных, которая не помещается в памяти обычной. Такие данные обычно хранятся в файле «pagefile.sys», размер которого может увеличиваться или уменьшаться в зависимости от специфики работы вашей ОС. Если на диске будет недостаточно места, файл «pagefile.sys» не сможет расти, и пользователь получит рассматриваемую ошибку.

    • При одновременном запуске на ПК большого количества программ, каждая из которых бронирует часть памяти ПК под свои задачи;
    • При запуск большого количества вкладок браузера. Веб-навигаторы уровня «Firefox» или «Google Chrome» способны занимать от 500 мегабайт до 1 гигабайта памяти под свой функционал, при этом число открытых вкладок и соответствующей обслуживающей памяти может быть ограничено системой. Специалисты Майрософт называют такую проблему «the desktop heap limitation» — «ограничение кучи рабочего стола»);
    • Некорректная работа с памятью ряда программ (наиболее часто это игровые программы);
    • Не оптимальный размер файла подкачки, с которым работает система.Планка памяти и датчик

    Как исправить ошибку «Out of memory»

    Для решения указанной проблемы рекомендую сделать следующее:

    1. Перезагрузите ваш ПК, и запустите требуемую программу вновь. Возможно, что проблема имеет случайный характер, и более повторяться не будет;
    2. Перед запуском нужной программы закройте другие ненужные программы (браузер, музыкальный или видео плеер, текстовый или графический редактор, мессенджер и так далее);
    3. Если проблема возникает во время серфинга в сети, закройте всё множество вкладок вашего браузера (при наличии), оставив лишь одну или две.Много открытых вкладок

    Альтернативным вариантом решения проблемы является установка соответствующего фикса от Майкрософт. Или использование расширений или дополнений для браузера уровня «The Great Suspender» для «Google Chrome», хорошо работающего с ненужными вкладками браузера.

    • Добавьте оперативной памяти на ваш ПК. Если у вас на компьютере установлено 1-2 гигабайта памяти, будет оптимальным довести её объём до 4 гигабайт (а для 64-битных Виндовс 7, 8 и 10 версии рекомендую 8 и более гигабайт);Планка памяти
    • Убедитесь, что на вашем жёстком диске (или SSD) достаточно свободного места. При необходимости, освободите диск от ненужных файлов;
    • Используйте инструмент командной строки BCDEdit для изменения параметров загрузки системы. Если у вас на ПК установлена Виндовс 7 и более, запустите командную строку от имени администратора на Виндовс 7 и Виндовс 10, и в ней наберите:

    bcdedit/set IncreaseUserVa 3072

    И нажмите на ввод, и перезагрузите ваш ПК. Функционал данной команды позволяет выделить пользовательским приложениям 3 гигабайта оперативной памяти для работы. В некоторых системах этого может быть слишком много, потому если после ввода данной команды система начала чаще сбоить, то введите в командной строке от имени администратора:

    bcdedit /set IncreaseUserVa 2560 что позволит задействовать 2,5 гигабайта вместо ранее забронированных 3.

    Если ситуацию этим исправить не удалось, верните настройки на состояние по умолчанию:

    bcdedit /deletevalue IncreaseUserVa

    • Увеличьте объём файла подкачки. Нажмите кнопку «Пуск», в строке поиска введите sysdm.cpl и нажмите ввод. В открывшемся окне настроек системы выберите «Дополнительно» — «Быстродействие» — «Параметры» — «Дополнительно» — «Виртуальная память» — «Изменить». Снимите галочку с опции автоматического размера, поставьте галочку на «Указать размер», и поставьте исходный размер в 8192, и максимальный в 8192. Затем выберите «Задать»;

      Окно виртуальной памяти

      Установите нужный размер файла подкачки

    • Если ошибка возникает при использовании игровой программы, перейдите в её графические настройки, и выберите их минимальные значения;
    • Произведите правильную настройку «Java». Для решения проблем с игровой программой «Майнкрафт» перейдите в Панель управления Виндовс, найдите там «Java» и запустите данную среду исполнения. Нажмите на кнопку «View», затем дважды кликните на «Runtime Parametres». Введите туда –Xms256m – Xmx3072m (или больше). Xms – это минимальное выделение ОЗУ, Xmx – максимальное. Значение Xmx рекомендуют устанавливать на процентов 70-80% от общего объёма ОЗУ. Примените изменения, и перезагрузите ваш ПК.

    Заключение

    Ошибка «Out of memory» может иметь множество причин, связанных как с физическим недостатком памяти на ПК, так и другими детерминантами, изложенными мной выше. Для решения проблемы советую закрыть ненужные программы (вкладки браузера) на вашем компьютере (тем самым разгрузив его память), а самым эффективным инструментом является установка дополнительной планки памяти на ПК, что в большинстве случаев поможет избавиться от ошибки на вашем компьютере.

    The Runtime error 7 is caused by a conflict inside Visual Basic encoded programs. If you try to open the BoundText property of a Data Combo in Visual Basic code after you scroll down the list of elements in its list portion until the currently selected element is no longer listed, the following error message may be displayed:

    Runtime Error “7”: Out of Memory

    Although the error message has appeared, you may find that there is no actual loss of memory and the system behaves consistently. To fix this error, you should follow the steps below:

    What Causes Runtime Error 7?

    Runtime Error 7 normally shows in this format:

    Runtime Error “7”: Out of Memory

    The error message above is caused by the FM20.dll file being corrupted or damaged. The FM20.dll file is used by Visual Basic to help encode various features and settings inside the programs you create. This file is only used within Visual Basic, and the reason why it shows errors is thanks to the way it is not supported by Visual Studio or other programming interfaces on your system. Fortunately, you can fix the Runtime Error 7 by removing the FM20.dll file from  your application and then unregistering the comctl32.ocx file on your PC. Here’s what you should do…

    How To Fix Runtime Error 7

    Step 1 – Remove the FM20.dll file From Your Application

    If you have coded a program using Visual Basic to use the FM20.dll (Dynamic Link Library) file then you should remove it, the reason being is that it might cause some conflictions. A DLL file is a file that contains different functions, which are mostly used across multiple applications and sometimes these can brake causing one of the applications to show error messages. To remove DLL files here’s what to do:

    1. Open the Command Prompt.

    • Click Start > Run.
    • Type ‘cmd‘ in the box (without the quotation marks).
    • Click OK.

    2. Navigate to the exact location of the DLL.

    • Type ‘regsvr32 /u fm20.dll‘ (again without quotations).
    • Press Enter.
    • Once you press enter a confirmation box will appear acknowloging that the process was successful.

    Step 2 – Unregister And Delete “Comctl32.ocx” File

    Comctl32.ocx is an essential file used by Windows to control various Visual Basic components on your PC. Unfortunately, this file often becomes damaged, leading Windows to show the Runtime 7 error. The most effective way to ensure this does not cause any errors, is to delete the file and re-register it on your PC. Here’s what to do:

    1. Open the command prompt

    • Click Start > Run
    • Type the following command without quotations: ‘regsvr32 -u comctl32.ocx
    • If you get a message saying ‘DLL is not registered’ press OK.

    2.  Search Files

    • Click Start > then click Search.
    • Click All files and folders.
    • Type Comctl32.ocx in the All or part of the file name box.
    • Select Local Hard Drives from the Look in drop down list.
    • Click Search. Results will show in right hand pane.
    • Make a note of the folder in which the Comctl32.ocx is i > right click the Comctl32.ocx file and delete it

    Step 3 – Manually Replace The Comctl32.ocx File

    It’s often the case that Comctl32.ocx will either be corrupted, damaged or just not have the necessary permissions for use on your system. If this is the case, then manually replacing the file could fix the error for you. Here’s what you need to do:

    1) Download Comctl32.zip from our server

    2) Unzip the Comctl32.ocx file onto your computer’s hard drive

    3) Browse to c:WindowsSystem32

    4) Locate the current Comctl32.ocx on your system

    5) Rename the current Comctl32.ocx to Comctl32BACKUP.ocx

    6) Copy & paste the new Comctl32.ocx into C:WindowsSystem32

    7) Click Start > Run (Or search”run” on Vista & Win7)

    8 ) Type “cmd” in the box that appears

    9) Type “regsvr32 Comctl32.ocx” on the black screen

    10) Press enter

    11) Reboot your PC

    Step 4 Clean Out Viruses

    • Download This Virus Scanner

    Antivirus programs are software tools which scan through your PC and remove any of the viruses or malware infections that are on your system. It’s often the case that viruses will infect various DLL files on your computer and then cause them to be unreadable to your PC. To ensure this is not happening on your computer, you should try using an antivirus program to scan through your system and remove any of the infections that cause all these errors. You can download our recommended antivirus program from the link above, but there are a large variety of programs available.

    Step 5 – Clean Out The Registry

    • Download This Registry Cleaner

    Another big cause of the Runtime Error 7 errors is the registry database of Windows. The “registry” is a central database which stores all the settings, information and options for your computer, and is where Windows keeps many vital settings that it requires to run. It’s often the case that a lot of registry settings become damaged and corrupted, leading your PC to take longer to run, making it run slower and with a lot of errors. To fix this problem, you should use a ‘registry cleaner’ to scan through your PC and fix any of the damaged or corrupt settings that are inside it. You can see our recommended registry cleaner below:

    3 / 3 / 2

    Регистрация: 20.10.2011

    Сообщений: 124

    1

    28.10.2015, 14:36. Показов 2538. Ответов 8


    Здравствуйте.
    Установил PIC Simulator IDE, при запуске Basic компилятора вылетает эта ошибка.
    Помогите исправить пожалуйста.

    __________________
    Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



    0



    10229 / 6607 / 498

    Регистрация: 28.12.2010

    Сообщений: 21,159

    Записей в блоге: 1

    28.10.2015, 14:55

    2



    0



    3 / 3 / 2

    Регистрация: 20.10.2011

    Сообщений: 124

    28.10.2015, 15:21

     [ТС]

    3

    Что за DTP*** и что за васиковский рантайм?



    0



    10229 / 6607 / 498

    Регистрация: 28.12.2010

    Сообщений: 21,159

    Записей в блоге: 1

    28.10.2015, 15:28

    4



    0



    3 / 3 / 2

    Регистрация: 20.10.2011

    Сообщений: 124

    28.10.2015, 15:38

     [ТС]

    5

    не помогло



    0



    10229 / 6607 / 498

    Регистрация: 28.12.2010

    Сообщений: 21,159

    Записей в блоге: 1

    28.10.2015, 19:18

    6

    Очень жаль. Может топик-стартер перестанет быть партизаном и наконец-то укажет свою ОС и другие подробности, как то кирилица в путях установки, версию PIC Simulator IDE?



    0



    3 / 3 / 2

    Регистрация: 20.10.2011

    Сообщений: 124

    29.10.2015, 00:35

     [ТС]

    7

    ОС Win7, версия симулятора 6.91, крякнутый. Пробовал ставить другие версии, но итог тот же. Ставил PIC18(10, 16) Simulator IDE, проблем не возникло, но не нашел для них таблетки, а там длина кода может составлять максимум 50 строк. На других машинах с этим же установчником все работало корректно. Кирилицы в путях нет

    Добавлено через 22 минуты
    Встроенные примеры программ запустились корректно. Ошибка появляется при вызове компилятора Basic. При вызове Ассемблера также вылетает эта ошибка



    0



    10229 / 6607 / 498

    Регистрация: 28.12.2010

    Сообщений: 21,159

    Записей в блоге: 1

    29.10.2015, 07:21

    8

    На других машинах NET Framework какой версии?
    На других машинах какие ОС?
    На других машинах лицензия ОС?



    0



    3 / 3 / 2

    Регистрация: 20.10.2011

    Сообщений: 124

    29.10.2015, 11:58

     [ТС]

    9

    На моем компьютере NET Famework 4.5, на других неизвестно.
    Работало на win8.1 лицензия, winXP пиратка, win7 пиратка и лицензия



    0



    Если вы ищете как runtime error исправить — вы попали по адресу.

    Причин появления таковой может быть огромное множество.

    Чаще всего причина состоит в том, что выходит новая версия того или иного приложения/игры и она устанавливается прямо поверх старой.

    Хотя это далеко не единственная ситуация, которая может вызвать ее появление.

    После того, как вы нажимаете на единственную кнопку в окне ошибки, оно просто закрывается и программа также перестает работать.

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

    Как выглядит ошибка

    Способ №1. CCleaner

    Самое простое решение заключается в том, чтобы воспользоваться программой для чистки реестра. Как это работает?

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

    Лучшей по праву считается CCleaner, хотя вы можете воспользоваться и другой.

    Чтобы использовать ее, сделайте вот что:

    1. Скачайте (вот ссылка на бесплатную) и установите программу.
    2. Запустите. Перейдите на вкладку «Реестр» на панели слева.
    3. В разделе «Целостность» поставьте галочки на всех возможных пунктах – никто не знает, в чем именно проблема.
    4. Нажмите кнопку «Поиск проблем». Когда этот процесс закончится, нажмите кнопку «Исправить…».

    Использование

    1. Подождите, пока приложение исправит все проблемы. Перезагрузите компьютер.

    После этого runtime error должен перестать появляться. Если нет, переходим к следующему решению.

    Способ №2. DirectX

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

    В любом случае, лучше всего просто установить наиболее актуальные варианты и, опять же, перезагрузить компьютер.

    Для этого зайдите на сайт Microsoft, на страницу с возможностью скачать DirectX. Запустите скачанный файл и выполните все действия, подразумевающие установку исполняемых библиотек.

    Здесь нет никаких особых рекомендаций – обычная.

    Страница загрузки DirectX

    Если после установки и перезагрузки компьютера ошибка не исчезла, идем дальше.

    Способ №3. Visual C++

    О распространяемом пакете Visual C++ в контексте рассматриваемой проблемы можно скачать то же самое, что и о библиотеках DirectX.

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

    Бывают в данном случае и другие ситуации, когда установленная C++ попросту не подходит для вашей операционной системы.

    Ниже приведена таблица с вариантами, которые подходят для разных версий ОС.

    Таблица 1. Требуемые версии Visual C++ для Windows

    Операционная система Требуемая Visual C++
    Windows XP и ниже C++2008
    Windows 7 C++2010
    Windows 8 и 10 Наиболее актуальная на данный момент

    Так вот, в зависимости от того, какая у вас ОС, вам следует скачать и инсталировать на свой компьютер C++2008 (64-бит, 32-бит), C++2010 (64-бит, 32-бит) или же C++2015 обновление 3.

    Это наиболее актуальная версия по состоянию на июнь 2017 года. В будущем выйдут новые, поэтому следите за новостями на официальном сайте Microsoft.

    Скачивание происходит одинаково – выбираем язык распространяемого компонента и жмем кнопку «Скачать». После этого останется запустить загруженный файл.

    После этого перезагрузите компьютер.

    Страница загрузки Visual C++

    Способ №4. Microsoft .NET Framework

    Здесь все то же самое – Microsoft .NET Framework тоже может вызывать рассматриваемую проблему из-за отсутствия каких-то собственных файлов. И этот компонент также нужно скачать и установить.

    Но есть определенный, правильный порядок ее инсталяции:

    Сначала необходимо инсталируйте версию 2.0 (вот ссылка). Попробуйте запустить программу, в которой раньше возникала проблема, если она не исчезла, устанавливайте дальше.

    После этого 3.0 (скачать).

    Если не помогает, 4.0 (ссылка).

    Наконец, если у вас Windows Vista SP2, 7 SP1, 8, 8.1, Server 2008 SP2, Server 2008 R2 SP1, Server 2012 или Server 2012 R2, установите 4.6.2 (скачать).

    Скачивание происходит точно так же, как и в случае с пакетами Visual C++.

    Если ничего из этого не помогает, значит, случился сбой самой операционной системы. Пригласите на дом специалиста или сдайте компьютер в сервисный центр, если это возможно.

    В крайнем случае, сделайте откат системы или вовсе переустановите ее.

    Источник

    this might be on here somewhere and I missed it, just let me know.

    After running my macro, I get Run-time Error 7 Out of Memory. After debugging, it’s on this line:

    cell.Offset(0, 6).Value = Sheets("MakeRing_Maths").Range("N1").Value
    

    The code is meant to run down a list of airports with longitudes and latitudes, create line segments that will be interpreted as circles, and convert to .KML (which is read by Google Earth Pro).

    Here is the rest of the code — how can I clean something like this up to avoid memory leaks??

    All answers appreciated, or pointers to other posts. I know this is a lot, so general suggestions are also welcome! Thank you!

    Sub PLANEMAN_Coords()
    
    Dim Latitude As Double
    Dim Longitude As Double
    Dim Bearing As Integer
    Dim LeftRight As Integer
    Dim RangeKM As Double
    Dim MinRange As Double
    
    For Each cell In [RangeRings_ENTER!B9:B5001]
    
        If cell.Value = "" Then
            GoTo EXITLOOP
        Else
        End If
    
        Latitude = cell.Offset(0, 1)
        Longitude = cell.Value
    
        'set default values:
    
        'line width
        If cell.Offset(0, 2).Text = "" Then
            cell.Offset(0, 2).Value = 2
            'default line width = 2
        Else
        End If
    
        'radius
        If cell.Offset(0, 5).Text = "" Then
           cell.Offset(0, 5).Value = 8.04672
            'default radius = 8.04672 km = 5 miles
        Else
        End If
        RangeKM = cell.Offset(0, 5)
    
        'line color
        If cell.Offset(0, 3).Text = "" Then
            cell.Offset(0, 3).Value = "ff0000ff"
            'default line color is Red
        Else
        End If
    
        'common code
        Sheets("MakeRing_Maths").Range("D3").Value = Longitude
        Sheets("MakeRing_Maths").Range("E3").Value = Latitude
        Sheets("MakeRing_Maths").Range("D1").Value = RangeKM
    
        'code that differs depending on range-ring type
        If cell.Offset(0, 7).Text = "Circle" Then
            Sheets("MakeRing_Maths").Range("J1").Value = 0 'Bearing
            Sheets("MakeRing_Maths").Range("J2").Value = 180 'width - ie 2 x 180 = 360 = complete circle
            Calculate
            cell.Offset(0, 6).Select 'just so that the user can 'see' that the macro is still running and not crashed
            cell.Offset(0, 6).Value = Sheets("MakeRing_Maths").Range("N1").Value
        Else
            'else wedge of some sort
    
            Bearing = cell.Offset(0, 8)
            LeftRight = cell.Offset(0, 9)
            MinRange = cell.Offset(0, 10)
    
            Sheets("MakeRing_Maths").Range("J1").Value = Bearing
            Sheets("MakeRing_Maths").Range("J2").Value = LeftRight
    
            If cell.Offset(0, 7).Text = "Wedge" Then
                Calculate
                cell.Offset(0, 6).Select 'just so that the user can 'see' that the macro is still running and not crashed
                cell.Offset(0, 6).Value = Sheets("MakeRing_Maths").Range("N2").Value
            Else 'else a wedge with minimum range component 'Wedge2
                If cell.Offset(0, 7).Text = "Wedge2" Then
                    Sheets("MakeRing_Maths").Range("F1").Value = MinRange
                    Calculate
                    cell.Offset(0, 6).Select 'just so that the user can 'see' that the macro is still running and not crashed
                    cell.Offset(0, 6).Value = Sheets("MakeRing_Maths").Range("N3").Value
                Else
                    If cell.Offset(0, 7).Text = "Arrow" Then
                        Sheets("MakeRing_Maths").Range("F1").Value = RangeKM * 0.95
                        Calculate
                        cell.Offset(0, 6).Select 'just so that the user can 'see' that the macro is still running and not crashed
                        cell.Offset(0, 6).Value = Sheets("MakeRing_Maths").Range("N4").Value
                    Else
                        'HERE
                    End If
                End If
            End If
        End If
    Next
    
    EXITLOOP:
    
    Call PLANEMAN_RangeRings_KML 'make KML file
    
    End Sub
    
    
    
    Sub PLANEMAN_RangeRings_KML()
    ' Original inspiration code by simon_a
    ' Planeman 2009
    
        'get user to specify save location and name
        Dim ThisAddress As String
        ChDir ThisWorkbook.Path
        ThisAddress = Application.GetSaveAsFilename(FileFilter:="KML Files (*.kml),*.kml", Title:="Save Location & Name")
    
        ' file details
        filePath = ThisAddress
        docName = "PLANEMAN.KML"
        FolderName = "Folder"
    
        Open filePath For Output As #1
    
        'Write header to file
        outputText = "<?xml version=""1.0"" encoding=""UTF-8""?> <kml xmlns=""http://www.opengis.net/kml/2.2"" xmlns:gx=""http://www.google.com/kml/ext/2.2"" xmlns:kml=""http://www.opengis.net/kml/2.2"" xmlns:atom=""http://www.w3.org/2005/Atom""> <Document><name>" & docName & "</name>    <Folder>    <name>" & FolderName & "</name>  <open>1</open>"
        Print #1, outputText
    
        'loop
        For Each cell In [RangeRings_ENTER!B9:B5001]
    
            If cell.Value = "" Then
               Exit For
            End If
    
            StrPart1 = "<Style id=""sn_ylw-pushpin""><IconStyle><color>" & cell.Offset(0, 3) & "</color></IconStyle><LineStyle><width>" & cell.Offset(0, 2) & "</width><color>" & cell.Offset(0, 3) & "</color></LineStyle><PolyStyle><color>" & cell.Offset(0, 3) & "</color></PolyStyle></Style>"
            StrPart2 = "<Placemark><name>" & cell.Offset(0, -1) & "</name>  <styleUrl>#sn_ylw-pushpin</styleUrl>    <LineString>    "
            StrPart3 = "<coordinates>" & cell.Offset(0, 6) & ",0 </coordinates> </LineString></Placemark>"
    
            'Create a placemark
            outputText = StrPart1 & StrPart2 & StrPart3
            Print #1, outputText
    
        Next
    
       'Write footer to file
        outputText = "</Folder></Document></kml>"
        Print #1, outputText
    
        Close #1
    
        MsgBox "Macro Complete"
    
    '
    End Sub
    
    Sub PLANEMAN_Placemarks_KML()
    ' Original inspiration code by simon_a
    ' Planeman 2009
    
        'get user to specify save location and name
        Dim ThisAddress As String
        ChDir ThisWorkbook.Path
        ThisAddress = Application.GetSaveAsFilename(FileFilter:="KML Files (*.kml),*.kml", Title:="Save Location & Name")
    
        ' file details
        filePath = ThisAddress
        docName = "PLANEMAN.KML"
        FolderName = "PlacemarkFolder"
    
        Open filePath For Output As #1
    
        'Write header to file
        outputText = "<?xml version=""1.0"" encoding=""UTF-8""?><kml xmlns=""http://www.opengis.net/kml/2.2""> <Document><name>" & docName & "</name>    <Folder>    <name>" & FolderName & "</name>  <open>1</open>"
        Print #1, outputText
    
        'loop
        For Each cell In [Placemarks_ENTER!B9:B5001]
    
            If cell.Value = "" Then
               Exit For
            End If
    
            StrPart1 = ""
            StrPart2 = " <Placemark> <name> " & cell.Offset(0, -1) & " </name> "
            StrPart3 = cell.Offset(0, 6) & "<Point><coordinates> " & cell.Offset(0, 0) & "," & cell.Offset(0, 1) & ",0</coordinates> </Point> </Placemark>"
    
            'Create a placemark
            outputText = StrPart1 & StrPart2 & StrPart3
            Print #1, outputText
    
        Next
    
       'Write footer to file
        outputText = "</Folder></Document></kml>"
        Print #1, outputText
    
        Close #1
    
        MsgBox "Macro Complete"
    
    '
    End Sub
    

    Понравилась статья? Поделить с друзьями:
  • Run error 103 lazarus
  • Run time error 6 overflow vba excel
  • Run error 102 паскаль
  • Run time error 5941 word макросы
  • Run error 100 lazarus