У Анны Ли есть рабочая книга, предназначенная только для чтения, которую она использует в качестве шаблона для ежедневного отчета, который она создает. Имя файла довольно длинное и заканчивается на 20507xx. Когда она дважды щелкает книгу, она открывается и показывает, что она предназначена только для чтения. Она вносит изменения и затем использует «Сохранить как». Поскольку Excel распознает, что файл доступен только для чтения, он предлагает новое имя файла, состоящее из старого имени со словами «Копия из» в качестве префикса. Анна хочет избавиться от «Копии», чтобы все, что ей нужно было сделать, это изменить часть имени файла «xx», чтобы создать отчет за день.

Многословие «Копия» добавляется Excel автоматически. Если вы используете «Сохранить как», изменить это невозможно без использования макроса для управления процессом сохранения. Следующий макрос, сохраненный как часть объекта ThisWorkbook, показывает, как это можно сделать.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI _   As Boolean, Cancel As Boolean)

Dim sTemp As String     Dim sCheck As String     sCheck = "xx.xls"



If SaveAsUI Then         sTemp = ThisWorkbook.Name         If Right(sTemp, Len(sCheck)) = sCheck Then             sTemp = Left(sTemp, Len(sTemp) - Len(sCheck))

sTemp = sTemp & Format(Now, "dd") & ".xls"

sTemp = ThisWorkbook.Path & "/" & sTemp             ThisWorkbook.SaveAs Filename:=sTemp, _               FileFormat:=xlNormal             Cancel = True         End If     End If End Sub

Макрос сначала проверяет, не откроется ли диалоговое окно «Сохранить как». Если это так, то имя книги присваивается переменной sTemp. Это имя проверяется, чтобы увидеть, являются ли последние шесть символов «xx.xls» (из переменной sCheck). Если да, то предполагается, что это книга, имя которой нужно изменить.

Сначала символы «xx.xls» (или все, что вы присвоили sCheck)

удаляются из конца имени книги. Затем к имени файла добавляется сегодняшняя дата (две цифры для дня месяца) с суффиксом «.xls». Наконец, книга сохраняется с использованием этого вновь созданного имени файла. Для флага «Отмена» установлено значение «Истина», поэтому диалоговое окно «Сохранить как» никогда не отображается.

Обратите внимание, что имя никогда не проверяется на словосочетание «Копия». Причина этого проста: формулировка не добавляется в начало имени файла, пока не отобразится фактическое диалоговое окно «Сохранить как». До этого момента (когда выполняется этот обработчик событий) имя книги остается неизменным.

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (3064) применим к Microsoft Excel 97, 2000, 2002 и 2003.