Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как пересохранить файл? - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как пересохранить файл?
Как пересохранить файл?
kos20 Дата: Суббота, 29.08.2015, 02:12 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Ночь добрый!
Суть проблемы: есть файл 1, который открывает файл 2. После внесения изменений в файл 2 его необходимо сохранить в той же директории под тем же именем.
Проблема в том, что вылетает сообщение об сохранении файла 2 как копия, те Сохранить как "Копия файл 2".

Может кто поможет разобраться в чем дело. Код ниже:

[vba]
Код

Sub tt()
Dim WB As Workbook, shto, shfrom As Worksheet

FilenameToInsert$ = GetFilePath() ' get file name to insert data
If FilenameToInsert$ = "" Then Exit Sub ' if is not exists - exit

Set WB = Nothing: Set WB = Workbooks.Open(FilenameToInsert$, False, True)

If WB Is Nothing Then    '
    MsgBox "файл не открыт" & WB.Name
End If

       WB.Worksheets("лист1").Range("a2") = "WB.Name"
    

Excel.Application.DisplayAlerts = False
  If WB.Saved = False Then ActiveWorkbook.Save
WB.Close SaveChanges:=False
Excel.Application.DisplayAlerts = True
End Sub

Function GetFilePath(Optional ByVal Title As String = "Выберите файл для обработки", _
                      Optional ByVal InitialPath As String, _
                      Optional ByVal FilterDescription As String = "Файлы счетов", _
                      Optional ByVal FilterExtention As String = "*.*") As String
     On Error Resume Next
     InitialPath = ThisWorkbook.Path & "\"
     With Application.FileDialog(msoFileDialogOpen)
         .ButtonName = "Выбрать": .Title = Title:
         .InitialFileName = GetSetting(Application.Name, "GetFilePath", "folder", InitialPath)
         .Filters.Clear: .Filters.Add FilterDescription, FilterExtention
         If .Show <> -1 Then Exit Function
         GetFilePath = .SelectedItems(1)
         folder$ = Left(.SelectedItems(1), InStrRev(.SelectedItems(1), "\"))
         SaveSetting Application.Name, "GetFilePath", "folder", folder$
     End With
End Function

[/vba]
 
Ответить
СообщениеНочь добрый!
Суть проблемы: есть файл 1, который открывает файл 2. После внесения изменений в файл 2 его необходимо сохранить в той же директории под тем же именем.
Проблема в том, что вылетает сообщение об сохранении файла 2 как копия, те Сохранить как "Копия файл 2".

Может кто поможет разобраться в чем дело. Код ниже:

[vba]
Код

Sub tt()
Dim WB As Workbook, shto, shfrom As Worksheet

FilenameToInsert$ = GetFilePath() ' get file name to insert data
If FilenameToInsert$ = "" Then Exit Sub ' if is not exists - exit

Set WB = Nothing: Set WB = Workbooks.Open(FilenameToInsert$, False, True)

If WB Is Nothing Then    '
    MsgBox "файл не открыт" & WB.Name
End If

       WB.Worksheets("лист1").Range("a2") = "WB.Name"
    

Excel.Application.DisplayAlerts = False
  If WB.Saved = False Then ActiveWorkbook.Save
WB.Close SaveChanges:=False
Excel.Application.DisplayAlerts = True
End Sub

Function GetFilePath(Optional ByVal Title As String = "Выберите файл для обработки", _
                      Optional ByVal InitialPath As String, _
                      Optional ByVal FilterDescription As String = "Файлы счетов", _
                      Optional ByVal FilterExtention As String = "*.*") As String
     On Error Resume Next
     InitialPath = ThisWorkbook.Path & "\"
     With Application.FileDialog(msoFileDialogOpen)
         .ButtonName = "Выбрать": .Title = Title:
         .InitialFileName = GetSetting(Application.Name, "GetFilePath", "folder", InitialPath)
         .Filters.Clear: .Filters.Add FilterDescription, FilterExtention
         If .Show <> -1 Then Exit Function
         GetFilePath = .SelectedItems(1)
         folder$ = Left(.SelectedItems(1), InStrRev(.SelectedItems(1), "\"))
         SaveSetting Application.Name, "GetFilePath", "folder", folder$
     End With
End Function

[/vba]

Автор - kos20
Дата добавления - 29.08.2015 в 02:12
Pelena Дата: Суббота, 29.08.2015, 06:30 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19203
Репутация: 4423 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
Так Вы же открываете файл Только для чтения (третий аргумент True в методе Open)
[vba]
Код
Set WB = Workbooks.Open(FilenameToInsert$, False, True)
[/vba]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Так Вы же открываете файл Только для чтения (третий аргумент True в методе Open)
[vba]
Код
Set WB = Workbooks.Open(FilenameToInsert$, False, True)
[/vba]

Автор - Pelena
Дата добавления - 29.08.2015 в 06:30
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как пересохранить файл?
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!