Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.07.2011, 10:59   #1
shoa_izh
 
Регистрация: 14.07.2011
Сообщений: 7
По умолчанию Ошибка 400 при выполнении макроса

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

Программой стороннего разработчика открывается отчет в Excel, кнопка с макросом имеется, при нажатии выдает ошибку 400.

Руками открываю личную книгу макросов, все начинает работать.

Станность в том, что на одном компе все работает на другом нет. Разница в ОС, на ХР работает, на Win 7 не работает


Подскажите, пож-та, что и где может блокировать загрузку личной книге макросов??? Разработчики программы утверждают что ничего не блокируют, просто открывают эксель и туда открываю книгу сформированную ими

Последний раз редактировалось shoa_izh; 14.07.2011 в 11:01.
shoa_izh вне форума Ответить с цитированием
Старый 14.07.2011, 11:06   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Объснение конечно несколько туманное, но можно предположить, что если
Цитата:
на ХР работает, на Win 7 не работает
связано это с политикой безопасности Win7
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 14.07.2011, 12:40   #3
shoa_izh
 
Регистрация: 14.07.2011
Сообщений: 7
По умолчанию

Об этом я догадалась.

Хотелось бы еще знать что отключить.
shoa_izh вне форума Ответить с цитированием
Старый 14.07.2011, 13:36   #4
shoa_izh
 
Регистрация: 14.07.2011
Сообщений: 7
По умолчанию

если эксель просто открыть, то все макросы работают
shoa_izh вне форума Ответить с цитированием
Старый 14.07.2011, 13:44   #5
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
если эксель просто открыть, то все макросы работают
вот Вам и ответ
ищите причину в "сторонней программе"
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 14.07.2011, 19:22   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

1. Надо смотреть код макроса.
Вообще, в вашем случае достаточно макроса из одной строки кода.

2. Такое может быть, если присутствуют 2 макроса с одинаковым именем.
(один - ваш макрос, другой - из какой-либо надстройки или файла)
Ну или макрос ваш криво написан.
EducatedFool вне форума Ответить с цитированием
Старый 15.07.2011, 12:49   #7
shoa_izh
 
Регистрация: 14.07.2011
Сообщений: 7
По умолчанию

Sub Макрос1()

'
'в колонке A1 удалаяет хвостовые пробелы
'

kol_str1 = Range("a1").CurrentRegion.Rows.Coun t
For i = 1 To kol_str1
Cells(i, 1).Value = Trim(Cells(i, 1).Value)
Next
End Sub
shoa_izh вне форума Ответить с цитированием
Старый 15.07.2011, 13:13   #8
shoa_izh
 
Регистрация: 14.07.2011
Сообщений: 7
По умолчанию

частично разобралась, но не понимаю почему так происходит. Произошло следущее:
После того как сторонней программой открылся отчет в Excel (в этот момент личная книга макросов не загружена), нажимаю на кнопку с макросом
1. на компе на котором работает: подгружается личная книга макросов по пути C:\Documents and Settings\Name_user\Application Data\Microsoft\Excel\XLSTART -- оттуда где он создается по-умолчанию
2. на компе на котором не работает: личная книга макросов пытается подгрузиться по пути C:\Documents and Settings\Name_user\Мои документы (естественно личной там нет, поэтому макрос и не работает) -- этот путь прописан в Excel в Параметры->Сохранение->Расположение файлов по умолчанию .

Так вот, если путь Расположения файлов по умолчанию я меняю на ...\XLSTART, то все начинает работать. но это вроде как неправильно.

и еще Расположение файлов по умолчанию и на 1-м и на 2-м компе одинаково


Может чего в реестре на Win 7 (2-ой комп) не хватает

Последний раз редактировалось shoa_izh; 15.07.2011 в 13:18.
shoa_izh вне форума Ответить с цитированием
Старый 15.07.2011, 14:09   #9
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Такой макрос будет работать намного быстрее:
Код:
Sub Макрос1()
    Dim ra As Range: Set ra = Range([A1], Range("A" & Rows.Count).End(xlUp))
    ra.Value = Application.Trim(ra.Value)    'в колонке A1 удаляет хвостовые пробелы
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 15.07.2011, 14:23   #10
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
\XLSTART, то все начинает работать. но это вроде как неправильно.
Как раз это и правильно (настройки Excel по умолчанию)
и то, в разных версиях путь может меняться
Хотя, конечно, можно расположить личную книгу макросов где угодно
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при выполнении запроса dima_r SQL, базы данных 6 14.04.2011 17:47
Ошибка при выполнении 123cmp Помощь студентам 4 22.01.2011 23:45
Ошибка при выполнении макроса rlev Microsoft Office Excel 8 22.02.2010 12:41
При выполнении макроса, дергается таблица valerij Microsoft Office Excel 3 23.03.2008 00:38
Ошибка при выполнении запроса Elena БД в Delphi 2 25.05.2007 16:19