Доброго дня! Хотел посоветоваться с местными ГУРУ. Гугл не дал никакого ответа. Посадили за машину, стоит офис профессиональный плюс 2019. в Экселе, при сохранении файла, в имя файла всегда добавляет слово копия, запарился стирать. Все менюшки облазил, не могу найти как это отключить. Заранее спасибо за помощь.
Доброго дня! Хотел посоветоваться с местными ГУРУ. Гугл не дал никакого ответа. Посадили за машину, стоит офис профессиональный плюс 2019. в Экселе, при сохранении файла, в имя файла всегда добавляет слово копия, запарился стирать. Все менюшки облазил, не могу найти как это отключить. Заранее спасибо за помощь.leclerick
Cooller, Возможно это и работает и даже кому-то нужно , но повесить на все время работы скрипт, который раз в секунду дергается в цикле ..... - сомнительно решение
Cooller, Возможно это и работает и даже кому-то нужно , но повесить на все время работы скрипт, который раз в секунду дергается в цикле ..... - сомнительно решение
Cooller, Личную Книгу Макросов не запрещено использовать. [vba]
Код
Private WithEvents App As Application
Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, ByVal SaveAsUI As Boolean, Cancel As Boolean) If InStr(1, Wb.Name, "Copy of ") = 1 Then Application.EnableEvents = False Cancel = True Wb.SaveAs Replace(Wb.FullName, "Copy of ", "") Application.EnableEvents = True End If End Sub
Private Sub Workbook_Open() Set App = Application End Sub
[/vba]
Cooller, Личную Книгу Макросов не запрещено использовать. [vba]
Код
Private WithEvents App As Application
Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, ByVal SaveAsUI As Boolean, Cancel As Boolean) If InStr(1, Wb.Name, "Copy of ") = 1 Then Application.EnableEvents = False Cancel = True Wb.SaveAs Replace(Wb.FullName, "Copy of ", "") Application.EnableEvents = True End If End Sub
Private Sub Workbook_Open() Set App = Application End Sub
Private Sub App_WorkbookBeforeSave(ByVal wb As Workbook, ByVal SaveAsUI As Boolean, Cancel As Boolean)
If SaveAsUI Then
Cancel = True With App.FileDialog(msoFileDialogSaveAs) .InitialFileName = wb.FullName
p = InStrRev(wb.FullName, ".") If p > 0 Then ext = "*" + Mid(wb.FullName, p) For i = 1 To .Filters.Count If .Filters(i).Extensions = ext Then .FilterIndex = i: Exit For End If Next If (ext = "*.mht" Or ext = "*.mhtml") Then .FilterIndex = 7 If (ext = "*.htm" Or ext = "*.html") Then .FilterIndex = 8 End If
If .Show = -1 Then If (.FilterIndex = 2 Or .FilterIndex = 10) Then wb.SaveAs .SelectedItems(1), FileFormat:=xlOpenXMLWorkbookMacroEnabled Else wb.SaveAs .SelectedItems(1) End If End If
End With
End If
End Sub
[/vba]
Спасибо форумчанину pashulka с cyberforum.ru за помощь
Переписал скрипт на VBA [vba]
Код
Private WithEvents App As Application
Private Sub Workbook_Open()
Set App = Application
End Sub
Private Sub App_WorkbookBeforeSave(ByVal wb As Workbook, ByVal SaveAsUI As Boolean, Cancel As Boolean)
If SaveAsUI Then
Cancel = True With App.FileDialog(msoFileDialogSaveAs) .InitialFileName = wb.FullName
p = InStrRev(wb.FullName, ".") If p > 0 Then ext = "*" + Mid(wb.FullName, p) For i = 1 To .Filters.Count If .Filters(i).Extensions = ext Then .FilterIndex = i: Exit For End If Next If (ext = "*.mht" Or ext = "*.mhtml") Then .FilterIndex = 7 If (ext = "*.htm" Or ext = "*.html") Then .FilterIndex = 8 End If
If .Show = -1 Then If (.FilterIndex = 2 Or .FilterIndex = 10) Then wb.SaveAs .SelectedItems(1), FileFormat:=xlOpenXMLWorkbookMacroEnabled Else wb.SaveAs .SelectedItems(1) End If End If
End With
End If
End Sub
[/vba]
Спасибо форумчанину pashulka с cyberforum.ru за помощьCooller