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

Вход

Регистрация

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

 

= Мир MS Excel/"Сохранить рабочую область" в Excel-2013 - Мир MS Excel

Старая форма входа
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » "Сохранить рабочую область" в Excel-2013 (Иное/Other)
"Сохранить рабочую область" в Excel-2013
iam_alex Дата: Среда, 18.01.2017, 05:33 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Друзья, с 2013 Excel нет возможности сохранять т.н. "рабочую область" в файл .XLW, однако открывать таковые, созданные в предыдущих версиях Excel, можно.
Вопрос такой - каким образом, например макросом, сделать возможным сохранение рабочей области в новых версиях Excel?
 
Ответить
СообщениеДрузья, с 2013 Excel нет возможности сохранять т.н. "рабочую область" в файл .XLW, однако открывать таковые, созданные в предыдущих версиях Excel, можно.
Вопрос такой - каким образом, например макросом, сделать возможным сохранение рабочей области в новых версиях Excel?

Автор - iam_alex
Дата добавления - 18.01.2017 в 05:33
Roman777 Дата: Среда, 18.01.2017, 08:14 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
iam_alex, Добрый день!
А просто сохранение активной книги с расширением ".xlw" не проканает?
[vba]
Код
Sub WorkPlace()
Set AWB =ActiveWorkbook
fulpath$ =AWB.Path & "1111.xlw"
AWB.SaveAs Filename:=fulpath
End sub
[/vba]


Много чего не знаю!!!!
 
Ответить
Сообщениеiam_alex, Добрый день!
А просто сохранение активной книги с расширением ".xlw" не проканает?
[vba]
Код
Sub WorkPlace()
Set AWB =ActiveWorkbook
fulpath$ =AWB.Path & "1111.xlw"
AWB.SaveAs Filename:=fulpath
End sub
[/vba]

Автор - Roman777
Дата добавления - 18.01.2017 в 08:14
anvg Дата: Среда, 18.01.2017, 10:37 | Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Доброе время суток.
Не поможет, увы. И на уровне VBA признано неподдерживаемым.
 
Ответить
СообщениеДоброе время суток.
Не поможет, увы. И на уровне VBA признано неподдерживаемым.

Автор - anvg
Дата добавления - 18.01.2017 в 10:37
iam_alex Дата: Четверг, 19.01.2017, 06:42 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
А просто редактировать файл xlw, вписав в него нужные пути как-то можно?
 
Ответить
СообщениеА просто редактировать файл xlw, вписав в него нужные пути как-то можно?

Автор - iam_alex
Дата добавления - 19.01.2017 в 06:42
anvg Дата: Четверг, 19.01.2017, 20:54 | Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
А просто редактировать файл xlw, вписав в него нужные пути как-то можно?
Если вы готовы разобрать спецификацию, то вполне возможно. VBA позволяет работать с бинарными данными. Попробуйте. Если получится, то отпишитесь - вдруг кому ещё потребуется?

Успехов.
 
Ответить
Сообщение
А просто редактировать файл xlw, вписав в него нужные пути как-то можно?
Если вы готовы разобрать спецификацию, то вполне возможно. VBA позволяет работать с бинарными данными. Попробуйте. Если получится, то отпишитесь - вдруг кому ещё потребуется?

Успехов.

Автор - anvg
Дата добавления - 19.01.2017 в 20:54
Nic70y Дата: Четверг, 19.01.2017, 20:57 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 8709
Репутация: 2260 ±
Замечаний: 0% ±

Excel 2010
[offtop]Я так радовался, что отменили эту функцию, что отмечал целую неделю![/offtop]


ЮMoney 41001841029809
 
Ответить
Сообщение[offtop]Я так радовался, что отменили эту функцию, что отмечал целую неделю![/offtop]

Автор - Nic70y
Дата добавления - 19.01.2017 в 20:57
iam_alex Дата: Пятница, 20.01.2017, 06:00 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
разобрать спецификацию

