Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2011, 16:45   #1
das19
Пользователь
 
Регистрация: 26.12.2011
Сообщений: 12
По умолчанию поместить дату в название файла

добрый день!
в ячейке записана дата, как сохранить рабочую книгу, чтобы название содержало дату? например, "данные 07.11.1917.xls"

спасибо!
das19 вне форума Ответить с цитированием
Старый 26.12.2011, 16:56   #2
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
По умолчанию

Код:
Sub SaveCells()
Dim idate As Date, Fname As String
Dim Wsh As Worksheet, wb As Object
Application.ScreenUpdating = False
Set Wsh = ThisWorkbook.ActiveSheet: idate = [C4] 'ячейка с датой
If MsgBox("Сохранить в Архив?", vbYesNo, "Подтверждение") = vbYes Then
    Fname = ThisWorkbook.Path & "\Архив" 'создает папку архив
    On Error Resume Next
    MkDir Fname
    If idate <> Empty Then
        If Wsh.Visible = -1 Then
            Wsh.Copy
            Set wb = ActiveWorkbook
            With wb
                .SaveAs Fname _
                          & "\" & Wsh.Name & " (" & idate & ").xls", xlNormal
                .Close
            End With
        End If
        MsgBox "Лист " & Wsh.Name & " в виде файла сохранен в папку " & Fname
    End If
End If
Application.ScreenUpdating = True
End Sub
где-то так
Единственный способ стать умнее, играть с более умным противником...

Последний раз редактировалось staniiislav; 26.12.2011 в 19:02.
staniiislav вне форума Ответить с цитированием
Старый 27.12.2011, 13:58   #3
das19
Пользователь
 
Регистрация: 26.12.2011
Сообщений: 12
По умолчанию

спасибо, но этот код у меня не работает( вполне возможно, что из-за того, что странно системные время и дата выставляются. если попроще, то у меня работают эти две строчки:
Код:
file_name = CStr(Day(i_date.Value) & "." & Month(i_date.Value) & "." & Year(i_date.Value)) 
wb.SaveAs Filename:="Отчет " & file_name & ".xls"
можно ли это записать как-нибудь правильнее и элегантнее?

п.с. сорри за глупый вопрос, синтаксиса языка пока совсем не знаю, в процессе)
das19 вне форума Ответить с цитированием
Старый 27.12.2011, 14:06   #4
AKSENOV048
Пользователь
 
Аватар для AKSENOV048
 
Регистрация: 03.08.2011
Сообщений: 74
По умолчанию

das19 выложите полный текст кода
AKSENOV048 вне форума Ответить с цитированием
Старый 27.12.2011, 14:52   #5
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
По умолчанию

Цитата:
Сообщение от das19 Посмотреть сообщение
спасибо, но этот код у меня не работает( вполне возможно, что из-за того, что странно системные время и дата выставляются. если попроще, то у меня работают эти две строчки:
Код:
file_name = CStr(Day(i_date.Value) & "." & Month(i_date.Value) & "." & Year(i_date.Value)) 
wb.SaveAs Filename:="Отчет " & file_name & ".xls"
можно ли это записать как-нибудь правильнее и элегантнее?

п.с. сорри за глупый вопрос, синтаксиса языка пока совсем не знаю, в процессе)
скиньте пример где не работает код, который я Вам дал.
Единственный способ стать умнее, играть с более умным противником...
staniiislav вне форума Ответить с цитированием
Старый 27.12.2011, 16:38   #6
das19
Пользователь
 
Регистрация: 26.12.2011
Сообщений: 12
По умолчанию

AKSENOV048, вот такой код. просто создаем книгу и сохраняем ее.
Код:
Public Sub save_our_sheets()
    Dim wb As Workbook
    Dim ws As Worksheet
    Dim file_name As String
    Dim i_date As Date
    Set i_date = Cells(3, 6) 'берем дату из ячейки
    
    Set wb = Workbooks.Add
    wb.Worksheets(1).Name = "много важных данных"
    
    file_name = CStr(Day(i_date.Value) & "." & Month(i_date.Value) & "." & Year(i_date.Value)) 'имя файла
    wb.SaveAs Filename:="Отчет" & file_name & ".xls"
End Sub
меня смущает формирование имени файла. или нормально?

staniiislav,
я просто скопировал ваш код. он создает папку, а файл сохраняет как Книга1.хлс и т.п. я подозреваю, что это из-за непонятного формата дат, как принято у нас в компании. все даты он представляет как 09/05/1945, именно с палками, а не с точкам. может именно поэтому получается некорректное имя? в любом случае, ваш код оказался очень полезен, спасибо.
das19 вне форума Ответить с цитированием
Старый 27.12.2011, 17:06   #7
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
По умолчанию

Цитата:
Сообщение от das19 Посмотреть сообщение
AKSENOV048, вот такой код. просто создаем книгу и сохраняем ее.
Код:
Public Sub save_our_sheets()
    Dim wb As Workbook
    Dim ws As Worksheet
    Dim file_name As String
    Dim i_date As Date
    Set i_date = Cells(3, 6) 'берем дату из ячейки
    
    Set wb = Workbooks.Add
    wb.Worksheets(1).Name = "много важных данных"
    
    file_name = CStr(Day(i_date.Value) & "." & Month(i_date.Value) & "." & Year(i_date.Value)) 'имя файла
    wb.SaveAs Filename:="Отчет" & file_name & ".xls"
End Sub
меня смущает формирование имени файла. или нормально?

staniiislav,
я просто скопировал ваш код. он создает папку, а файл сохраняет как Книга1.хлс и т.п. я подозреваю, что это из-за непонятного формата дат, как принято у нас в компании. все даты он представляет как 09/05/1945, именно с палками, а не с точкам. может именно поэтому получается некорректное имя? в любом случае, ваш код оказался очень полезен, спасибо.

скиньте пример, мне самому интересно почему так!
Единственный способ стать умнее, играть с более умным противником...
staniiislav вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в TEdit поместить текст из файла? DimOn4Ik Общие вопросы Delphi 6 23.01.2010 22:27
Как поместить дату из ADOTable в DateTimePicker? monushka БД в Delphi 17 13.11.2009 09:39
Как поместить время и дату в statusbar? Proxx-asb Общие вопросы Delphi 9 27.05.2009 22:48
Как поместить курсор в начало файла в Word? Dux Microsoft Office Word 4 05.05.2009 01:49
программа, которая запрашивает дату рождения и печатает название соответствующего знака Зодиака Алёночка2008 Помощь студентам 4 14.11.2008 10:49