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

 

= Мир MS Excel/Дизайн постов - Страница 9 - Мир MS Excel

Дизайн постов
Serge_007 Дата: Среда, 08.02.2012, 12:34 | Сообщение № 161
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016

=ЕСЛИ(И(РАЗНДАТ(B1;A1;"y")>10;РАЗНДАТ(B1;A1;"y")<15);РАЗНДАТ(B1;A1;"y")&"    

лет";ЕСЛИ(ИЛИ(И(ПРАВСИМВ(РАЗНДАТ(B1;A1;"y");1)>"4";ПРАВСИМВ(РАЗНДАТ(B1;A1;"y");1)<="9");;

ПРАВСИМВ(РАЗНДАТ(B1;A1;"y");1)="0");РАЗНДАТ(B1;A1;"y")&" лет";ЕСЛИ(ПРАВСИМВ(РАЗНДАТ(B1;A1;"y");1)="1";

РАЗНДАТ(B1;A1;"y")&" год";РАЗНДАТ(B1;A1;"y")&"    

года")))&","&ЕСЛИ(РАЗНДАТ(B1;A1;"m")>0;РАЗНДАТ(B1;A1;"m")-РАЗНДАТ(B1;A1;"y")*12;РАЗНДАТ(B1;A1;"m"))&

ПРОСМОТР(ЕСЛИ(РАЗНДАТ(B1;A1;"m")>0;РАЗНДАТ(B1;A1;"m")-РАЗНДАТ(B1;A1;"y")*12;РАЗНДАТ(B1;A1;"m"));

{0:1:2:5};{" месяцев":" месяц":" месяца":" месяцев"})&","&ЕСЛИ((36-ДЕНЬ(A1+36-ДЕНЬ(A1)))+ДЕНЬ(A1)-

ДЕНЬ(B1)>=36-ДЕНЬ(A1+36-ДЕНЬ(A1));ДЕНЬ(A1)-ДЕНЬ(B1);(36-ДЕНЬ(A1+36-ДЕНЬ(A1)))+(ДЕНЬ(A1)-ДЕНЬ(B1)))&"    

"&ПРОСМОТР(ЕСЛИ((36-ДЕНЬ(A1+36-ДЕНЬ(A1)))+ДЕНЬ(A1)-ДЕНЬ(B1)>=36-ДЕНЬ(A1+36-ДЕНЬ(A1));ДЕНЬ(A1)-ДЕНЬ(B1);

(36-ДЕНЬ(A1+36-ДЕНЬ(A1)))+(ДЕНЬ(A1)-ДЕНЬ(B1)));{0:1:2:5:21:22:25:31};

{"дней":"день":"дня":"дней":"день":"дня":"дней":"день"})



Что-то цветом выделяется.
В любом случае, для формул я другое оформление хочу.


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение[vba]
=ЕСЛИ(И(РАЗНДАТ(B1;A1;"y")>10;РАЗНДАТ(B1;A1;"y")<15);РАЗНДАТ(B1;A1;"y")&"     лет";ЕСЛИ(ИЛИ(И(ПРАВСИМВ(РАЗНДАТ(B1;A1;"y");1)>"4";ПРАВСИМВ(РАЗНДАТ(B1;A1;"y");1)<="9");; ПРАВСИМВ(РАЗНДАТ(B1;A1;"y");1)="0");РАЗНДАТ(B1;A1;"y")&" лет";ЕСЛИ(ПРАВСИМВ(РАЗНДАТ(B1;A1;"y");1)="1"; РАЗНДАТ(B1;A1;"y")&" год";РАЗНДАТ(B1;A1;"y")&"     года")))&","&ЕСЛИ(РАЗНДАТ(B1;A1;"m")>0;РАЗНДАТ(B1;A1;"m")-РАЗНДАТ(B1;A1;"y")*12;РАЗНДАТ(B1;A1;"m"))& ПРОСМОТР(ЕСЛИ(РАЗНДАТ(B1;A1;"m")>0;РАЗНДАТ(B1;A1;"m")-РАЗНДАТ(B1;A1;"y")*12;РАЗНДАТ(B1;A1;"m")); {0:1:2:5};{" месяцев":" месяц":" месяца":" месяцев"})&","&ЕСЛИ((36-ДЕНЬ(A1+36-ДЕНЬ(A1)))+ДЕНЬ(A1)- ДЕНЬ(B1)>=36-ДЕНЬ(A1+36-ДЕНЬ(A1));ДЕНЬ(A1)-ДЕНЬ(B1);(36-ДЕНЬ(A1+36-ДЕНЬ(A1)))+(ДЕНЬ(A1)-ДЕНЬ(B1)))&"     "&ПРОСМОТР(ЕСЛИ((36-ДЕНЬ(A1+36-ДЕНЬ(A1)))+ДЕНЬ(A1)-ДЕНЬ(B1)>=36-ДЕНЬ(A1+36-ДЕНЬ(A1));ДЕНЬ(A1)-ДЕНЬ(B1); (36-ДЕНЬ(A1+36-ДЕНЬ(A1)))+(ДЕНЬ(A1)-ДЕНЬ(B1)));{0:1:2:5:21:22:25:31}; {"дней":"день":"дня":"дней":"день":"дня":"дней":"день"})
[/vba]

