всем добрый день! не могу справиться с одной задачкой... суть: есть книга excel. после открытия при изменении определенных ячеек книга сохраняется с названием этих ячеек. например, когда зашли было А5 = Коля, С7=Саша, изменили Колю на Аню - документ сохранился с именем Аня.Саша.xls. проблема в том что в папке появляется невидимое количество таких пересохраненных документов. возможно ли удалять предыдущую сохраненную книгу? например workbook(1).kill??? как то так...помогите, не могу реализовать...не знаю что чему присваивать
всем добрый день! не могу справиться с одной задачкой... суть: есть книга excel. после открытия при изменении определенных ячеек книга сохраняется с названием этих ячеек. например, когда зашли было А5 = Коля, С7=Саша, изменили Колю на Аню - документ сохранился с именем Аня.Саша.xls. проблема в том что в папке появляется невидимое количество таких пересохраненных документов. возможно ли удалять предыдущую сохраненную книгу? например workbook(1).kill??? как то так...помогите, не могу реализовать...не знаю что чему присваиватьНаталья
Hugo, вот отрывок кода где происходит сохранение документа: [vba]
Code
If (Target.Row = 5 And Target.Column = 10) Or (Target.Row = 7 And Target.Column = 3) Then PathToSave = "C:\" FolderName = "ФОТОДНЯ" FellPathToSave = PathToSave & FolderName & "\" Set phd = CreateObject("Scripting.FileSystemObject") If Not phd.FolderExists(FellPathToSave) Then phd.CreateFolder (FellPathToSave) End If If (ThisWorkbook.Name = Range("J5") & "." & Range("C7") & ".xls") And (ThisWorkbook.Path + "\" = FellPathToSave) Then ThisWorkbook.Save Else ThisWorkbook.SaveAs FellPathToSave & Range("J5") & "." & Range("C7") & ".xls" End If 'End If End If
[/vba]
Hugo, вот отрывок кода где происходит сохранение документа: [vba]
Code
If (Target.Row = 5 And Target.Column = 10) Or (Target.Row = 7 And Target.Column = 3) Then PathToSave = "C:\" FolderName = "ФОТОДНЯ" FellPathToSave = PathToSave & FolderName & "\" Set phd = CreateObject("Scripting.FileSystemObject") If Not phd.FolderExists(FellPathToSave) Then phd.CreateFolder (FellPathToSave) End If If (ThisWorkbook.Name = Range("J5") & "." & Range("C7") & ".xls") And (ThisWorkbook.Path + "\" = FellPathToSave) Then ThisWorkbook.Save Else ThisWorkbook.SaveAs FellPathToSave & Range("J5") & "." & Range("C7") & ".xls" End If 'End If End If
If (Target.Row = 5 And Target.Column = 10) Or (Target.Row = 7 And Target.Column = 3) Then PathToSave = "C:\" FolderName = "ФОТОДНЯ" FellPathToSave = PathToSave & FolderName & "\" Set phd = CreateObject("Scripting.FileSystemObject") If Not phd.FolderExists(FellPathToSave) Then phd.CreateFolder (FellPathToSave) End If If (ThisWorkbook.Name = Range("J5") & "." & Range("C7") & ".xls") And (ThisWorkbook.Path + "\" = FellPathToSave) Then ThisWorkbook.Save Else FullOldName = ThisWorkbook.FullName ThisWorkbook.SaveAs FellPathToSave & Range("J5") & "." & Range("C7") & ".xls" Kill FullOldName End If 'End If End If
[/vba]
Попробуйте так:
[vba]
Code
Dim FullOldName$ 'тут начинается Ваш код ' '
If (Target.Row = 5 And Target.Column = 10) Or (Target.Row = 7 And Target.Column = 3) Then PathToSave = "C:\" FolderName = "ФОТОДНЯ" FellPathToSave = PathToSave & FolderName & "\" Set phd = CreateObject("Scripting.FileSystemObject") If Not phd.FolderExists(FellPathToSave) Then phd.CreateFolder (FellPathToSave) End If If (ThisWorkbook.Name = Range("J5") & "." & Range("C7") & ".xls") And (ThisWorkbook.Path + "\" = FellPathToSave) Then ThisWorkbook.Save Else FullOldName = ThisWorkbook.FullName ThisWorkbook.SaveAs FellPathToSave & Range("J5") & "." & Range("C7") & ".xls" Kill FullOldName End If 'End If End If