согласен — завтра перенесу в новую тему и почищу тут
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
БМВ, может, переименуешь тему для обобщения? Как получить ответ командной строки (Cmd) в VBA А уж в ячейку или на лоб — дело десятое.
UPD: кажется, я понял, почему у меня не получалось заменять файлы через 7z. Разбираюсь, отпишусь. UPD2: Не. Всё не то. Зато я понял, что внутри архива пути начинаются с имён папок (или сразу имён файлов) и это имеет значение при удалении. То есть, чтобы удалить файлы test.txtвезде мне нужен ключ -r (рекурсивный поиск), только в корне архива — без этого ключа и та же маска test.txt. Если же нужно удалить это файл только в конкретной папке, то путь загоняем в маску: fold1\fold2\test.txt Чтобы удалить все файлы (вместе с папкой, к сожалению или счастью) из папки, маску делаем: fold1\fold2\* Вариант fold1\fold2\*.xml также удалит и саму папку fold2, если в ней только xml-файлы. Может, это только с архивом из книги так — устал уже варианты перебирать И так далее…
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
уверен, что проблема не в этом. Архив из книги сам по себе имеет некоторые ограничения, из-за чего я не могу для всех действий использовать 7z. В частности, не получается заменить файл нигде, кроме корня архива, а, если его поместить в архив и потом переименовать/перенести на нужное место, то там создаётся 2я папка-ссылка на основную (с тем же названием) и книга после таких манипуляций требует восстановления при открытии. Также, я не могу использовать Shell32 для всех операций, т.к. удаление и замена вызывают окно подтверждения, которое не убрать опциями. Сейчас я использую 7z для распаковки нужных мне файлов и удаления их их архива. Для переноса/копирования этих файлов обратно на место я использую Shell32. Оптимизма добавили API (они могут очень многое и очень быстро), но пока ничего не вышло.
У Delphi и других языков куда ни плюнь есть библа для работы, а на VBA практически ВСЁ нужно писать самому
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
БМВ: может пути указал не верно у меня все срабатывает, естесвенно на моих файлах
попробуй не обычный архив, а из книги.
Игорь, ну, а вот мне нужно узнать перечень путей из архива, чтобы убедиться, что имя файла (с расширением), который я собираюсь заменить уникально без учёта структуры папок. Распаковывать для этого весь архив я не вижу смысла. Спасибо за вариант — для кого-то он может быть полезен.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
БМВ, из многих, испробованных мной, вариаций, эта тоже была. К сожалению, только открывает cmd-окно по адресу 7z.exe
Цитата
Игорь: если нужно разархивировать и получить список файлов
спасибо, но не то. Список НЕАРХИВНЫХ файлов для меня получить не проблема. Распаковка всего архива в папку и сведение задачи к этому — вариант, конечно, но очень не хотелось бы. Дело в том, что архив, в моём случае — это "*.xlsx.zip", то есть книга Excel. Мало того, что полная распаковка займёт заметно больше времени, чем точечные правки, так ещё и велик риск, что после сбора папки обратно в архив это не будет корректной книгой. Кстати, 7z распаковывает заметно (около 2ух раз) быстрее, чем Shell32.NameSpace.
P.S.: Для получения полного списка всех файлов (и папок, если нужно) в архиве можно и Shell32.Namespace((sFolder)).Items рекурсивно погонять, но очень не хотелось бы…
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
БМВ, не заметил автора) подумал, что стак сканирует интернеты
БМВ, помоги, пожалуйста, получить ответ этой командной строки в VBA "C:\Program Files\7-Zip\7z.exe" l "c:\Test.xlsx.zip"
Это список файлов в архиве с путями. Через cmd выводит. Если добавить & " > d:\Answer.txt" — печатает, но только через cmd. Shell файл не создаёт никак. В общем, мне нужна эта строка ответа: или напрямую, или через создаваемый текстовый файл.
UPD: вот так тоже пробовал, но не получается. Сейчас изучаю различия в своём и твоём вариантах.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Снова ищу способы получения ответа командной строки. Без морганий. Быстро. Надёжно. Пока что самым нормальным кажется печать результата в txt с последующим считыванием, анализом и удалением.
API очень заманчиво, но пока не взлетает
Код
Option Base 1
Option Explicit
Option Private Module
'==================================================================================================
'#If VBA7 Then
Private Declare PtrSafe Function API_Cmd_GetAnswer Lib "kernel32" Alias "GetCommandLineW" () As Long
Private Declare PtrSafe Function API_Cmd_lstrlenW Lib "kernel32" Alias "lstrlenW" (ByVal lpString As Long) As Long
Private Declare PtrSafe Sub API_Cmd_CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (MyDest As Any, MySource As Any, ByVal MySize As Long)
'#Else
' Declare Function GetCommandLine Lib "kernel32" Alias "GetCommandLineW" () As Long
' Declare Function lstrlenW Lib "kernel32" (ByVal lpString As Long) As Long
' Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (MyDest As Any, MySource As Any, ByVal MySize As Long)
'#End If
'==================================================================================================
Function PRDX_Cmd_GetAnswer(sOut$) As Boolean
Dim Buffer() As Byte, StrLen&, CmdPtr&
CmdPtr = API_Cmd_GetAnswer()
If (CmdPtr <= 0) Then Exit Function
StrLen = API_Cmd_lstrlenW(CmdPtr) * 2
If (StrLen <= 0) Then Exit Function
ReDim Buffer(0 To (StrLen - 1)) As Byte
API_Cmd_CopyMemory Buffer(0), ByVal CmdPtr, StrLen
sOut = Buffer: PRDX_Cmd_GetAnswer = True
End Function
'--------------------------------------------------------------------------------------------------
Private Sub Test_PRDX_Cmd_GetAnswer()
Dim s$, s7$, sZ$
s7 = """" & vc_Str_Path_EXE_7z & """"
sZ = """...Downloads\Transh Subs.xlsx.zip"""
s = s7 & " l " & sZ
Shell s, vbHide
Debug.Print PRDX_Cmd_GetAnswer(s), s
End Sub
'==================================================================================================
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
andypetr, со 2ым вариантом соглашусь (сначала брал x(1), пока не уточнил ТЗ), то для 1го делать ненужную сцепку только ради краткости никогда бы не стал … Скорость мне важнее
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Senaki, вообще непонятно, что вы имеете в виду. Приведите пример.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
"4ч. 5мин. 22сек." <> "4.5" (часа). 4.5 часа это "4ч. 30мин." ровно. "44мин." <> 0.44 (часа). "44мин." = 44/60 часа А то у вас "4ч. 6мин" (4,6) > "4ч. 50мин." (4,5). Думайте над алгоритмом дальше.
Цитата
VasNF: Смотрел похожие вопросы на форуме, не получилось подставить те формулы.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
вариант, конечно, но не очень логично НЕ использовать найденную позицию. Либо использовать её, либо сразу сплитовать и проверять массив, как мне кажется.
2 варианта
Код
' Faster
Function GetFragment(s$) As String
Dim i&
i = InStr(s, "/")
If (i = 0) Then GetFragment = s Else GetFragment = Left$(s, i - 1)
End Function
'==================================================================================================
' Slowler
Function GetFragment2(s$) As String
Dim x
x = Split(s, "/")
If (UBound(x) = 0) Then GetFragment2 = s Else GetFragment2 = x(0)
End Function
Нужный (строковый) тип функции тоже лучше объявлять.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Sergeyproooppyy, не стоит спамить в чужих темах. Вместо повышения шанса помощи можете получить прямо противоположный результат.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
не надо на меня валить. Я хоть и действительно задавался вопросом "что не так с названием" (ответа не получил, но, в принципе, понял), но не позволял себе дерзить типа
Цитата
Счастливчик: я вижу лишь стучание ногами и махание фразой: "Мы действуем в соответствии с правилами форума".
Модераторы вообще не обязаны ни перед кем отчитываться и вообще вступать в дискуссию. Более того, в Правилах есть пункт 3.10 — по нему запросто можно бан получить.
я тоже уже больше склоняюсь к этому. Тем более, что, как я выше писал, Правила НЕ ОБЯЗЫВАЮТ к этому.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
у меня не задаёт. Может, настройки, а, может, версия. Рассчитывать на это я бы не стал. В любом случае, ТСу по барабану, судя по всему.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Uupss_88: Оптимизация макроса в VBA, Готовый макрос не выполняет до конца задачу
если "не выполняет до конца задачу", то это доработка. Оптимизация — это сделать оптимальнее, то есть быстрее и/или структурно более правильнее. Из названия (или хотя бы описания) темы должно быть понятно, в чём проблема. У вас — не понятно.
Цитата
Uupss_88: первую пару листов он отрабатывает как положено по времени установленому, а вот вторую пару листов игнорит,
вот тут непонятно, а код разбирать [пока] желания нет.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
БМВ, я ни разу не сталкивался с неполадками в этой части. А ты?
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Алексей, здравствуйте На 1ом листе значения сохранены, как текст (при отсутствии принудительного выравнивания числа выравниваются справа). Можно в соседней колонке написать формулу = -- СсылкаНаЯчеку и протянуть. Затем скопировать и вставить эти значения ЗНАЧЕНИЯМИ.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
а как это связано? За пересчёт же отвечает Calculate.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
ESavin: Я делаю это в онлайн-таблице и там такого функционала нет
не Google Sheets, часом?
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
зачем? Я не использую в таких случаях. Вообще DoEvents я использую только в циклах, которые могут зависнуть (чтобы иметь возможность аварийно отменить выполнение кода) или для отображения Application.StatusBar (вместе с Application.ScreenUpdating = True)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Рассчитать для каждого сотрудника Cтаж работы и Возраст на 31 декабря 2012г, Как рассчитать для каждого сотрудника стаж работа и возраст на 31 декабря 2012 года, используя исключительно формулы "долгягода", "округл"
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
снести проще, потому что "дать шанс" — это модеру нужно следить за темой. Это гемор. Если таких тем "на паузе" много, то большой гемор.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Название вашей темы не соответствует Правилам форума о названии тем. Название темы должно отражать возникшую проблему и (если это не имеет прямого отношения к проблеме) не содержать в себе наименований функций, объектов, методов и прочих инструментов Excel. Пример плохого названия: ВПР. Пример хорошего названия: "Почему ВПР не находит значения" или "Почему ВПР возвращает ошибку". И не забывайте о файле-примере — это существенно повышает шансы на получение и качество помощи.
И пихать его в каждую тему под снос из-за названия. И тогда можно сносить, наверное
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Senaki, подразумеваю, что вы имеете в виду кодом VBA, поскольку, если ручками такое не удаётся, то вы точно ошиблись форумом Запуск скрипта можно осуществить через батник, например. Опишите подробнее последовательность необходимых операций.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Sanja: Нам, что, каждый раз разводит референдум по вопросу закрытия/открытия той или иной темы?
у нас авторитарный режим, насколько я понял
Цитата
Sanja: Приведите Ваши критерии достойности/недостойности закрытия темы со спорным названием?
правильный подход, но для этого нужно определиться, какие критерии "спорности" названия темы
Цитата
Sanja: Почему закрытие одной темы, с нарушением Правил, у Вас не вызывает такого всплеска эмоций, а другой (тоже с нарушением) - вызывает?
очевидно, что нарушение правил может быть сильно разным: насильник детей и бабушка, укравшая хлебушек — оба преступники ведь. Одна категория, если до неё обобщить. Я не помню, какие темы были закрыты там и не нашёл ссылок, потому не могу ответить. Я на будущее учту этот момент — действительно, как-то непоследовательно получается. Спасибо
Я в этой теме хотел просто понять, КАКОЕ должно было быть название и при чём тут вообще "нужно знать ЧТО она считает". Последнее для меня, как красная тряпка, это правда. Михаил (и не только) неоднократно в моих темах вместо того, чтобы давать варианты, всё пытался докопаться до "сути" и какой-то реальной задачи, хотя (лично у меня) конкретной задачи на момент исследования может и не быть — интересны сами алгоритмы. Ну это отступление, чтобы выделить, что у меня есть пунктик на этот счёт. Если "Формула с условиями" МОЖЕТ существовать как "Сократить формулу с многократно повторяющейся частью условий" (а она существует), то зачем ваше условие "нужно знать ЧТО она считает"??? Мы по-прежнему не знаем, и, как я и говорил, это никак не помешало решить проблему человека разными способами. Если существующее название "не очень", то какое будет "в самый раз"?
Теперь к критериям. Вопрос сложный и тут не обойтись без человеческого фактора. Если попытаться снизить влияние этого фактора, то я бы считал, что тема имеет приемлемое название, если из ЧАСТЕЙ темы (название темы, описание темы, описание в 1ом посте) можно СОСТАВИТЬ это приемлемое название. Поиск найдёт везде — я проверил. А то, что пользователю самому будет сложно ориентироваться, так он сам виноват. Может попросить сменить название темы. Хотя, из своего опыта могу сказать, что далеко не всегда модераторы будут это делать. Лично для меня самые отвратительные темы — помогите решить тест. Я бы после пары предупреждений просто банил таких пользователей. Остальные темы не так задевают уже. Основной регулятор площадки — это не модераторы, а помогающие. Если в теме нет ответов от них, то её и удалять не надо — ТС (если не дурак) должен понять, что что-то не так и спросить. Но у нас "добрый" форум — не то, что помогут, а сделают всё за пользователя. Я против этого, но это моё личное мнение. Получается абсурдная ситуация: если модератор не видит сути проблемы в названии темы (хотя он есть в её описании или 1ом посте), то он может удалить тему. Хотя, если бы он её не удалил, то и ТС получил бы решение (а возможно и модераторы получили бы новое название от помогающих), и по поиску бы эта тема нашлась также (потому что поиску плевать на то, в какой "части" находится суть). В итоге, все просто тратят больше времени на то, чтобы решить то, что уже было решено не раз и просто не находится по поиску
Проблема в том, что никто не хочет уточнять правила, которые максимально размыты (хотя есть примеры явного жесткача с "помогите/срочно"). И в том, что, при создании темы есть 2 строки, одинаковые на вид, но абсолютно разные по смыслу (название темы и описание темы). Более того, внутри темы описание следует сразу после названия через запятую, ничем не выделяясь и сливаясь в одну строку-название.
Я про то, что, если правила размыты, то вы не обязаны "жестить", как и не обязаны "всепрощать". Если спросить Николая, то ему, скорее всего, не до этого. Конкретно в описанной теме из шапки несколько важных деталей, почему я против её удаления: • пользователь с нами давно и проблем с ней не было • из описания предельно ясно (и сказано явно словами "По этим условиям, написать формулу. Не такую громоздкую.") СУТЬ вопроса. • приложен файл-пример
Если не понравилось название, то гораздо проще его поменять самому, чем потратить НЕ МЕНЬШЕ времени на допросы пользователей. Если из 3ёх частей темы СУТЬ вопроса не ясна (неважно есть она в файле или нет) — можно закрыть с указанием, чего не хватает. Можно считать критерием ЭТО.
Цитата
БМВ: Ответ - потомушто Потамушто когда не следим - то порядка нет, когда следим - порядок не устраивает.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
это отдельный вопрос — закрывать тему вместо того, чтобы из 2ух частей (название и описание) сделать одно подходящее название. Пока недостатка в пользователях нет — можно закрывать темы пачками. Я об этом ранее писал и сравнивал с Кибером, который часто как авторешалку используют.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
ZVI: Назвать бы только тему так: "Как сократить формулу с многократно повторяющейся частью условий?"
в том-то и дело, что, если бы название темы было очевидно, то его бы давно предложили. А тут даже местным ещё нужно крепко подумать, чтобы какое-то "нормальное" название придумать. Это означает, что вряд ли эту тему кто-то вообще найдёт (да и искать будет). В очередной раз напоминаю, что гораздо проще создать новую тему (что абсолютное большинство и делает) и получить решение, чем тратить время и силы на долгие и, возможно, безрезультатные поиски. По сути, каждый вопрос по-своему уникален и вопрошающие просто не смогут провести аналогию с чем-то (даже очень) похожим. Им нужен ответ на ИХ вопрос. Создание тем-агрегаторов, обобщающих подходы — тоже не работает (Приёмы тому подтверждение). Ну, то есть, работают, конечно, но мы никогда не узнаем о том, скольким людям это помогло, потому что они не создадут тему и вряд ли вообще отпишутся (ошибка выжившего). Этой темой я, скорее, хотел понять, КАК должно было выглядеть название темы с учётом "Для того, что-бы помочь Вам с формулой, нужно знать ЧТО она считает.".
Цитата
ZVI: Назвать бы только тему так: "Как сократить формулу с многократно повторяющейся частью условий?"
Это название на условие Sanja вообще никак не отвечает + очень похоже на
Мой вариант
, который также абсолютно не удовлетворяет условию, но хотя бы заставляет "задуматься"
Цитата
БМВ: Алексей ранее был недоволен мной и котом, теперь и третьим модератором. Может не в модераторах уже дело?
а может стоит просто перестать самим себе противоречить + выдумывать правила, которых нет (привет "неписанным" правилам)? В этом случае, правило есть, но оно максимально размыто. Да и с признанием своей неправоты у модераторов постоянно наблюдаются огромные проблемы на уровне комплексов. Святые, наверное … Я не недоволен вами — просто пытаюсь разобраться, есть ли логика в аших решениях и какая она. Отвечать вы, конечно, не обязаны.
Правила
2.1. Название темы должно отражать смысл проблемы. Темы с названиями "Помогите", "Help", "Срочно", "Нужен макрос" - плохая идея. Модераторы имеют право переименовать, удалить или закрыть такие темы без предупреждения.
Допустим "Формула с условиями" не отражает смысл проблемы (удалять сразу совсем необязательно, т.к. помогающие могли предложить), но почему "Как сократить длинную формулу со множественными условиями" только заставляет "задуматься" и откуда родилось чисто ИгореМихаиловское условие "Для того, что-бы помочь Вам с формулой, нужно знать ЧТО она считает." — в данном случае АБСОЛЮТНО лишнее. Да, возможно, если знать все нюансы, то можно предложить вообще иной подход, но это же не значит, что, не зная этих нюансов, нельзя помочь человеку ТУПО сократить формулу, как она того хочет.
Итак, вопрос модераторам: Каким, по вашему, должно было быть идеальное название у темы из шапки?
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
futurama3000: Я выделяю не столбцы, а всю таблицу, и включаю автофильтр
интересный случай — действительно, нет последней строки в фильтре. Если добавить ещё значения ниже, то всё попадает. Если вставить значениями на новом листе, то тоже всё ОК. Мне причины неизвестны — я использую умные таблицы и там такой проблемы нет.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Sanja написал: Ключевое слово ЕЙ, а форум не только для нее
суть в том, что тут В ПРИНЦИПЕ НЕТ такого названия этой задачи, чтобы кому-то ещё помогло. Задача такая индивидуальная. Разве что, кто-то зайдёт и поймёт общие принципы упрощения условий или замены их на что-то другое. Вы забыли, что почти никто не ищет темы.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
БМВ: То есть 'формула с условиями' - отличное название. Алексей
Цитата
Jack Famous : Модератор отвечает: Для того, что-бы помочь Вам с формулой, нужно знать ЧТО она считает.
«Помогите сократить формулу для расчёта редиски» — так, получается, гораздо информативнее??? Теперь же понятно, ЧТО формула считает.
Цитата
Sanja: Конкретно Вам, Алексей, действительно было бы интересно сначала разобраться со старой формулой, а затем решить задачу другим способом? Только честно?
если человек просит сократить формулу, то я бы сократил, если могу. Если есть другие предложения, то уточнил бы, что нужно. До "сути" у нас медведь копает и Игорь Гончаренко.
Цитата
Sanja: Опишите ЗАДАЧУ, а не СПОСОБ, которым ее решаете
у человека ЗАДАЧА — сократить формулу. Зачем искать более глубокий смысл? … Ну это ладно, но зачем удалять, ведь ей бы точно помогли без ваших философских терзаний.
БМВ, Sanja, если бы тема называлась "Как сократить длинную формулу со множественными условиями" — тоже бы удалили?
Цитата
Sanja: А название темы именно для поиска нужно, а не потому что Вы симпатизируете или не симпатизируете kristina S ))
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