Что-то цветом выделяется.
В любом случае, для формул я другое оформление хочу.

Автор - Serge_007
Дата добавления - 08.02.2012 в 12:34
Alex_ST Дата: Среда, 08.02.2012, 12:53 | Сообщение № 162
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3219
Репутация: 622 ±
Замечаний: 0% ±

2003
Да... Корявенько получается.
Не думал, что там всё так запутано...
А почему цифры то синие, то красные?
Да и с распознаванием стрингов по кавычкам и "обсериванию" ( shy ) текста внутри них - тоже как-то глючно: то серит, то не серит, то кавычки захватит, то нет...
А для того, чтобы удобно было юзать (когда всё отладится), нужно будет на панели ввода ответа сделать отдельные кнопки обрамления тэгами: "Monotype" ( {code}...{/code} ), "VBA code" ( {vba}{code}...{/code}{/vba} ), "Formula" ( {frm}{code}...{/code}{/frm} )



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеДа... Корявенько получается.
Не думал, что там всё так запутано...
А почему цифры то синие, то красные?
Да и с распознаванием стрингов по кавычкам и "обсериванию" ( shy ) текста внутри них - тоже как-то глючно: то серит, то не серит, то кавычки захватит, то нет...
А для того, чтобы удобно было юзать (когда всё отладится), нужно будет на панели ввода ответа сделать отдельные кнопки обрамления тэгами: "Monotype" ( {code}...{/code} ), "VBA code" ( {vba}{code}...{/code}{/vba} ), "Formula" ( {frm}{code}...{/code}{/frm} )

Автор - Alex_ST
Дата добавления - 08.02.2012 в 12:53
Serge_007 Дата: Среда, 08.02.2012, 13:41 | Сообщение № 163
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (Alex_ST писал(а)):
нужно будет на панели ввода ответа сделать отдельные кнопки обрамления тэгами

Две уже есть smile


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата (Alex_ST писал(а)):
нужно будет на панели ввода ответа сделать отдельные кнопки обрамления тэгами

Две уже есть smile

Автор - Serge_007
Дата добавления - 08.02.2012 в 13:41
nerv Дата: Среда, 08.02.2012, 22:44 | Сообщение № 164
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±

Цитата (Alex_ST писал(а)):
Только не понятно, почему код обрамляется в двойные тэги {vba}{code}...{/code}{/vba}

На то есть причина: тег [code]...[\code] обрабатывается Ucoz'ом как содержащий код. Если его не будет, то все отступы в начале строк будут съедены. Стоит отметить, что Ucoz довольно странно расставляет отступы. Если в оригинале 4-е пробела, то укоз скорее всего покажет 5, 6 или хз знает сколько) Пришлось за ним подчищать.
[vba]...[/vba] необходим для парсинга. Работает как идентификатор.
Цитата (Alex_ST писал(а)):
Вопрос к тому, что все ранее выложенные на форуме коды оформлены простыми тэгами {code}...{/code} и, естественно, новая фича на них никак не повлияла.

