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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос сохраняю книгу в формате без поддержки макросов. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Макрос сохраняю книгу в формате без поддержки макросов.
ZAV Дата: Понедельник, 18.01.2021, 09:56 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Доброго времени суток!!!
Буду краток!!!

Макросом сохраняю книгу, при сохранении меняю формат "сохранить без поддержки макросов" (книга Excel) , выводит сообщение " Следующие компоненты невозможно сохранить без поддержки макросов... Да... Нет... Отмена".
1 Вопрос: как сделать так чтоб НЕ спрашивал о подтверждении сохранить книгу без поддержки макросов, и спрашивал если такой файл уже существует?

[vba]
Код

' Макрос1 Макрос
'

'
    Sheets("Сводка").Visible = True
     
    Sheets("Сводка").Select
    
    ActiveSheet.Calculate
    
    Range("L43:N43").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

    Range("AB43:AD43").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        
    Range("O1:U3").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        
        Application.DisplayAlerts = 0
        Sheets("Лист3").Delete
        Application.DisplayAlerts = 1
        
        Sheets("Сводка").Select
        Range("B9").Select
        
        On Error Resume Next
        
    Folder$ = "C:\Users\user\Desktop\Сводка ЖД Тупик по суточно1\"
    MkDir Folder$        ' создаем папку, если её ещё нет
    Filename = "Сводка " & [O1] & " " & [Q1] & " " & [T1] & ".xls" ' формируем имя файла из текста ячеек
    
    
    ActiveWorkbook.SaveAs Folder$ & Filename, xlOpenXMLWorkbook
            
         End Sub
[/vba]

...

[vba]
Код

Application.DisplayAlerts = 0
ActiveWorkbook.SaveAs Folder$ & Filename, xlOpenXMLWorkbook
Application.DisplayAlerts = 1
[/vba]

если сделать так, то не выводит вообще ни каких сообщений, а если файл существует то перезаписыает без запроса

2 Вопрос: Как использовать несколько функций MkDir подряд

[vba]
Код

Folder$ = "C:\Users\user\Desktop\Сводка " & ActiveWorkbook.ActiveSheet.Range("A1") & "\" & ActiveWorkbook.ActiveSheet.Range("T1") & "\" & ActiveWorkbook.ActiveSheet.Range("O1") & "\"
MkDir Folder$
[/vba]

Такой вариант не хочет работать


На работу надо ходить работать, а не для отметки в явочном листе!!!
 
Ответить
СообщениеДоброго времени суток!!!
Буду краток!!!

Макросом сохраняю книгу, при сохранении меняю формат "сохранить без поддержки макросов" (книга Excel) , выводит сообщение " Следующие компоненты невозможно сохранить без поддержки макросов... Да... Нет... Отмена".
1 Вопрос: как сделать так чтоб НЕ спрашивал о подтверждении сохранить книгу без поддержки макросов, и спрашивал если такой файл уже существует?

[vba]
Код

' Макрос1 Макрос
'

'
    Sheets("Сводка").Visible = True
     
    Sheets("Сводка").Select
    
    ActiveSheet.Calculate
    
    Range("L43:N43").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

    Range("AB43:AD43").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        
    Range("O1:U3").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        
        Application.DisplayAlerts = 0
        Sheets("Лист3").Delete
        Application.DisplayAlerts = 1
        
        Sheets("Сводка").Select
        Range("B9").Select
        
        On Error Resume Next
        
    Folder$ = "C:\Users\user\Desktop\Сводка ЖД Тупик по суточно1\"
    MkDir Folder$        ' создаем папку, если её ещё нет
    Filename = "Сводка " & [O1] & " " & [Q1] & " " & [T1] & ".xls" ' формируем имя файла из текста ячеек
    
    
    ActiveWorkbook.SaveAs Folder$ & Filename, xlOpenXMLWorkbook
            
         End Sub
[/vba]

...

[vba]
Код

Application.DisplayAlerts = 0
ActiveWorkbook.SaveAs Folder$ & Filename, xlOpenXMLWorkbook
Application.DisplayAlerts = 1
[/vba]

если сделать так, то не выводит вообще ни каких сообщений, а если файл существует то перезаписыает без запроса

2 Вопрос: Как использовать несколько функций MkDir подряд

[vba]
Код

Folder$ = "C:\Users\user\Desktop\Сводка " & ActiveWorkbook.ActiveSheet.Range("A1") & "\" & ActiveWorkbook.ActiveSheet.Range("T1") & "\" & ActiveWorkbook.ActiveSheet.Range("O1") & "\"
MkDir Folder$
[/vba]

