Vba открыть файл excel
Автор Михаил Капустин задал вопрос в разделе Другие языки и технологии
VBA Excel. Как обратиться к листу/ячейке УЖЕ ОТКРЫТОГО и не сохранённого файла excel? и получил лучший ответ
Ответ от East RX[гуру]
Workbooks("file name").Worksheets(...
или
Set newbook = Workbooks.Item("file name")
Ответ от Їайкин Виталий[гуру]
Возможно решением будет передавать данные ИЗ открытого файла. "Внутри открытого файла" пишем макрос, который и передает нужные данные.
Возможно решением будет передавать данные ИЗ открытого файла. "Внутри открытого файла" пишем макрос, который и передает нужные данные.
Ответ от Ўля Павлова[гуру]
Ваша ошибка в том, что Open открываете уже открытый файл, и он закрывается перед открытием, очищая блоки управления.
Правильно в программе активировать (Activate) книгу, если с ней много работы. Затем активировать лист и ячейку, но часто их достаточно выбрать (Select).
Application.Workbooks("имя_файла").Activate
ActiveWorkbook.Worksheets("имя_листа").Range("A5").Select
MsgBox Selection
Для книги в коллекции книг Workbooks можно указывать порядковый номер файла, автоматически присвоенный при открытии. Порядок можно определить
в списке окон Windows (в Excel) или глядя по-еврейски (справа-налево) на ярлыки открытых Excel-файлов на Панели задач. Но этим номером в автоматической программе пользоваться не рекомендуется, так как можно перед запуском вручную закрыть или открыть какие-то файлы и порядок изменится, да и количество. Свежеоткрытый файл меет порядковый номер 1, то есть попадает в голову коллекции. Значит этот способ пригоден только для фиксированного числа открытых файлов.
Правильно вместо номера задавать ИМЯ открытого файла (и даже заранее отслеживать ситуацию, открыт ли он).
Лист надо также выбирать или активировать по его ИМЕНИ на вкладке в рабочей книге. Но можно и по порядковому номеру вкладки. Дело в том, что при создании НОВОГО листа он открывается по-еврейски в левой вкладке книги и автоматически получает номер 1 в коллекции листов книги. Tо есть свежий лист это всегда Worksheets(1). Но его затем можно передвинуть среди вкладок и он этого номера не потеряет, но вы можете запутаться (как и с файлами)! Правильный порядковый номер листа (вместе с именем в скобках) можно увидеть в среде VBA в списке проекта.
Пользуясь именами, вы не ошибётесь, но для этого произвольные имена нужно уметь запоминать в программе, чтобы потом обращаться к ним в процессе выполнения.
Ваша ошибка в том, что Open открываете уже открытый файл, и он закрывается перед открытием, очищая блоки управления.
Правильно в программе активировать (Activate) книгу, если с ней много работы. Затем активировать лист и ячейку, но часто их достаточно выбрать (Select).
Application.Workbooks("имя_файла").Activate
ActiveWorkbook.Worksheets("имя_листа").Range("A5").Select
MsgBox Selection
Для книги в коллекции книг Workbooks можно указывать порядковый номер файла, автоматически присвоенный при открытии. Порядок можно определить
в списке окон Windows (в Excel) или глядя по-еврейски (справа-налево) на ярлыки открытых Excel-файлов на Панели задач. Но этим номером в автоматической программе пользоваться не рекомендуется, так как можно перед запуском вручную закрыть или открыть какие-то файлы и порядок изменится, да и количество. Свежеоткрытый файл меет порядковый номер 1, то есть попадает в голову коллекции. Значит этот способ пригоден только для фиксированного числа открытых файлов.
Правильно вместо номера задавать ИМЯ открытого файла (и даже заранее отслеживать ситуацию, открыт ли он).
Лист надо также выбирать или активировать по его ИМЕНИ на вкладке в рабочей книге. Но можно и по порядковому номеру вкладки. Дело в том, что при создании НОВОГО листа он открывается по-еврейски в левой вкладке книги и автоматически получает номер 1 в коллекции листов книги. Tо есть свежий лист это всегда Worksheets(1). Но его затем можно передвинуть среди вкладок и он этого номера не потеряет, но вы можете запутаться (как и с файлами)! Правильный порядковый номер листа (вместе с именем в скобках) можно увидеть в среде VBA в списке проекта.
Пользуясь именами, вы не ошибётесь, но для этого произвольные имена нужно уметь запоминать в программе, чтобы потом обращаться к ним в процессе выполнения.
Ответ от Єаимя Салихова[гуру]
Память не может быть READ!!! 🙂
• Excel при его Открытии Вываливает в Виртуальное Пространство ОЗУ свою текущую Информацию. Такова Windows, и таков порядок её Организации.
• Excel Создаёт в Temp-Каталоге Файлы Пошагового Изменения. Они нужны, чтобы с помощью Отката Команды (Ctrl+Z) можно было вернуться к предыдущим Состояниям.
• Excel каждые 10 (если не ошибаюсь) минут Создаёт в Temp-Каталоге по одной Резервной Копии с текущего Состояния Открытого Документа (Фоновое Автосохранение).
• Excel Создаёт в том Месте, откуда Пользователем был Открыт Файл Временный Информационный Файл. В случае Аварийного Завершения Работы (внезапное обесточивание компа). Если при Работе в Excel`е всё пройдёт успешно, и в конце Пользователь/сама Операционная Система Закроет Файл (не важно с Сохранением или без), тогда этот Файл будет Стёрт Excel`ем. Активные Файлы, как и Память (которая не может быть READ) точно также не могут быть READ!!! 🙂
Следовательно надо, чтобы что-то извне давало бы команду или какую-то Связь (через которую будут Выполняться какие-то Фоновые Задания, или что-то там, что надо Запустить в VBA). Значит надо загодя в сам Стандартный Шаблон умышленно Вставить Код, когда ещё не запущен Excel. Excel всегда Открывает Новый Документ из имеющегося Шаблона.
Только я не знаю наверняка, когда с помощью Excel`я Открываешь уже имеющийся Документ, будет ли он Обращаться к Шаблонам, чтобы посредством их Подстановки Эмулировать что-то нужное!!! Потому что Эмуляцию заготовленных Шаблонов не все Программы и не во всём используют. В AutoCAD`е Эмулируются только Высокоуровневые Шрифты (Системные он вообще не распознаёт). В HTTP вообще Эмулируются только несколько Высокоуровневых Шрифтов. Кстати, их последователи, Android (Операционная Система, Организованная на основе Табличной Разметки) точно также Эмулируют только несколько Высокоуровневых Шрифтов (из них лишь несколько собственных).
— о развитии компов и усилении роли SGML-образных Языков.
— о развитии Продуктов MS-Office (Excel — всего лишь одна из Программ данного Пакета, изначально привязанная к SGML-образному Языку).
23:05 21.07.2017
PS. Насколько я понимаю, на Активные Файлы в Windows можно влиять через Реестр, Прописав Доступные Действия для Активных Файлов. Расширять возможности Excel`я, наверное, придётся прямо отсюда из «Базы Данных» Windows. Т. е. где-то здесь должна быть лазейка?! ?\_(°·о) _/?
23:12 21.07.2017
Память не может быть READ!!! 🙂
• Excel при его Открытии Вываливает в Виртуальное Пространство ОЗУ свою текущую Информацию. Такова Windows, и таков порядок её Организации.
• Excel Создаёт в Temp-Каталоге Файлы Пошагового Изменения. Они нужны, чтобы с помощью Отката Команды (Ctrl+Z) можно было вернуться к предыдущим Состояниям.
• Excel каждые 10 (если не ошибаюсь) минут Создаёт в Temp-Каталоге по одной Резервной Копии с текущего Состояния Открытого Документа (Фоновое Автосохранение).
• Excel Создаёт в том Месте, откуда Пользователем был Открыт Файл Временный Информационный Файл. В случае Аварийного Завершения Работы (внезапное обесточивание компа). Если при Работе в Excel`е всё пройдёт успешно, и в конце Пользователь/сама Операционная Система Закроет Файл (не важно с Сохранением или без), тогда этот Файл будет Стёрт Excel`ем. Активные Файлы, как и Память (которая не может быть READ) точно также не могут быть READ!!! 🙂
Следовательно надо, чтобы что-то извне давало бы команду или какую-то Связь (через которую будут Выполняться какие-то Фоновые Задания, или что-то там, что надо Запустить в VBA). Значит надо загодя в сам Стандартный Шаблон умышленно Вставить Код, когда ещё не запущен Excel. Excel всегда Открывает Новый Документ из имеющегося Шаблона.
Только я не знаю наверняка, когда с помощью Excel`я Открываешь уже имеющийся Документ, будет ли он Обращаться к Шаблонам, чтобы посредством их Подстановки Эмулировать что-то нужное!!! Потому что Эмуляцию заготовленных Шаблонов не все Программы и не во всём используют. В AutoCAD`е Эмулируются только Высокоуровневые Шрифты (Системные он вообще не распознаёт). В HTTP вообще Эмулируются только несколько Высокоуровневых Шрифтов. Кстати, их последователи, Android (Операционная Система, Организованная на основе Табличной Разметки) точно также Эмулируют только несколько Высокоуровневых Шрифтов (из них лишь несколько собственных).
— о развитии компов и усилении роли SGML-образных Языков.
— о развитии Продуктов MS-Office (Excel — всего лишь одна из Программ данного Пакета, изначально привязанная к SGML-образному Языку).
23:05 21.07.2017
PS. Насколько я понимаю, на Активные Файлы в Windows можно влиять через Реестр, Прописав Доступные Действия для Активных Файлов. Расширять возможности Excel`я, наверное, придётся прямо отсюда из «Базы Данных» Windows. Т. е. где-то здесь должна быть лазейка?! ?\_(°·о) _/?
23:12 21.07.2017
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: VBA Excel. Как обратиться к листу/ячейке УЖЕ ОТКРЫТОГО и не сохранённого файла excel?
спросили в Гриды
Ecxel в Delphi
Доброго времени суток.
Боюсь пальцами и парой слов не обойдемся. Если интересует про что
подробнее...
Ecxel в Delphi
Доброго времени суток.
Боюсь пальцами и парой слов не обойдемся. Если интересует про что
подробнее...
спросили в Visual kei
Что делать, если заархивировал папку и поставила на архив пароль и забыл его, как его терь открыть?
passware kit Забыл ли ты пароль (второй случай) , либо ты его и не знал (первый) - проге без
подробнее...
Что делать, если заархивировал папку и поставила на архив пароль и забыл его, как его терь открыть?
passware kit Забыл ли ты пароль (второй случай) , либо ты его и не знал (первый) - проге без
подробнее...
восстановить файл
Для этого нужно проГУГЛить "скачать бесплатно R-Studio rus + лекарство". Лекарство - это ключик.
подробнее...
что нужно уметь, чтобы быть уверенным пользователем ПК ??
На мой взгляд, минимум таков:
1. Работа с файлами и папками - буфер обмена (вырезать,
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
Восстановка фотографий!
Вариант
Hetman Data Recovery – пакет программ для восстановления данных. В пакет входят Hetman
подробнее...
Как из Excel открыть файл Word и передать в Word требуемые параметры ? (Не программер я ...)
Во первых, нужно добавить ссылку на библиотеку Ворд (это если ранне связывание использовать). Для
подробнее...
Открываю файл Excel, автоматически появляются диаграммы
Файловая структура виндовс и Офиса построена в основном одинаково. Не важно, эксель это или
подробнее...
Visual Basic работа с файлами Excel (выбор листа в книге)
_workbook.sheets(2).activate
Вообще очень много тайн откроет, если сделаешь в екселе запись
подробнее...
На карте памяти в фотоаппарате папка с фото превратилась в ярлык (из-за вируса) и не открывается, а там ОЧЕНЬ НУЖНЫЕ фото
В свойствах (параметрах) папок, во вкладке "вид" выберите опцию "показывать скрытые файлы и папки"
подробнее...
спросили в SAP Open
VBA excel вставка листа в excel из другой книги excel
Твой макрос работает только с текстовыми файлами
Для того, чтобы открыть в VBA книгу,
подробнее...
VBA excel вставка листа в excel из другой книги excel
Твой макрос работает только с текстовыми файлами
Для того, чтобы открыть в VBA книгу,
подробнее...
спросили в LibreOffice
Народ подскажите! чем отличаются VBA и VBS 🙂
Visual Basic Application (VBA)
входит в состав Excel, Word, Access, MS Outlook, Power Point,
подробнее...
Народ подскажите! чем отличаются VBA и VBS 🙂
Visual Basic Application (VBA)
входит в состав Excel, Word, Access, MS Outlook, Power Point,
подробнее...
Как сохранить лист в excel как один файл не удаляя другие?
щелкаешь правой кнопкой на названии листа, выбираешь функцию "переместить/скопировать"
в
подробнее...
вопрос по "множественному" ЕСЛИ в логических формулах Excel 2007 и 2010
Ваш файл 2003 Эксель открыть не получается.
Проблема вложенных функций ЕСЛИ в 2003 еще острее.
подробнее...