Тут соглашусь с Сергеем, лучше формулы и код разделить. Хотя, можно попытаться обработать формулы, при условии, что они не содержат перевода строк (т.к. код парсится построчно). При таком подходе будут выделены строки и числовые литералы.
Цитата (Alex_ST писал(а)):
К стати, а какой там внутри шрифт теперь?

Courier New
Цитата (Alex_ST писал(а)):
А почему цифры то синие, то красные?

Потому, что парсинг такого рода задача нетривиальная) Я допустил ошибку [и не одну] в реге. Если будет время, исправлю, плюс постараюсь увеличить скорость обработки.
Цитата (Alex_ST писал(а)):
распознаванием стрингов по кавычкам и "обсериванию"

Алекс, ты мне всегда нравился за то, что умел подбирать слова))) Такая ерунда из-за переводов строк. Повторюсь, парсинг производится построчно.


Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba


Сообщение отредактировал nerv - Среда, 08.02.2012, 22:47
 
Ответить
Сообщение
Цитата (Alex_ST писал(а)):
Только не понятно, почему код обрамляется в двойные тэги {vba}{code}...{/code}{/vba}

На то есть причина: тег [code]...[\code] обрабатывается Ucoz'ом как содержащий код. Если его не будет, то все отступы в начале строк будут съедены. Стоит отметить, что Ucoz довольно странно расставляет отступы. Если в оригинале 4-е пробела, то укоз скорее всего покажет 5, 6 или хз знает сколько) Пришлось за ним подчищать.
[vba]...[/vba] необходим для парсинга. Работает как идентификатор.
Цитата (Alex_ST писал(а)):
Вопрос к тому, что все ранее выложенные на форуме коды оформлены простыми тэгами {code}...{/code} и, естественно, новая фича на них никак не повлияла.

Тут соглашусь с Сергеем, лучше формулы и код разделить. Хотя, можно попытаться обработать формулы, при условии, что они не содержат перевода строк (т.к. код парсится построчно). При таком подходе будут выделены строки и числовые литералы.
Цитата (Alex_ST писал(а)):
К стати, а какой там внутри шрифт теперь?

Courier New
Цитата (Alex_ST писал(а)):
А почему цифры то синие, то красные?

Потому, что парсинг такого рода задача нетривиальная) Я допустил ошибку [и не одну] в реге. Если будет время, исправлю, плюс постараюсь увеличить скорость обработки.
Цитата (Alex_ST писал(а)):
распознаванием стрингов по кавычкам и "обсериванию"

Алекс, ты мне всегда нравился за то, что умел подбирать слова))) Такая ерунда из-за переводов строк. Повторюсь, парсинг производится построчно.

Автор - nerv
Дата добавления - 08.02.2012 в 22:44
Гость Дата: Среда, 08.02.2012, 22:56 | Сообщение № 165
Группа: Гости
Цитата (nerv писал(а)):
Алекс, ты мне всегда нравился за то, что умел подбирать слова)))

Я честно старался! Изначально написал "засеривание", но потом решил смягчить до "обсеривания" smile

Лень логиниться...
Это я, Alex_St
 
Ответить
Сообщение
Цитата (nerv писал(а)):
Алекс, ты мне всегда нравился за то, что умел подбирать слова)))

Я честно старался! Изначально написал "засеривание", но потом решил смягчить до "обсеривания" smile

Лень логиниться...
Это я, Alex_St

Автор - Гость
Дата добавления - 08.02.2012 в 22:56
Alex_ST Дата: Пятница, 10.02.2012, 12:32 | Сообщение № 166
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3219
Репутация: 622 ±
Замечаний: 0% ±

2003
Да... При длинных комментариях в коде получается не очень: экран расширяется