я от этого ой как далек)) то есть не существует никакого способа простого чем-то открыть файл xlw и отредактировать?
 
Ответить
Сообщение
разобрать спецификацию

я от этого ой как далек)) то есть не существует никакого способа простого чем-то открыть файл xlw и отредактировать?

Автор - iam_alex
Дата добавления - 20.01.2017 в 06:00
anvg Дата: Пятница, 20.01.2017, 09:19 | Сообщение № 8
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
то есть не существует никакого способа простого чем-то открыть файл xlw и отредактировать?

Существует. Только править надо в соответствии с выше приведённой спецификацией - иначе Excel не поймёт :)
 
Ответить
Сообщение
то есть не существует никакого способа простого чем-то открыть файл xlw и отредактировать?

Существует. Только править надо в соответствии с выше приведённой спецификацией - иначе Excel не поймёт :)

Автор - anvg
Дата добавления - 20.01.2017 в 09:19
Alex_ST Дата: Пятница, 20.01.2017, 11:33 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3199
Репутация: 606 ±
Замечаний: 0% ±

2003
Ребята, ну если в 2013 мелко-мягкие по каким-то своим соображениям убрали достаточно удобную, имхо, фичу, то ведь вполне можно сделать "протез", функционально заменяющий "ампутированный орган".
Меня-то это не касается, т.к. на моих компах стоит Excel, её поддерживающий.
Но ведь в принципе ничего сложного при вызове функции "Сохранить рабочую область" не делалось:
1. Предлагалось сохранить все открытые книги — нет проблем
2. Спрашивалось куда сохранять файл образа области — нет проблем
3. Сохранялся образ рабочей области в указанной папке в виде файла с расширением ".xlw" — а оно Вам принципиально, с каким расширением будет файл? Вам "шашечки" или "ехать"?
А ".xlsm" Вас устроит? Тогда — нет проблем! В файле на единственном его листе начиная с ячейки А1 запишем ПОЛНЫЕ имена открытых файлов . А в модуле ЭтаКнига на событие Workbook_Open пропишем процедуру открытия всех файлов, перечисленных на листе. Ничего особенно сложного.
P.S. В принципе в конце процедуры можно будет ещё и файл-протез закрыть.
Всё это вполне можно оформить надстройкой.

При открытии этого нашего файла-протеза, заменяющего ".xlw", НА ЛЮБОМ компьютере, даже не "оборудованном" надстройкой, а лишь бы макросы были разрешены, будет выполняться процедура Workbook_Open.



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Пятница, 20.01.2017, 21:46
 
Ответить
СообщениеРебята, ну если в 2013 мелко-мягкие по каким-то своим соображениям убрали достаточно удобную, имхо, фичу, то ведь вполне можно сделать "протез", функционально заменяющий "ампутированный орган".
Меня-то это не касается, т.к. на моих компах стоит Excel, её поддерживающий.
Но ведь в принципе ничего сложного при вызове функции "Сохранить рабочую область" не делалось:
1. Предлагалось сохранить все открытые книги — нет проблем
2. Спрашивалось куда сохранять файл образа области — нет проблем
3. Сохранялся образ рабочей области в указанной папке в виде файла с расширением ".xlw" — а оно Вам принципиально, с каким расширением будет файл? Вам "шашечки" или "ехать"?
А ".xlsm" Вас устроит? Тогда — нет проблем! В файле на единственном его листе начиная с ячейки А1 запишем ПОЛНЫЕ имена открытых файлов . А в модуле ЭтаКнига на событие Workbook_Open пропишем процедуру открытия всех файлов, перечисленных на листе. Ничего особенно сложного.
P.S. В принципе в конце процедуры можно будет ещё и файл-протез закрыть.
Всё это вполне можно оформить надстройкой.

При открытии этого нашего файла-протеза, заменяющего ".xlw", НА ЛЮБОМ компьютере, даже не "оборудованном" надстройкой, а лишь бы макросы были разрешены, будет выполняться процедура Workbook_Open.