Такой вариант не хочет работать

Автор - ZAV
Дата добавления - 18.01.2021 в 09:56
Апострофф Дата: Понедельник, 18.01.2021, 10:25 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 458
Репутация: 126 ±
Замечаний: 0% ±

Excel 1997
[vba]
Код
Application.DisplayAlerts = 0
if dir(Folder$ & Filename)<>""then
  'выдайте msgbox с вопросом о перезаписи файла с дальнейшим разбором ответа
endif
ActiveWorkbook.SaveAs Folder$ & Filename, xlOpenXMLWorkbook
Application.DisplayAlerts = 1
[/vba]
 
Ответить
Сообщение[vba]
Код
Application.DisplayAlerts = 0
if dir(Folder$ & Filename)<>""then
  'выдайте msgbox с вопросом о перезаписи файла с дальнейшим разбором ответа
endif
ActiveWorkbook.SaveAs Folder$ & Filename, xlOpenXMLWorkbook
Application.DisplayAlerts = 1
[/vba]

Автор - Апострофф
Дата добавления - 18.01.2021 в 10:25
Апострофф Дата: Понедельник, 18.01.2021, 10:30 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 458
Репутация: 126 ±
Замечаний: 0% ±

Excel 1997
Как использовать несколько функций MkDir подряд

https://excelvba.ru/code/MkDir
 
Ответить
Сообщение
Как использовать несколько функций MkDir подряд

https://excelvba.ru/code/MkDir

Автор - Апострофф
Дата добавления - 18.01.2021 в 10:30
ZAV Дата: Понедельник, 18.01.2021, 14:26 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Апострофф, либо что то не туда вставляю либо руки ... (точнее не хватает знаний)
Хорошую идею подали (мог бы получится косяк если выбрать нет), насчет не начинать работу макроса если такой файл уже существует, если выбрать да, то проработать.

[vba]
Код
If Dir(Folder$ & Filename) <> "" Then
response = MsgBox("Такое название файла уже существует!!! Заменить?", vbYesNo)
If response = vbYes Then
[/vba]
осталось только правильно поставить код, только вод куда?


На работу надо ходить работать, а не для отметки в явочном листе!!!
 
Ответить
СообщениеАпострофф, либо что то не туда вставляю либо руки ... (точнее не хватает знаний)
Хорошую идею подали (мог бы получится косяк если выбрать нет), насчет не начинать работу макроса если такой файл уже существует, если выбрать да, то проработать.

[vba]
Код
If Dir(Folder$ & Filename) <> "" Then
response = MsgBox("Такое название файла уже существует!!! Заменить?", vbYesNo)
If response = vbYes Then
[/vba]
осталось только правильно поставить код, только вод куда?

Автор - ZAV
Дата добавления - 18.01.2021 в 14:26
ZAV Дата: Понедельник, 18.01.2021, 14:31 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Апострофф,
Читал эту ссылку и пытался под себя подогнать... не получилось... в моем случае название папок берется из определенных значений ячеек


На работу надо ходить работать, а не для отметки в явочном листе!!!
 
Ответить
СообщениеАпострофф,
Читал эту ссылку и пытался под себя подогнать... не получилось... в моем случае название папок берется из определенных значений ячеек

Автор - ZAV
Дата добавления - 18.01.2021 в 14:31
Апострофф Дата: Понедельник, 18.01.2021, 15:09 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 458
Репутация: 126 ±
Замечаний: 0% ±

Excel 1997
[vba]
Код
If response = vbNO Then EXIT SUB
[/vba]И не надо ничего больше...
 
Ответить
Сообщение[vba]
Код
If response = vbNO Then EXIT SUB
[/vba]И не надо ничего больше...

Автор - Апострофф
Дата добавления - 18.01.2021 в 15:09
ZAV Дата: Вторник, 19.01.2021, 06:27 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Апострофф, не хочет работать

[vba]
Код
If Dir(Folder$ & Filename) <> "" Then
[/vba]


На работу надо ходить работать, а не для отметки в явочном листе!!!
 
Ответить
СообщениеАпострофф, не хочет работать

[vba]
Код
If Dir(Folder$ & Filename) <> "" Then
[/vba]