Sub Save_Copy_As()
'---------------------------------------------------------------------------------------
' Procedure    : Save_Copy_As
' Author       : Alex_ST
' DateTime     : 07.02.2012, 17:05
' URL          : http://www.excelworld.ru/forum/3-1293-14737-16-1328619875
' Purpose      : Сохранение копии активного файла
' Notes        : Путь сохранения копий хранится в  коллекции .Names книги (в именованном диапазоне)
'---------------------------------------------------------------------------------------
    Const sPath_in_Names = "Path4SaveCopyAs"   ' имя элемента коллекции .Names, в котором должен храниться путь для сохранения копий файла
    Dim sSuff$: sSuff = " [" & Format(Now, "yyyy/mm/dd hh-mm'ss''") & "]"    ' суффикс к имени файла копии - дата и время сохренения копии файла
    Dim FileName, sExp$, sDirPath$, sFullFilePath$, sNewPath$
    Dim bReadOnlyRecommended As Boolean
    With ActiveWorkbook
        FileName = .Name   ' например, "Книга1.xls"
        sExp = Right(FileName, Len(FileName) - InStrRev(FileName, ".") + 1)   ' расширение файла вместе с точкой (например, ".xls")
        FileName = Left(FileName, Len(FileName) - Len(sExp)) & sSuff & sExp   ' например, "Книга1 [2012.02.06 15-24'39''].xls"
        On Error Resume Next
        sDirPath = .Names(sPath_in_Names).Value   ' считать из коллекции .Names значение, ранее сохраненное под именем sPath_in_Names
        If Err Then .Names.Add sPath_in_Names, .Path & "\": sDirPath = .Names(sPath_in_Names).Value   ' если считать не удалось, значит путь ранее не задавался и он для первого раза задаётся равным ActiveWorkbook.Path
        sDirPath = Mid(sDirPath, 3, Len(sDirPath) - 3)   ' убрать из считанного значения в начале "= и в конце "
        sDirPath = sDirPath & IIf(Right(sDirPath, 1) = "\", "", "\")  ' на всякий случай (если имя было задано в ручную и при этом не верно - без слэша)
        .Names(sPath_in_Names).Value = sDirPath   ' запомнить путь сохранения копий в коллекции .Names под именем sPath_in_Names
        sFullFilePath = sDirPath & FileName   ' полный путь сохранения вместе с полным именем копии
REPEAT_:
        FileName = Application.GetSaveAsFilename(InitialFileName:=sFullFilePath, _
                    FileFilter:="Excel Files (*" & sExp & "), *" & sExp & ", All Files (*.*),*.*", _
                    Title:="Сохранение копии файла")   'задать путь сохранения и имя копии файла в окне выбора
        If VarType(FileName) = vbBoolean Then Exit Sub   ' если нажали "Отмена", то FileName = False, если "Сохранить" - полный путь к файлу вместе с его именем
        If FileName = .FullName Then MsgBox "Здесь нельзя сохранить файл под таким именем!", 16, "Ошибка": GoTo REPEAT_
        sDirPath = Left(FileName, InStrRev(FileName, "\"))   ' путь к папке сохранения копий без имени файла
        .Names(sPath_in_Names).Value = sDirPath   ' запомнить выбранный в диалоге путь в коллекции .Names под именем sPath_in_Names
        bReadOnlyRecommended = .ReadOnlyRecommended   ' запомнить параметры исходного файла
        .ReadOnlyRecommended = --(MsgBox("Рекомендовать открывать файл только для чтения?", 36) - 7)   ' MsgBox Argument 4==vbYesNo 32==vbQuestion, MsgBox Return Values: vbYes=6, vbNo=7
        .SaveCopyAs FileName
        .ReadOnlyRecommended = bReadOnlyRecommended   ' восстановить параметры исходного файла
    End With
End Sub




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


Сообщение отредактировал Alex_ST - Пятница, 10.02.2012, 12:34
 
Ответить
СообщениеДа... При длинных комментариях в коде получается не очень: экран расширяется
[vba]
Sub Save_Copy_As() '--------------------------------------------------------------------------------------- ' Procedure    : Save_Copy_As ' Author       : Alex_ST ' DateTime     : 07,02,2012; 17:05 ' URL          : http://www.excelworld.ru/forum/3-1293-14737-16-1328619875 ' Purpose      : Сохранение копии активного файла ' Notes        : Путь сохранения копий хранится в  коллекции .Names книги (в именованном диапазоне) '---------------------------------------------------------------------------------------        Const sPath_in_Names = "Path4SaveCopyAs"   ' имя элемента коллекции .Names; в котором должен храниться путь для сохранения копий файла        Dim sSuff$: sSuff = " [" & Format(Now; "yyyy/mm/dd hh-mm'ss''") & "]"    ' суффикс к имени файла копии - дата и время сохренения копии файла        Dim FileName; sExp$; sDirPath$; sFullFilePath$; sNewPath$        Dim bReadOnlyRecommended As Boolean        With ActiveWorkbook           FileName = .Name   ' например; "Книга1.xls"           sExp = Right(FileName; Len(FileName) - InStrRev(FileName; ".") + 1)   ' расширение файла вместе с точкой (например; ".xls")           FileName = Left(FileName; Len(FileName) - Len(sExp)) & sSuff & sExp   ' например; "Книга1 [2012.02.06 15-24'39''].xls"           On Error Resume Next           sDirPath = .Names(sPath_in_Names).Value   ' считать из коллекции .Names значение; ранее сохраненное под именем sPath_in_Names           If Err Then .Names.Add sPath_in_Names; .Path & "\": sDirPath = .Names(sPath_in_Names).Value   ' если считать не удалось; значит путь ранее не задавался и он для первого раза задаётся равным ActiveWorkbook.Path           sDirPath = Mid(sDirPath; 3; Len(sDirPath) - 3)   ' убрать из считанного значения в начале "= и в конце "           sDirPath = sDirPath & IIf(Right(sDirPath; 1) = "\"; ""; "\")  ' на всякий случай (если имя было задано в ручную и при этом не верно - без слэша)           .Names(sPath_in_Names).Value = sDirPath   ' запомнить путь сохранения копий в коллекции .Names под именем sPath_in_Names           sFullFilePath = sDirPath & FileName   ' полный путь сохранения вместе с полным именем копии REPEAT_:           FileName = Application.GetSaveAsFilename(InitialFileName:=sFullFilePath; _                        FileFilter:="Excel Files (*" & sExp & "), *" & sExp & ", All Files (*.*),*.*"; _                        Title:="Сохранение копии файла")   'задать путь сохранения и имя копии файла в окне выбора           If VarТype(FileName) = vbBoolean Then Exit Sub   ' если нажали "Отмена"; то FileName = False; если "Сохранить" - полный путь к файлу вместе с его именем           If FileName = .FullName Then MsgBox "Здесь нельзя сохранить файл под таким именем!"; 16; "Ошибка": GoTo REPEAT_           sDirPath = Left(FileName; InStrRev(FileName; "\"))   ' путь к папке сохранения копий без имени файла           .Names(sPath_in_Names).Value = sDirPath   ' запомнить выбранный в диалоге путь в коллекции .Names под именем sPath_in_Names           bReadOnlyRecommended = .ReadOnlyRecommended   ' запомнить параметры исходного файла           .ReadOnlyRecommended = --(MsgBox("Рекомендовать открывать файл только для чтения?"; 36) - 7)   ' MsgBox Argument 4==vbYesNo 32==vbQuestion; MsgBox Return Values: vbYes=6; vbNo=7           .SaveCopyAs FileName           .ReadOnlyRecommended = bReadOnlyRecommended   ' восстановить параметры исходного файла        End With End Sub
[/vba]

Автор - Alex_ST
Дата добавления - 10.02.2012 в 12:32
nerv Дата: Пятница, 10.02.2012, 13:26 | Сообщение № 167
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±

Надо, чтобы Серега в css файле закомментировал строку
white-space: nowrap;

т.е. она будет иметь вид
/* white-space: nowrap; */


Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba


Сообщение отредактировал nerv - Пятница, 10.02.2012, 13:27
 
Ответить
СообщениеНадо, чтобы Серега в css файле закомментировал строку
white-space: nowrap;

т.е. она будет иметь вид
/* white-space: nowrap; */

Автор - nerv
Дата добавления - 10.02.2012 в 13:26
Serge_007 Дата: Пятница, 10.02.2012, 13:57 | Сообщение № 168
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Закомментил

Sub Save_Copy_As()
'---------------------------------------------------------------------------------------
' Procedure    : Save_Copy_As
' Author       : Alex_ST
' DateTime     : 07.02.2012, 17:05
' URL          : http://www.excelworld.ru/forum/3-1293-14737-16-1328619875
' Purpose      : Сохранение копии активного файла
' Notes        : Путь сохранения копий хранится в  коллекции .Names книги (в именованном диапазоне)
'---------------------------------------------------------------------------------------
    Const sPath_in_Names = "Path4SaveCopyAs"   ' имя элемента коллекции .Names, в котором должен храниться путь для сохранения копий файла
    Dim sSuff$: sSuff = " [" & Format(Now, "yyyy/mm/dd hh-mm'ss''") & "]"    ' суффикс к имени файла копии - дата и время сохренения копии файла
    Dim FileName, sExp$, sDirPath$, sFullFilePath$, sNewPath$
    Dim bReadOnlyRecommended As Boolean
    With ActiveWorkbook
        FileName = .Name   ' например, "Книга1.xls"
        sExp = Right(FileName, Len(FileName) - InStrRev(FileName, ".") + 1)   ' расширение файла вместе с точкой (например, ".xls")
        FileName = Left(FileName, Len(FileName) - Len(sExp)) & sSuff & sExp   ' например, "Книга1 [2012.02.06 15-24'39''].xls"
        On Error Resume Next
        sDirPath = .Names(sPath_in_Names).Value   ' считать из коллекции .Names значение, ранее сохраненное под именем sPath_in_Names
        If Err Then .Names.Add sPath_in_Names, .Path & "\": sDirPath = .Names(sPath_in_Names).Value   ' если считать не удалось, значит путь ранее не задавался и он для первого раза задаётся равным ActiveWorkbook.Path
        sDirPath = Mid(sDirPath, 3, Len(sDirPath) - 3)   ' убрать из считанного значения в начале "= и в конце "
        sDirPath = sDirPath & IIf(Right(sDirPath, 1) = "\", "", "\")  ' на всякий случай (если имя было задано в ручную и при этом не верно - без слэша)
        .Names(sPath_in_Names).Value = sDirPath   ' запомнить путь сохранения копий в коллекции .Names под именем sPath_in_Names
        sFullFilePath = sDirPath & FileName   ' полный путь сохранения вместе с полным именем копии
REPEAT_:
        FileName = Application.GetSaveAsFilename(InitialFileName:=sFullFilePath, _
                    FileFilter:="Excel Files (*" & sExp & "), *" & sExp & ", All Files (*.*),*.*", _
                    Title:="Сохранение копии файла")   'задать путь сохранения и имя копии файла в окне выбора
        If VarType(FileName) = vbBoolean Then Exit Sub   ' если нажали "Отмена", то FileName = False, если "Сохранить" - полный путь к файлу вместе с его именем
        If FileName = .FullName Then MsgBox "Здесь нельзя сохранить файл под таким именем!", 16, "Ошибка": GoTo REPEAT_
        sDirPath = Left(FileName, InStrRev(FileName, "\"))   ' путь к папке сохранения копий без имени файла
        .Names(sPath_in_Names).Value = sDirPath   ' запомнить выбранный в диалоге путь в коллекции .Names под именем sPath_in_Names
        bReadOnlyRecommended = .ReadOnlyRecommended   ' запомнить параметры исходного файла
        .ReadOnlyRecommended = --(MsgBox("Рекомендовать открывать файл только для чтения?", 36) - 7)   ' MsgBox Argument 4==vbYesNo 32==vbQuestion, MsgBox Return Values: vbYes=6, vbNo=7
        .SaveCopyAs FileName
        .ReadOnlyRecommended = bReadOnlyRecommended   ' восстановить параметры исходного файла
    End With
End Sub



ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеЗакомментил

[vba]
Sub Save_Copy_As() '--------------------------------------------------------------------------------------- ' Procedure    : Save_Copy_As ' Author       : Alex_ST ' DateTime     : 07,02,2012; 17:05 ' URL          : http://www.excelworld.ru/forum/3-1293-14737-16-1328619875 ' Purpose      : Сохранение копии активного файла ' Notes        : Путь сохранения копий хранится в  коллекции .Names книги (в именованном диапазоне) '---------------------------------------------------------------------------------------      Const sPath_in_Names = "Path4SaveCopyAs"   ' имя элемента коллекции .Names; в котором должен храниться путь для сохранения копий файла      Dim sSuff$: sSuff = " [" & Format(Now; "yyyy/mm/dd hh-mm'ss''") & "]"    ' суффикс к имени файла копии - дата и время сохренения копии файла      Dim FileName; sExp$; sDirPath$; sFullFilePath$; sNewPath$      Dim bReadOnlyRecommended As Boolean      With ActiveWorkbook          FileName = .Name   ' например; "Книга1.xls"          sExp = Right(FileName; Len(FileName) - InStrRev(FileName; ".") + 1)   ' расширение файла вместе с точкой (например; ".xls")          FileName = Left(FileName; Len(FileName) - Len(sExp)) & sSuff & sExp   ' например; "Книга1 [2012.02.06 15-24'39''].xls"          On Error Resume Next          sDirPath = .Names(sPath_in_Names).Value   ' считать из коллекции .Names значение; ранее сохраненное под именем sPath_in_Names          If Err Then .Names.Add sPath_in_Names; .Path & "\": sDirPath = .Names(sPath_in_Names).Value   ' если считать не удалось; значит путь ранее не задавался и он для первого раза задаётся равным ActiveWorkbook.Path          sDirPath = Mid(sDirPath; 3; Len(sDirPath) - 3)   ' убрать из считанного значения в начале "= и в конце "          sDirPath = sDirPath & IIf(Right(sDirPath; 1) = "\"; ""; "\")  ' на всякий случай (если имя было задано в ручную и при этом не верно - без слэша)          .Names(sPath_in_Names).Value = sDirPath   ' запомнить путь сохранения копий в коллекции .Names под именем sPath_in_Names          sFullFilePath = sDirPath & FileName   ' полный путь сохранения вместе с полным именем копии REPEAT_:          FileName = Application.GetSaveAsFilename(InitialFileName:=sFullFilePath; _                      FileFilter:="Excel Files (*" & sExp & "), *" & sExp & ", All Files (*.*),*.*"; _                      Title:="Сохранение копии файла")   'задать путь сохранения и имя копии файла в окне выбора          If VarТype(FileName) = vbBoolean Then Exit Sub   ' если нажали "Отмена"; то FileName = False; если "Сохранить" - полный путь к файлу вместе с его именем          If FileName = .FullName Then MsgBox "Здесь нельзя сохранить файл под таким именем!"; 16; "Ошибка": GoTo REPEAT_          sDirPath = Left(FileName; InStrRev(FileName; "\"))   ' путь к папке сохранения копий без имени файла          .Names(sPath_in_Names).Value = sDirPath   ' запомнить выбранный в диалоге путь в коллекции .Names под именем sPath_in_Names          bReadOnlyRecommended = .ReadOnlyRecommended   ' запомнить параметры исходного файла          .ReadOnlyRecommended = --(MsgBox("Рекомендовать открывать файл только для чтения?"; 36) - 7)   ' MsgBox Argument 4==vbYesNo 32==vbQuestion; MsgBox Return Values: vbYes=6; vbNo=7          .SaveCopyAs FileName          .ReadOnlyRecommended = bReadOnlyRecommended   ' восстановить параметры исходного файла      End With End Sub
[/vba]

Автор - Serge_007
Дата добавления - 10.02.2012 в 13:57
Alex_ST Дата: Пятница, 10.02.2012, 14:54 | Сообщение № 169
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3219
Репутация: 622 ±
Замечаний: 0% ±

2003
Цитата (Serge_007 писал(а)):
Закомментил

Ну, вы, блин, ващще!
Всё поломали cry



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
Цитата (Serge_007 писал(а)):
Закомментил

Ну, вы, блин, ващще!
Всё поломали cry

Автор - Alex_ST
Дата добавления - 10.02.2012 в 14:54
RAN Дата: Пятница, 10.02.2012, 19:28 | Сообщение № 170
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Цитата (Alex_ST писал(а)):
Ну, вы, блин, ващще!
Всё поломали Alex_ST

А что, отличия появились?


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Цитата (Alex_ST писал(а)):
Ну, вы, блин, ващще!
Всё поломали Alex_ST

А что, отличия появились?

Автор - RAN
Дата добавления - 10.02.2012 в 19:28
Alex_ST Дата: Пятница, 10.02.2012, 21:24 | Сообщение № 171
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3219
Репутация: 622 ±
Замечаний: 0% ±

2003
Цитата (RAN писал(а)):
А что, отличия появились?

А что, это только у меня на Мозилле и на работе и дома это так выглядит?
К сообщению приложен файл: 4768063.jpg (28.3 Kb)



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
Цитата (RAN писал(а)):
А что, отличия появились?

А что, это только у меня на Мозилле и на работе и дома это так выглядит?

Автор - Alex_ST
Дата добавления - 10.02.2012 в 21:24
Serge_007 Дата: Пятница, 10.02.2012, 22:12 | Сообщение № 172
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
У меня дома так же


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеУ меня дома так же

Автор - Serge_007
Дата добавления - 10.02.2012 в 22:12
Hugo Дата: Пятница, 10.02.2012, 23:05 | Сообщение № 173
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3854
Репутация: 814 ±
Замечаний: 0% ±

365
У меня и на работе на Эксплорере и дома на хроме код ничем от простого текста не отличается. Точно поломали - ведь раньше очень хорошо было - на сереньком фоне...

вот где текст, а где код?



webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеУ меня и на работе на Эксплорере и дома на хроме код ничем от простого текста не отличается. Точно поломали - ведь раньше очень хорошо было - на сереньком фоне...
[vba]
вот где текст, а где код?
[/vba]

Автор - Hugo
Дата добавления - 10.02.2012 в 23:05
Serge_007 Дата: Пятница, 10.02.2012, 23:14 | Сообщение № 174
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (Hugo писал(а)):
раньше очень хорошо было - на сереньком фоне

Это и сейчас можно сделать если в теги [cоde][/cоde] макрос заключать, а не в [vbа][cоde][/cоde][/vbа]


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата (Hugo писал(а)):
раньше очень хорошо было - на сереньком фоне

Это и сейчас можно сделать если в теги [cоde][/cоde] макрос заключать, а не в [vbа][cоde][/cоde][/vbа]

Автор - Serge_007
Дата добавления - 10.02.2012 в 23:14
nerv Дата: Пятница, 10.02.2012, 23:15 | Сообщение № 175
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±



Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba
 
Ответить
Сообщениекачай, заменяй)

http://nepiu.narod.ru/links/vba/style_vbastyle.zip

Автор - nerv
Дата добавления - 10.02.2012 в 23:15
Serge_007 Дата: Пятница, 10.02.2012, 23:18 | Сообщение № 176
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Заменил


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеЗаменил

Автор - Serge_007
Дата добавления - 10.02.2012 в 23:18
RAN Дата: Суббота, 11.02.2012, 14:29 | Сообщение № 177
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
А у меня всегда так выглядело.
К сообщению приложен файл: 2112565.jpg (37.0 Kb)


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеА у меня всегда так выглядело.

Автор - RAN
Дата добавления - 11.02.2012 в 14:29
nerv Дата: Понедельник, 13.02.2012, 14:57 | Сообщение № 178
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±

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


Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba
 
Ответить
СообщениеМы тут с Серегой совместными усилиями вроде как заставили скрипт работать чуть быстрее + немного умнее (в рамках возможного) стал парсить.

Автор - nerv
Дата добавления - 13.02.2012 в 14:57
Serge_007 Дата: Понедельник, 13.02.2012, 15:05 | Сообщение № 179
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (nerv писал(а)):
Мы тут с Серегой...
Не скромничай smile
Усилиями Александра, на нашем форуме появилась возможность красиво и читабельно оформлять коды VBA.
Спасибо тебе!


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата (nerv писал(а)):
Мы тут с Серегой...
Не скромничай smile
Усилиями Александра, на нашем форуме появилась возможность красиво и читабельно оформлять коды VBA.
Спасибо тебе!

Автор - Serge_007
Дата добавления - 13.02.2012 в 15:05
Alex_ST Дата: Понедельник, 13.02.2012, 17:19 | Сообщение № 180
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3219
Репутация: 622 ±
Замечаний: 0% ±

2003
Мне нравится. Спасибо, мужики!
Поюзаем, посмотрим.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеМне нравится. Спасибо, мужики!
Поюзаем, посмотрим.

Автор - Alex_ST
Дата добавления - 13.02.2012 в 17:19
Поиск:

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