Автор - Alex_ST
Дата добавления - 20.01.2017 в 11:33
iam_alex Дата: Понедельник, 23.01.2017, 06:13 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
А в модуле ЭтаКнига на событие Workbook_Open пропишем процедуру открытия всех файлов, перечисленных на листе. Ничего особенно сложного.

Это вполне приемлемое решение, т.к. нам "ехать")) Вот только, если это не сложно для людей, разбирающихся в написании макросов, может быть помогут?) т.к. для меня это - никак(
 
Ответить
Сообщение
А в модуле ЭтаКнига на событие Workbook_Open пропишем процедуру открытия всех файлов, перечисленных на листе. Ничего особенно сложного.

Это вполне приемлемое решение, т.к. нам "ехать")) Вот только, если это не сложно для людей, разбирающихся в написании макросов, может быть помогут?) т.к. для меня это - никак(

Автор - iam_alex
Дата добавления - 23.01.2017 в 06:13
Nic70y Дата: Понедельник, 23.01.2017, 12:56 | Сообщение № 11
Группа: Друзья
Ранг: Экселист
Сообщений: 8709
Репутация: 2260 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Private Sub Workbook_Open()
    For Each u In Range("a1:a100")
    If u <> "" Then
    Workbooks.Open Filename:=u
    End If
    Next
    'ThisWorkbook.Close
End Sub
[/vba]
К сообщению приложен файл: XLW.xlsm (12.9 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщение[vba]
Код
Private Sub Workbook_Open()
    For Each u In Range("a1:a100")
    If u <> "" Then
    Workbooks.Open Filename:=u
    End If
    Next
    'ThisWorkbook.Close
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 23.01.2017 в 12:56
Alex_ST Дата: Понедельник, 23.01.2017, 13:57 | Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3199
Репутация: 606 ±
Замечаний: 0% ±

2003
Николай, это-то как раз проще всего.
Но сначала нужно:
1) по нажатию на кнопку "Сохранить рабочую область..." в новом файле на листе создать список открытых - это совсем не сложно
2) в модуле ЭтаКнига файла прописать этот (или аналогичный) код обработки события - это не очень сложно, но выше типового уровня, т.к. требует умения работать с VBProject (пример есть у Уокенбаха)
3) запросить куда и под каким именем сохранять этот файл - не сложно
4) сохранить файл - совсем просто.

Для тех, кто возьмётся доделывать:
Вот утилита, которая скопированный в буфер обмена с листа VBE текст нужных процедур преобразует в стринг, добавляемый в .CodeModule и помещает его обратно в буфер обмена (публиковал ЗДЕСЬ)



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Понедельник, 23.01.2017, 14:05
 
Ответить
СообщениеНиколай, это-то как раз проще всего.
Но сначала нужно:
1) по нажатию на кнопку "Сохранить рабочую область..." в новом файле на листе создать список открытых - это совсем не сложно
2) в модуле ЭтаКнига файла прописать этот (или аналогичный) код обработки события - это не очень сложно, но выше типового уровня, т.к. требует умения работать с VBProject (пример есть у Уокенбаха)
3) запросить куда и под каким именем сохранять этот файл - не сложно
4) сохранить файл - совсем просто.

Для тех, кто возьмётся доделывать:
Вот утилита, которая скопированный в буфер обмена с листа VBE текст нужных процедур преобразует в стринг, добавляемый в .CodeModule и помещает его обратно в буфер обмена (публиковал ЗДЕСЬ)

Автор - Alex_ST
Дата добавления - 23.01.2017 в 13:57
Alex_ST Дата: Понедельник, 23.01.2017, 15:44 | Сообщение № 13
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3199
Репутация: 606 ±
Замечаний: 0% ±

2003
Появилось немного свободного времени.
Набросал нужную процедуру:

Размещаете её в Personal. Делаете кнопку для вызова.
Всё, вроде, работает.
Можно бы доделать, но и без этого работает:
- добавить предложение сохранить все открытые файлы
- добавить диалог сохранения файла



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Понедельник, 23.01.2017, 22:45
 
Ответить
СообщениеПоявилось немного свободного времени.
Набросал нужную процедуру:

Размещаете её в Personal. Делаете кнопку для вызова.
Всё, вроде, работает.
Можно бы доделать, но и без этого работает:
- добавить предложение сохранить все открытые файлы
- добавить диалог сохранения файла

Автор - Alex_ST
Дата добавления - 23.01.2017 в 15:44
iam_alex Дата: Вторник, 24.01.2017, 05:37 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Друзья! Спасибо, что откликнулись!!))
Прописал процедуру в Personal, добавил кнопку на панель - запустил (пути прописались) - сохранил книгу как xlsm - открыл с поддержкой макросов - РАБОТАЕТ!!!)))

Единственный момент (вопрос) - при срабатывании процедуры прописываются также пути:
Цитата
C:\Users\[Username]\AppData\Roaming\Microsoft\Excel\XLSTART\PERSONAL — копия.XLSB
C:\Users\[Username]\AppData\Roaming\Microsoft\Excel\XLSTART\PERSONAL.XLSB

не обращать внимания?
 
Ответить
СообщениеДрузья! Спасибо, что откликнулись!!))
Прописал процедуру в Personal, добавил кнопку на панель - запустил (пути прописались) - сохранил книгу как xlsm - открыл с поддержкой макросов - РАБОТАЕТ!!!)))

Единственный момент (вопрос) - при срабатывании процедуры прописываются также пути:
Цитата
C:\Users\[Username]\AppData\Roaming\Microsoft\Excel\XLSTART\PERSONAL — копия.XLSB
C:\Users\[Username]\AppData\Roaming\Microsoft\Excel\XLSTART\PERSONAL.XLSB

не обращать внимания?

Автор - iam_alex
Дата добавления - 24.01.2017 в 05:37
Alex_ST Дата: Вторник, 24.01.2017, 10:24 | Сообщение № 15
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3199
Репутация: 606 ±
Замечаний: 0% ±

2003
iam_alex,
Ну, во-первых разберитесь, почему у Вас в XLSTART лежат и сам файл PERSONAL.XLSB, и его копия? Может быть был когда-то крэш Excel'я и записалась резервная копия?
Во-вторых, в коде явно прописано, что добавлять имя в список нужно только если[vba]
Код
If Split(WBk.Name, ".")(0) <> "Personal"
[/vba]поэтому PERSONAL.XLSB сохраняться не должно...
Ну, можно попробовать поменять на[vba]
Код
If Not WBk.Name Like "*\XLSTART\Personal*"
[/vba]тогда уж точно не должно.
В общем, пробуйте допиленное со всякими доработками:
После отладки апостроф в стринге[vba]
Код
"'   ThisWorkbook.Close" & vbCrLf & _
[/vba]можно убрать. Тогда файл сохранённой рабочей области закроется сам после того, как откроются все нужные книги



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Вторник, 24.01.2017, 13:18
 
Ответить
Сообщениеiam_alex,
Ну, во-первых разберитесь, почему у Вас в XLSTART лежат и сам файл PERSONAL.XLSB, и его копия? Может быть был когда-то крэш Excel'я и записалась резервная копия?
Во-вторых, в коде явно прописано, что добавлять имя в список нужно только если[vba]
Код
If Split(WBk.Name, ".")(0) <> "Personal"
[/vba]поэтому PERSONAL.XLSB сохраняться не должно...
Ну, можно попробовать поменять на[vba]
Код
If Not WBk.Name Like "*\XLSTART\Personal*"
[/vba]тогда уж точно не должно.
В общем, пробуйте допиленное со всякими доработками:
После отладки апостроф в стринге[vba]
Код
"'   ThisWorkbook.Close" & vbCrLf & _
[/vba]можно убрать. Тогда файл сохранённой рабочей области закроется сам после того, как откроются все нужные книги

