Страницы: 1
RSS
Нужна помощь корифеев Excel
 
Всем, добрый вечер.  
Корифеи Excel, нужна ваша помощь.    
Сегодня столкнулся с проблемой, которая отняла целый рабочий день и решена была по наитию, после того как перебрал весь мой возможный арсенал. Решена грубо – отключен «Касперский».  
Прилагаемый, созданный нами, файл лежит в свободном доступе в Inete и предназначен для решения  специфических задач геодезии.    
Внутреннее решение задачи вполне корректно,  но проблема заключается в том, что те пользователи, которые скачали этот файл, и у кого установлен  «Касперский - 6» с «плохими» настройками, не могут создать lisp файл по кнопке. Причины не объясняются, более того умалчиваются. Просто тишина.  
Вопрос в том – можно ли обойти «Касперского», или решить задачу другим путем?  
С уважением, Александр.
 
P.S.  Возможно, и вполне вероятно, что задача не «в тему», тогда пойду искать решение по другим форумам. Сам я не справлюсь.  
С уважением, Александр.
 
P.P.S. Для пояснения. Задача состоит в том чтобы из этого файла Excel, лист "lisp", загрузить в блокнот и присвоить созданному файлу расширение ".lsp".  
С уважением, Александр.
 
у меня нет 6-го Касперского, у меня 7-й и на нём сохраняется всё нормально. Попробуйте создать новую книгу, скопировать туда весь лист Lisp и сохранить как txt файл, а потом переименовать файл с расширением *.lsp.  
 
Чтобы вашк макрос работал быстрее, подскажу вам, как можно искать последнюю строку в столбце А. Сейчас вы это делаете перебором, а можно одной строкой, вот так  
 
Sub Макрос1()  
Dim iLastRow As Long  
   iLastRow = Cells(Rows.Count, 1).End(xlUp).Row  
   MsgBox "Последний заполненный ряд в столбце А " & iLastRow  
End Sub
 
"плохие" настройки это как?    
и кто умалчивает?
 
{quote}{login=Sh_Alex}{date=24.01.2008 08:41}{thema=Нужна помощь корифеев Excel}{post}Всем, добрый вечер.  
Корифеи Excel, нужна ваша помощь.    
Сегодня столкнулся с проблемой, которая отняла целый рабочий день и решена была по наитию, после того как перебрал весь мой возможный арсенал. Решена грубо – отключен «Касперский».  
Прилагаемый, созданный нами, файл лежит в свободном доступе в Inete и предназначен для решения  специфических задач геодезии.    
Внутреннее решение задачи вполне корректно,  но проблема заключается в том, что те пользователи, которые скачали этот файл, и у кого установлен  «Касперский - 6» с «плохими» настройками, не могут создать lisp файл по кнопке. Причины не объясняются, более того умалчиваются. Просто тишина.  
Вопрос в том – можно ли обойти «Касперского», или решить задачу другим путем?  
С уважением, Александр.{/post}{/quote}  
 
---  
Добрый вечер, Александр.  
 
К корифеям не примазывааюсь, Касперским не пользуюсь но проблема мне знакома по DrWeb-у.  
 
Такое иногда случается  по причине случайного совпадения сигнатуры антивируса (бинарный фрагмент, по которому отлавливается какой-нибудь вирус) с текстом VBA-кода. Причем совпадения именно с исходным текстом, а не с его компилированным кодом.  Этим и нужно воспользоваться для того, чтобы избавиться от проблемы ложного срабатывания антивируса: достаточно просто переписать подозреваемый фрагмент VBA-кода, например, записать две соседних строки в одну, воспользовавшись для объединения символом двоеточия, или переименовать переменные, или добавить где-то пробелы, или с другим синтаксисом, например, вместо Range(“A1”).Value можно написать [A1].Value или просто [A1] и т.п. Иногда помогает, если подозрительный фрагмент оформить в виде отдельной функции или процедуры
 
Сначала, конечно, нужно найти фрагмент, на который среагировал антивирус. Для этого нужно закомментировать все строки процедуры - у Вас это строки кода внутри процедуры CommandButton1_Click() . Затем нужно понемногу раскомментировать код, следя за тем, чтобы код оставался корректным (не вызывал ошибки), и запускать процедуру до тех пор, пока не ругнется антивирус. Обычно  вместо запуска достаточно попытаться сохранить файл. Как правило, после того, как антивирус сработает, Excel подвисает, и его, как задачу, приходится снимать, т.е. нужно заранее запомнить, до какого места дошел процесс раскомментирования.  
 
Скорее всего, антивирус в Вашем случае среагировал на 5-ю строку: «Kill (thisfile)».  
Попробуйте убрать скобки, переименовать переменную thisfile в другую, без фрагмента «file» или записать это фрагмент в отдельную функцию.  
 
А вообще-то «Kill (thisfile)» - это лишняя строка в Вашем коде, поэтому просто удалите ее. При выбранном Вами способе открытия файла он автоматически очищается.  
 
Надеюсь, что эти шаманские советы помогут Вам,  
---  
ZVI
 
{quote}{login=Sh_Alex}{date=24.01.2008 08:41}{thema=Нужна помощь корифеев Excel}{post}Всем, добрый вечер.  
Корифеи Excel, нужна ваша помощь.    
Сегодня столкнулся с проблемой, которая отняла целый рабочий день и решена была по наитию, после того как перебрал весь мой возможный арсенал. Решена грубо – отключен «Касперский».  
Прилагаемый, созданный нами, файл лежит в свободном доступе в Inete и предназначен для решения  специфических задач геодезии.    
Внутреннее решение задачи вполне корректно,  но проблема заключается в том, что те пользователи, которые скачали этот файл, и у кого установлен  «Касперский - 6» с «плохими» настройками, не могут создать lisp файл по кнопке. Причины не объясняются, более того умалчиваются. Просто тишина.  
Вопрос в том – можно ли обойти «Касперского», или решить задачу другим путем?  
С уважением, Александр.{/post}{/quote}  
 
подозреваю, что это связано с проактивной защитой касперского, которая может контролировать макросы..  
там могут быть запрещены потенциально опасные операции, такие как: вставка строк кода в проект, запись в файл и т.п.  
предлагаю записывать данные на лист иксель, потом сохранять обычными средствами: сохранить как - text
Страницы: 1
Читают тему
Наверх