Автор - ZAV
Дата добавления - 19.01.2021 в 06:27
ZAV Дата: Вторник, 19.01.2021, 06:30 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Понять не могу почему вот так тоже не работает
[vba]
Код
Sub Макрос1()
путь = "C:\Users\user\Desktop\Сводка ЖД Тупик по суточно1"
Filename = "Сводка 01 Февраль 2021 год.xlsx"

If Dir(путь & Filename) = путь & Filename Then
        MsgBox "Такой файл существует"
    Else
        MsgBox "НЕТ!!!"
    End If
End Sub
[/vba]
Что не так?


На работу надо ходить работать, а не для отметки в явочном листе!!!
 
Ответить
СообщениеПонять не могу почему вот так тоже не работает
[vba]
Код
Sub Макрос1()
путь = "C:\Users\user\Desktop\Сводка ЖД Тупик по суточно1"
Filename = "Сводка 01 Февраль 2021 год.xlsx"

If Dir(путь & Filename) = путь & Filename Then
        MsgBox "Такой файл существует"
    Else
        MsgBox "НЕТ!!!"
    End If
End Sub
[/vba]
Что не так?

Автор - ZAV
Дата добавления - 19.01.2021 в 06:30
Апострофф Дата: Вторник, 19.01.2021, 08:22 | Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 458
Репутация: 126 ±
Замечаний: 0% ±

Excel 1997
If Dir(путь & "\" & Filename) <> "" Then


Сообщение отредактировал Апострофф - Вторник, 19.01.2021, 08:27
 
Ответить
Сообщение
If Dir(путь & "\" & Filename) <> "" Then

Автор - Апострофф
Дата добавления - 19.01.2021 в 08:22
ZAV Дата: Среда, 20.01.2021, 12:43 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Апострофф, СПС, очень помогли с
[vba]
Код
If response = vbNO Then EXIT SUB
[/vba]
и
[vba]
Код
If Dir(путь & "\" & Filename) <> "" Then
[/vba]
Как всегда все оказалось банально просто, особенно с "\" :)

осталось решить последний вопрос :
[vba]
Код
ПУТЬ1 = "C:\Users\user\Desktop\Сводка ЖД Тупик по суточно1\" & ActiveWorkbook.ActiveSheet.Range("Q1") & "\"
    MkDir ПУТЬ1
[/vba]
Если папки с именем "Сводка ЖД Тупик по суточно1" отсутствует, то работа макроса не корректна.
как продублировать MkDir ?


На работу надо ходить работать, а не для отметки в явочном листе!!!
 
Ответить
СообщениеАпострофф, СПС, очень помогли с
[vba]
Код
If response = vbNO Then EXIT SUB
[/vba]
и
[vba]
Код
If Dir(путь & "\" & Filename) <> "" Then
[/vba]
Как всегда все оказалось банально просто, особенно с "\" :)

осталось решить последний вопрос :
[vba]
Код
ПУТЬ1 = "C:\Users\user\Desktop\Сводка ЖД Тупик по суточно1\" & ActiveWorkbook.ActiveSheet.Range("Q1") & "\"
    MkDir ПУТЬ1
[/vba]
Если папки с именем "Сводка ЖД Тупик по суточно1" отсутствует, то работа макроса не корректна.
как продублировать MkDir ?

Автор - ZAV
Дата добавления - 20.01.2021 в 12:43
ZAV Дата: Среда, 20.01.2021, 14:22 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Всем СПС, разобрался... все оказалась банально просто...
[vba]
Код
ПУТЬ0 = "C:\Users\user\Desktop\Сводка ЖД Тупик по суточно1"
    MkDir ПУТЬ0
    
    ПУТЬ1 = "C:\Users\user\Desktop\Сводка ЖД Тупик по суточно1\" & ActiveWorkbook.ActiveSheet.Range("Q1") & "\"
    MkDir ПУТЬ1
[/vba]


На работу надо ходить работать, а не для отметки в явочном листе!!!
 
Ответить
СообщениеВсем СПС, разобрался... все оказалась банально просто...
[vba]
Код
ПУТЬ0 = "C:\Users\user\Desktop\Сводка ЖД Тупик по суточно1"
    MkDir ПУТЬ0
    
    ПУТЬ1 = "C:\Users\user\Desktop\Сводка ЖД Тупик по суточно1\" & ActiveWorkbook.ActiveSheet.Range("Q1") & "\"
    MkDir ПУТЬ1
[/vba]

Автор - ZAV
Дата добавления - 20.01.2021 в 14:22
  • Страница 1 из 1
  • 1
Поиск:

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