Автор - Alex_ST
Дата добавления - 24.01.2017 в 10:24
iam_alex Дата: Вторник, 24.01.2017, 11:49 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
допиленное со всякими доработками

теперь при выполнении макроса предлагается сначала сохранить все открытые книги

доходит до сохранения файла (открывается диалоговое окно, присваивается имя типа WorkSpace (2017/01/24 15-46'31'') - говорит недопустимое имя файла, оставляю только WorkSpace, выбираю xlsm, вылазит ошибка 1004 - расширение нельзя использовать с выбранным типом файла, жму Debug - показывает на строку WSWBk.SaveAs Filename:=.SelectedItems(1)
 
Ответить
Сообщение
допиленное со всякими доработками

теперь при выполнении макроса предлагается сначала сохранить все открытые книги

доходит до сохранения файла (открывается диалоговое окно, присваивается имя типа WorkSpace (2017/01/24 15-46'31'') - говорит недопустимое имя файла, оставляю только WorkSpace, выбираю xlsm, вылазит ошибка 1004 - расширение нельзя использовать с выбранным типом файла, жму Debug - показывает на строку WSWBk.SaveAs Filename:=.SelectedItems(1)

Автор - iam_alex
Дата добавления - 24.01.2017 в 11:49
iam_alex Дата: Вторник, 24.01.2017, 11:56 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
затем просто жму сохранить - все сохраняется, конечно. PERSONAL.XLSB все равно присутствует.
 
Ответить
Сообщениезатем просто жму сохранить - все сохраняется, конечно. PERSONAL.XLSB все равно присутствует.

Автор - iam_alex
Дата добавления - 24.01.2017 в 11:56
iam_alex Дата: Вторник, 24.01.2017, 12:05 | Сообщение № 18
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
и еще по непонятной мне причине макрос Save_WorkSpace я не вижу в списке макросов, соответственно не могу назначить кнопку в панели...


Сообщение отредактировал iam_alex - Вторник, 24.01.2017, 12:21
 
Ответить
Сообщениеи еще по непонятной мне причине макрос Save_WorkSpace я не вижу в списке макросов, соответственно не могу назначить кнопку в панели...

Автор - iam_alex
Дата добавления - 24.01.2017 в 12:05
iam_alex Дата: Вторник, 24.01.2017, 12:12 | Сообщение № 19
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
а еще я пользуюсь таким макросом:


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

но эту уже из разряда хотелок)) хотя может и посчитаете их полезными)
и еще одна хотелка-доработка - если при уже открытых книгах из списка я снова жму открыть, то вполне резонно excel ругается, что не может открыть уже открытые книги, при нажатии на "нет" макрос выдает ошибку. может стоит проверять открыта книга или нет... например могут быть случаи, когда хочешь открыть другую рабочую область, в которой часть файлов совпадает с уже открытыми


Сообщение отредактировал iam_alex - Вторник, 24.01.2017, 12:26
 
Ответить
Сообщениеа еще я пользуюсь таким макросом:


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

но эту уже из разряда хотелок)) хотя может и посчитаете их полезными)
и еще одна хотелка-доработка - если при уже открытых книгах из списка я снова жму открыть, то вполне резонно excel ругается, что не может открыть уже открытые книги, при нажатии на "нет" макрос выдает ошибку. может стоит проверять открыта книга или нет... например могут быть случаи, когда хочешь открыть другую рабочую область, в которой часть файлов совпадает с уже открытыми

Автор - iam_alex
Дата добавления - 24.01.2017 в 12:12
Alex_ST Дата: Вторник, 24.01.2017, 13:16 | Сообщение № 20
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3199
Репутация: 606 ±
Замечаний: 0% ±

