Избавление от “копии”

У Анны Ли есть рабочая книга, предназначенная только для чтения, которую она использует в качестве шаблона для создаваемого ею ежедневного отчета. Имя файла довольно длинное и заканчивается на 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» Если SaveAsUI Then sTemp = ThisWorkbook.Name If Right (sTemp, Len (sCheck)) = sCheck Then sTemp = Left (sTemp, Len (sTemp) — Len (sCheck)) sTemp = sTemp & Format ( Теперь «dd») & «.xls» sTemp = ThisWorkbook.Path & «/» & sTemp ThisWorkbook.SaveAs Имя файла: = sTemp, _ FileFormat: = xlNormal Cancel = True End If End IfEnd Sub

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

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

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

Источник: frestage.ru

Бытовой вопрос