В ячейке A1 прописана формула, которая выводит текст "Отчет "текущая дата" Необходим скрипт сохранения файла по абсолютному пути, в определенную папку, с названием файла, соответствующим значению ячейки A1. Попробовал записать скрипт, который копирует ячейку А1 и вставляет ее значением в ячейку А3, затем копирует значение ячейки А3 и сохраняет файл с этим значением в папку Отчеты.
Получился скрипт ниже, но я так понимаю, он сохраняет файл с фиксированным названием, не привязываясь к ячейке А1.
Есть у кого-то другие идеи реализации сохранения файла с названием из формулы?
[/vba] [moder]Оформляйте коды тегами (кнопка #)[/moder]
В ячейке A1 прописана формула, которая выводит текст "Отчет "текущая дата" Необходим скрипт сохранения файла по абсолютному пути, в определенную папку, с названием файла, соответствующим значению ячейки A1. Попробовал записать скрипт, который копирует ячейку А1 и вставляет ее значением в ячейку А3, затем копирует значение ячейки А3 и сохраняет файл с этим значением в папку Отчеты.
Получился скрипт ниже, но я так понимаю, он сохраняет файл с фиксированным названием, не привязываясь к ячейке А1.
Есть у кого-то другие идеи реализации сохранения файла с названием из формулы?
Sub CopyXLSM() Dim FileNameXLSM As String, DirXLSM As String DirXLSM = "C:\Documents\Отчеты\" FileNameXLSM = Sheets("Лист1").Range("A1").Value & ".xlsm"
If Dir(DirXLSM & FileNameXLSM) <> "" Then If MsgBox("Фаил " & "[" & FileNameXLSM & "] уже существует в папке " & "[" & DirXLSM & "]" & "!!! Заменить его? ", 32 + vbYesNo, "Подтверждение") <> vbYes Then Exit Sub ActiveWorkbook.SaveCopyAs Filename:=DirXLSM & FileNameXLSM Else ActiveWorkbook.SaveCopyAs Filename:=DirXLSM & FileNameXLSM End If End Sub
[/vba]
Попробуйте так:
[vba]
Код
Sub CopyXLSM() Dim FileNameXLSM As String, DirXLSM As String DirXLSM = "C:\Documents\Отчеты\" FileNameXLSM = Sheets("Лист1").Range("A1").Value & ".xlsm"
If Dir(DirXLSM & FileNameXLSM) <> "" Then If MsgBox("Фаил " & "[" & FileNameXLSM & "] уже существует в папке " & "[" & DirXLSM & "]" & "!!! Заменить его? ", 32 + vbYesNo, "Подтверждение") <> vbYes Then Exit Sub ActiveWorkbook.SaveCopyAs Filename:=DirXLSM & FileNameXLSM Else ActiveWorkbook.SaveCopyAs Filename:=DirXLSM & FileNameXLSM End If End Sub