2003
Что там мелко-мягкие нахимичили в 2013-ом?
С чего это вдруг даётся такое имя ???
WorkSpace (2017/01/24 15-46'31'')
Явно недопустимые символы /
Должно выводить дату с разделителем дня-месяца-года через точку! Типа WorkSpace (2017.01.24 15-46'31'')
Может быть у Вас что-то в системных и регионалных установках не так прописано?
Попробуйте при любой открытой книге Excel нажать Alt+F11 , потом Ctrl+G В открывшееся окно Immediate Window введите текст:[vba]
Код
? Format(Now, "yyyy/mm/dd hh-mm'ss''")
[/vba]В ответ должны получить что-то типа:[vba]
Код
2017.01.24 13-09'50''
[/vba]
Если же всё-таки разделители будут на ТОЧКА, а СЛЭШ, то попробуйте там же ввести[vba]
Код
? Format(Now, "yyyy.mm.dd hh-mm'ss''")
[/vba]если получите нормальный вид с ТОЧКАМИ между годом, месяцем и днём, то поправьте соответственно в задании переменной:
вместо[vba]
Код
   Dim sFileName$: sFileName = "WorkSpace (" & Format(Now, "yyyy/mm/dd hh-mm'ss''") & ").xls"
[/vba]напишите [vba]
Код
   Dim sFileName$: sFileName = "WorkSpace (" & Format(Now, "yyyy.mm.dd hh-mm'ss''") & ").xls"
[/vba]Или если лень, просто перекачайте процедуру из моего предыдущего поста - я там поправил.
-----------------------------
А не видно её в макросах потому, что процедура декларирована как Private Sub , а не просто Sub как раз для того, чтобы не "светилась" в макросах :)
Чтобы назначить её на кнопку удалите слово Private . Она появится в Макросах.
После назначения можете его поставить обратно.
---------



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Вторник, 24.01.2017, 13:54
 
Ответить
СообщениеЧто там мелко-мягкие нахимичили в 2013-ом?
С чего это вдруг даётся такое имя ???
WorkSpace (2017/01/24 15-46'31'')
Явно недопустимые символы /
Должно выводить дату с разделителем дня-месяца-года через точку! Типа WorkSpace (2017.01.24 15-46'31'')
Может быть у Вас что-то в системных и регионалных установках не так прописано?
Попробуйте при любой открытой книге Excel нажать Alt+F11 , потом Ctrl+G В открывшееся окно Immediate Window введите текст:[vba]
Код
? Format(Now, "yyyy/mm/dd hh-mm'ss''")
[/vba]В ответ должны получить что-то типа:[vba]
Код
2017.01.24 13-09'50''
[/vba]
Если же всё-таки разделители будут на ТОЧКА, а СЛЭШ, то попробуйте там же ввести[vba]
Код
? Format(Now, "yyyy.mm.dd hh-mm'ss''")
[/vba]если получите нормальный вид с ТОЧКАМИ между годом, месяцем и днём, то поправьте соответственно в задании переменной:
вместо[vba]
Код
   Dim sFileName$: sFileName = "WorkSpace (" & Format(Now, "yyyy/mm/dd hh-mm'ss''") & ").xls"
[/vba]напишите [vba]
Код
   Dim sFileName$: sFileName = "WorkSpace (" & Format(Now, "yyyy.mm.dd hh-mm'ss''") & ").xls"
[/vba]Или если лень, просто перекачайте процедуру из моего предыдущего поста - я там поправил.
-----------------------------
А не видно её в макросах потому, что процедура декларирована как Private Sub , а не просто Sub как раз для того, чтобы не "светилась" в макросах :)
Чтобы назначить её на кнопку удалите слово Private . Она появится в Макросах.
После назначения можете его поставить обратно.
---------

Автор - Alex_ST
Дата добавления - 24.01.2017 в 13:16
Мир MS Excel » Вопросы и решения » Вопросы по VBA » "Сохранить рабочую область" в Excel-2013 (Иное/Other)
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск:

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