Excel VBA открыть книгу, выполнить действия, сохранить как, закрыть
Этот вопрос был отредактирован из-за длинных комментариев и обновлений из предложенных ответов.
Кроме того, есть проблемы с обработкой ошибок, я знаю, что ошибся с этим, но меня больше интересует исправление функции закрытия в данный момент, прежде чем я войду в нее. Вот код обработки ошибок, который нуждается в некоторой работе
это ваш тестовый код плюс мое изменение пути и имени файла
2 ответа
Какой код VBA мне нужно добавить в конец существующего подзаголовка, чтобы сохранить активную книгу как finaloutput.xls, а затем автоматически закрыть книгу без сохранения изменений?
У меня есть код savecopyas в приглашении at close, который работает, но если кто-то откроет скопированный документ, а затем попытается закрыть его, тот же самый скопированный скрипт VBA внутри себя попытается запустить savecopyas по своему собственному пути, что приведет к ошибке/debug messagebox.
Вы можете попробовать что-то подобное, чтобы поймать конкретную ошибку:
Я постараюсь ответить на несколько разных вопросов, однако мой вклад может не охватить все ваши вопросы. Может быть, некоторые из нас смогут извлечь из этого разные куски. Тем не менее, эта информация должна быть полезна для вас. Вот и мы..
Открытие Файла С Указанной Датой, Если Он Существует :
Я не знаю, как искать в вашем каталоге, чтобы узнать, существует ли файл, но в моем случае я бы не стал его искать, я бы просто попытался открыть его и ввести некоторую проверку ошибок, чтобы, если он не существует, отобразить это сообщение или сделать xyz.
Некоторые распространенные операторы проверки ошибок :
если такового не существует, вызовите либо окно сообщения, либо диалог поле с надписью «файл не существует, вы хотите создать новый ?
вы, скорее всего, захотите использовать GoTo ErrorHandler , показанный ниже, для достижения этой цели
Гораздо больше информации об обработке ошибок здесь: http://www.cpearson.com/excel/errorhandling.htm
Кроме того, если вы хотите узнать больше или хотите узнать больше в целом в VBA, я бы рекомендовал сайт Сиддхарта Раута, у него есть много учебных пособий и примеров кода здесь: http://www.siddharthrout.com/vb-dot-net-and-excel/
Пример того, как убедиться, что код ошибки не запускается EVERYtime:
если вы отладите код без обработчика ошибок Exit Sub BEFORE, вы скоро поймете, что обработчик ошибок будет запускаться каждый раз, независимо от того, есть ли ошибка или нет. Ссылка под примером кода показывает предыдущий ответ на этот вопрос.
Кроме того, посмотрите на этот другой вопрос, вам нужно больше информации о том, как это работает: блок goto не работает VBA
Я пытаюсь использовать Excel (2013), чтобы открыть существующий документ excel, изменить его, добавив код ранжирования, а затем закрыть его. Мой код откроет документ excel, но я не уверен, как реализовать целевой раздел ByVal в качестве диапазона. Я не знаю достаточно о VBA, чтобы поместить этот.
Задача состоит в следующем: Я хочу открыть документ Excel из VB.NET GUI, назовем его wb1 Затем я вызову макрос VBA из wb1, используя VB.NET GUI Макрос VBA генерирует другую рабочую книгу, wb2 Я хочу закрыть wb1 (без сохранения), но оставить wb2 открытым Четвертый шаг-это то, с чем у меня возникли.
Похожие вопросы:
У меня есть некоторый код VBA в рабочей книге Excel. У меня есть ячейка, которую я хотел бы использовать, чтобы закрыть книгу без сохранения (вместо того, чтобы использовать обычную кнопку закрытия.
Кто-нибудь знает, как просто открыть и закрыть книгу Excel? Мне не нужно читать какие-либо данные из файла, мне просто нужно открыть и закрыть его. Я предполагаю, что мне нужно будет сослаться на.
Используя Access VBA, я хочу открыть файл XL, сделать что-то, а затем закрыть его, не закрывая другие открытые файлы XL. Вариант 1: Если последняя строка ObjXL.Application.Quit , то это закрывает.
Какой код VBA мне нужно добавить в конец существующего подзаголовка, чтобы сохранить активную книгу как finaloutput.xls, а затем автоматически закрыть книгу без сохранения изменений?
У меня есть код savecopyas в приглашении at close, который работает, но если кто-то откроет скопированный документ, а затем попытается закрыть его, тот же самый скопированный скрипт VBA внутри себя.
Я пытаюсь использовать Excel (2013), чтобы открыть существующий документ excel, изменить его, добавив код ранжирования, а затем закрыть его. Мой код откроет документ excel, но я не уверен, как.
Задача состоит в следующем: Я хочу открыть документ Excel из VB.NET GUI, назовем его wb1 Затем я вызову макрос VBA из wb1, используя VB.NET GUI Макрос VBA генерирует другую рабочую книгу, wb2 Я хочу.
Я пытаюсь открыть и сохранить рабочую книгу на основе того, что использование решает назвать файл. Я могу открыть и сохранить книгу, но не могу понять, как дать пользователю возможность изменить имя.
Я вроде как переименовал личную книгу макросов и скопировал ее на сервер для доступа моих товарищей по команде. Когда вы вручную открываете книгу макросов, она открывается только в VBA, не показывая.
[expert_bq id=»1570″]Единственное надежное решение для восстановления потерянного файла Excel использует программное обеспечение для восстановления данных. Если же вы хотите что-то уточнить, обращайтесь ко мне![/expert_bq] Да, разобраться в нем можно, времени уйдет на это чуть больше, но стоит отметить, что здесь всего лишь 11 строк кода. Если строк будет в разы больше, то разобраться будет очень проблематично, код будет максимально сложным для восприятия.Как с помощью VBA извлекать информацию из Web-страниц | КомпьютерПресс
Мы рассмотрели способы создания, отладки пользовательской функции и как ее можно применять в вашей рабочей книге. Надеюсь, эти рекомендации будут вам полезны. Если у вас есть вопросы, пишите в комментариях к этой статье.
[expert_bq id=»1570″]Если вы создали пользовательскую функцию в вашей рабочей книге, то это ещё, к сожалению, не означает, что её можно без проблем везде применять. Если же вы хотите что-то уточнить, обращайтесь ко мне![/expert_bq]
Сохраняем все пользовательские функции в одной специальной рабочей книге (например, My_Functions.xlsm ) и копируем из нее нужную функцию в текущую рабочую книгу в случае необходимости. Тогда не нужно будет указывать имя файла, как это сделано выше.
Открытие файла Excel
- В разделе Надёжные расположения (Trusted Locations) нажмите кнопку Добавить новое расположение (Add new location).
- Выберите папку, которую нужно объявить надёжным расположением и нажмите ОК.
Да, необходимо копировать только значение (стиль и т.д. не нужно) И если например в базе какая то ячейка стала пустой, то на пустоту необходимо заменить значение, что было прописано ранее в остальных документах.