Vba excel создать файл excel: Файл Excel для создания и управления базой данных (Excel, VBA)
Содержание
VBscript. Имя Excel файла с текущей датой и временем
Вопрос задан
Изменён
2 года 2 месяца назад
Просмотрен
236 раз
есть код который формирует «Отчет» в Excel. Необходимо сделать чтобы имя файла сохранялось с текущей датой и временем. Так же пробовал, создавать просто таблицу, а потом сохранять в директорию. Не совсем понятно, что я делаю не так.
В основном пользовался:
- Open an Excel file and save as .XLS
- Need VBS code to saveas xlsm
- VBScript to Open an Excel File and then do a Save As
- How to Add Date and Time To File Name Using VBA in Excel
Собственно фрагмент кода:
``` Dim objExcel, activeWB, activeSheet,objWorkbook,Storage_Path Dim tp, strPath, Fn Set objExcel = CreateObject("Excel. Application") Storage_Path = "D:\Stat\" Fn = Format(CStr(Now), "yyyy_mm_dd_hh_mm_ss_") tp = ".xlsx" strPath = Storage_Path&Fn&tp objExcel.Visible = False Set objWorkbook = objExcel.Workbooks.Add () 'objExcel.workbooks.SaveAs SaveDateTime(String) 'Save and quit. objExcel.ActiveWorkbook.SaveAs (strPath) objExcel.ActiveWorkbook.Close objExcel.Application.Quit 'objExcel.workbooks.SaveAs "D:\Stat\1.xlsx" 'objExcel.workbooks.close 'objExcel.quit 'Set objExcel = Nothing Set objExcel = Nothing End Sub '''
- excel
- vbscript
4
Ошибка связана с неправильным использованием Format
Рабочий код:
Function FormatDateYYYYMMDD(D) FormatDateYYYYMMDD = Year(D) & "_" & Format2DigitString(Month(D)) & "_" & Format2DigitString(Day(D)) End Function Function FormatDateYYYYMMDDHHMMSS(D) FormatDateYYYYMMDDHHMMSS = FormatDateYYYYMMDD(D) & "_" & Format2DigitString(Hour(D)) & "_" & Format2DigitString(Minute(D)) & "_" & Format2DigitString(Second(D)) End Function Function Format2DigitString(N) If N >= 10 Then Format2DigitString= Format2DigitString & N Else Format2DigitString= Format2DigitString & "0" & N End If End Function Dim objExcel, activeWB, activeSheet,objWorkbook,Storage_Path Dim tp, strPath, Fn Storage_Path = "F:\Test\" Fn = FormatDateYYYYMMDDHHMMSS(Now) tp = ". xlsx" strPath = Storage_Path & Fn & tp Set objExcel = CreateObject("Excel.Application") objExcel.Visible = False Set objWorkbook = objExcel.Workbooks.Add () ' Здесь что-то написать в новую книгу: objWorkbook.Worksheets(1).Range("A1").Value = "Эта новая книга будет сохранена в " & strPath objWorkbook.SaveAs (strPath) objWorkbook.Close objExcel.Application.Quit Set objExcel = Nothing
5
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.
Как найти только что закрытый файл? Как быстро найти и открыть книгу Excel в т.ч. в VBA?
Общий доступ Excel. Совместная работа с файлом
Многим знакома ситуация, когда вы недавно сохранили книгу и не помните? куда именно. Мне часто помогает возможность просмотра последних открытых книг Excel, для поиска только что сохраненных файлов. В этой статье мы поговорим о способах открыть книгу Excel, в т.ч. при помощи горячей клавиши и даже о соответствующих функциях VBA.
Что файл Excel открывается двойным щелчком по нему, я рассказывать не буду, мы поговорим о более сложных способах вызова книги Excel.
Содержание
- Как найти и открыть книгу из самой программы? Горячая клавиша
- Как найти и открыть недавно закрытую книгу Excel?
- Как открыть уже открытые файлы?
- Как открыть несколько книг рядом?
- Как закрыть или открыть книгу Excel через VBA?
- Похожие статьи
Как найти и открыть книгу из самой программы? Горячая клавиша
Зачастую пользователи не знают, что открыть книгу можно и не сворачивая Excel. Перейдите в меню файл (круглая кнопка в левом верхнем углу) — нажмите Открыть и выберите необходимую папку:
Так же работает горячая клавиша Ctrl+O.
Как найти и открыть недавно закрытую книгу Excel?
Если вы забыли куда сохранили только что созданную книгу (у меня так бывает), то найти ее не будет проблемой. Открыть последние используемые файлы можно через панель Последние документы. Опять же откройте меню файл (для версий 2007 и выше) и вы сразу увидите последние используемые вами файлы Excel.
Видите гвоздики справа? Вы можете закрепить какой-то файл при помощи них, и он всегда будет доступен здесь. Удобно, когда вы часто пользуетесь одним и тем же файлом. Просто кликните по гвоздику, и файл закрепится.
При открытии любой книги Excel в разделе Последние документы будет висеть закрепленный таким образом файл.
Список последних файлов будет меняться в зависимости от того, с какими файлами вы работаете. Список файлов состоит 25 элементов, но если зайти «Файл»-«Параметры»-«Дополнительно»-«Экран»-«Число документов в списке последних файлов:», то можно установить свое значение до 50 файлов.
В версиях программы 2013 и выше последние файлы доступны в меню кнопки открыть.
Как открыть уже открытые файлы?
Если у вас множество файлов, то иногда проще их найти при помощи инструментом закладка «Вид» раздел «Окно» инструмент «Перейти в другое окно».
Функция Перейти в другое окно в версии Excel 2016
Как открыть несколько книг рядом?
Если вам необходимо открыть несколько книг или окон рядом, то это тоже несложно. Возможность редактора подробно описана здесь.
Как закрыть или открыть книгу Excel через VBA?
Если у вас больше 15 файлов, которые надо регулярно открывать один за одним, то удобно будет записать макрос для открытия этих книг. Как записать макрос, читайте в отдельной статье.
Вам необходимы отдельные функции для открытия или закрытия Excel через VBA? Например, вам нужно, чтобы файл закрывался после окончания выполнения макроса, используйте такие команды:
Открыть книгу
Workbooks.Open Filename:="C:\primer. xlsx"
Где C:\primer.xlsx путь к файлу
Закрыть книгу
ClsBK = ActiveWorkbook.Name Workbooks(ClsBK).Close
Где ClsBK — переменная, которой присваиваем имя открытой книги, а потом закрываем.
Есть вопросы — напишите мне.
Общий доступ Excel. Совместная работа с файлом
Создание нового файла Excel с помощью VBA
Джафар Трибак
Известный член
#2
Привет,
Поместите код ниже в CommandButto1 листа 6:
Код:
Частная подпрограмма CommandButton1_Click() При ошибке Возобновить Далее Application. ScreenUpdating = Ложь Application.DisplayAlerts = Ложь Попробуйте еще раз: Flname = InputBox("Введите имя файла:", "Создание нового файла...") MsgBox Len(имя файла) Если Имя <> "" Тогда Установите NewWkbk = Workbooks.Add ThisWorkbook.Sheets(5).Копировать до:=NewWkbk.Sheets(1) NewWkbk.SaveAs ThisWorkbook.Path & "\" & Flname Если Номер Ошибки = 1004 Тогда NewWkbk.Close MsgBox «Недопустимое имя файла» & vbCrLf & vbCrLf & «Попробуйте еще раз». Перейти к попытке еще раз Конец, если ActiveWorkbook.Close Конец, если Конец суб
Надеюсь это поможет.
Голосовать за
0
Зеленка
Обычная доска
#3
извините, я не ответил… Меня не было в городе неделю…
В любом случае, спасибо за помощь, но у меня есть еще один быстрый вопрос. Он не скопировал лист, который я хотел, в новый файл. Он сделал новый файл в папке, он был просто пуст. поэтому вместо того, чтобы пытаться копировать и вставлять, могу ли я просто создать дубликат файла и назвать его так, как они вводят в поле ввода? Таким образом, я могу затем написать дополнительный код для редактирования и удаления листов и столбцов, которые мне больше не нужны в новом файле. По сути, исходный файл предназначен для внутреннего использования и содержит гораздо больше необходимой информации, а новый лист используется для отправки за пределы отдела и требует только медвежьего минимума информации….
есть предложения?
Голосовать за
0
Зеленка
Обычная доска
#4
на самом деле, я только что понял. Я ввел эту строку в код… ThisWorkbook.Sheets.Copy Before:=NewWkbk.Sheets(1).
Извините, что больше не нуждаюсь в помощи…
Голосовать за
0
Зеленка
Обычная доска
#5
РЕКЛАМА
Я сказал слишком рано.
Теперь на новом рабочем листе, который только что был создан, я хочу удалить все листы, кроме листа7. а затем на листе7 я хочу удалить столбцы g,h,i,j,k,l и отформатировать страницу в книжной ориентации, поместив ее на одну страницу в ширину и сколько угодно долго. …
Я постоянно застреваю на форматировании. Обычно для форматирования я использовал средство записи макросов, но я не уверен, как это сделать с этим изменяющимся именем файловой переменной…
Есть ли способ для средства записи макросов получить доступ к вновь созданному файлу независимо от того, что имя это? или я должен написать код для всех вышеперечисленных форматов и как мне это сделать???
Извините за постоянные сообщения по этому вопросу… но я действительно застрял.
Голосовать за
0
Зеленка
Обычная доска
#6
Все еще интересуюсь вопросами форматирования из предыдущего поста. .. но я только что понял, что у меня огромная проблема.
При копировании листов в новый файл есть ли способ скопировать весь vbcode, модули и пользовательские формы также в новый файл??? Без тех же переносимых с информацией/данными… этот проект бесполезен!!!ПОМОГИТЕ!
Голосовать за
0
ЛТунниклифф
Известный член
#7
РЕКЛАМА
Я думаю, что вам, возможно, придется сделать в своем макросе «Сохранить как файл», а затем удалить всю информацию, которая вам не нужна, в «новой» книге. Это сохранит ваш исходный документ, но позволит вам перенести все модули, пользовательские формы и т. д. из оригинала. Имеет смысл?
Надеюсь, это поможет!
Голосовать за
0
Зеленка
Обычная доска
#8
ну, с кодом, который у меня есть прямо сейчас:
Flname = InputBox(«Введите имя файла:», «Создание нового файла…»)
If Flname <> «» Then 9″ Недопустимое имя файла» & vbCrLf & vbCrLf & «Попробуйте еще раз».
GoTo TryAgain
End If
создает новую книгу. Как мне сохранить файл, если пользователю все равно будет предложено ввести имя файла? и как сохранить как это новое имя файла?
Голосовать за
0
ЛТунниклифф
Известный член
#9
Код:
flname = InputBox("Введите имя файла:", "Создание нового файла...") Если имя <> "" Тогда ThisWorkbook.SaveAs ThisWorkbook.Path & "\" & flname ' Теперь удалите то, что вам не нужно, потому что это новый файл Конец, если
Надеюсь это поможет!
Голосовать за
0
Sub CreateExcelFileFromOutlookVBA() | |
‘ Приложение Excel, рабочая книга и объект листа | |
Dim xlApp As Excel.Application | |
Dim xlBook As Excel. Workbook | |
Dim xlSheet как объект | |
‘Имя файла | |
Dim fileDoesExist As Boolean | |
Dim FileName как строка | |
‘Создать приложение Excel | |
Установить xlApp = CreateObject(«Excel.Application») | |
xlApp.Visible = Истина | |
FileName = «AppendingExcel.xlsx» | |
fileDoesExist = Dir(«C:\Users\mvieth\Desktop\» & FileName) > «» | |
‘Проверить наличие файла | |
Если файл существует, то | |
‘Открыть файл Excel | |
Установите xlBook = xlApp. Workbooks.Open(«C:\Users\mvieth\Desktop\» & FileName) | |
Установить xlSheet = xlBook.Sheets(1) | |
Еще | |
‘Добавить файл Excel | |
Установить xlBook = xlApp.Workbooks.Add | |
С xlBook | |
.title = «Все продажи» | |
.Subject = «Продажи» | |
.SaveAs FileName:=»C:\Users\mvieth\Desktop\» & FileName | |
Конец с | |
Установить xlSheet = xlBook. |