Страница: 1 |
Страница: 1 |
Вопрос: непонятная работа макроса на отдельном ПК
Добавлено: 13.08.07 06:18
Автор вопроса: evgenis | ICQ: 109313608
Мое почтение
есть xls-файл с макросом, на всех ПК работает, а на одной машине доходит до определенного места и дальше просто не выполняет инструкции. Сообщегия о ошибке не появляется. Переустановил офис, первый раз макрос срабатывает как надо, а потом опять по прежнему. У кого нить похожая ситуация была?
Ответы
Всего ответов: 10
Номер ответа: 1
Автор ответа:
bi-lya
Вопросов: 1
Ответов: 125
Профиль | | #1
Добавлено: 13.08.07 06:53
Какого-нибудь On Error Resume Next или чего-то подобного в коде нет?
Номер ответа: 2
Автор ответа:
evgenis
ICQ: 109313608
Вопросов: 3
Ответов: 7
Профиль | | #2
Добавлено: 13.08.07 08:11
есть, но и без него ничего невыдает
Номер ответа: 3
Автор ответа:
bi-lya
Вопросов: 1
Ответов: 125
Профиль | | #3
Добавлено: 13.08.07 08:56
Пошагово это дело просматривали (с отключенной On Error), откуда что не выдает?
Номер ответа: 4
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #4
Добавлено: 13.08.07 09:41
Посмотри региональные настройки. Такое бывает,когда "." <> ","
Номер ответа: 5
Автор ответа:
evgenis
ICQ: 109313608
Вопросов: 3
Ответов: 7
Профиль | | #5
Добавлено: 13.08.07 11:12
все одинаково
Номер ответа: 6
Автор ответа:
el-paso
Вопросов: 0
Ответов: 56
Профиль | | #6
Добавлено: 13.08.07 14:58
Ну, мы этта.. Не ясновидящие же.
Кинь код макроса, что ли
Номер ответа: 7
Автор ответа:
evgenis
ICQ: 109313608
Вопросов: 3
Ответов: 7
Профиль | | #7
Добавлено: 14.08.07 08:07
вот код:
Sub обновить_макрос()
Application.ScreenUpdating = False
 im oXL As Excel.Application
' проверка наличия макроса в нужном месте
If bFileExists("c:\test.bas" <> True Then
Exit Sub
End If
Set oXL = ActiveWindow.Application
 im awi Dim awcl As Integer
' проверка существующего макроса
For i = 1 To oXL.VBE.ActiveVBProject.VBComponents.Count
If oXL.VBE.ActiveVBProject.VBComponents.Item(i).Name = "test" And _
oXL.VBE.ActiveVBProject.VBComponents.Item(i).Type = 1 Then
Set awi = oXL.VBE.ActiveVBProject.VBComponents.Item(i)
' переименовываем старый макрос
awi.Name = "test1"
End If
Next i
' загрузка нового макроса
oXL.VBE.ActiveVBProject.VBComponents.Import "c:\test.bas"
' удаляем старый макрос
oXL.VBE.ActiveVBProject.VBComponents.Remove (awi)
Application.ScreenUpdating = True
End Sub
переименовывает макрос и все. на остальных машинах добавляет и удаляет.
в чем может быть проблема?
Номер ответа: 8
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #8
Добавлено: 14.08.07 10:41
Не имей такой привычки - давать функциям названия в кририллице.
Что это за ужас?
Номер ответа: 9
Автор ответа:
evgenis
ICQ: 109313608
Вопросов: 3
Ответов: 7
Профиль | | #9
Добавлено: 14.08.07 10:48
называю так потому что бабушкам так понятнее
Dim awi
Dim awcl As Integer
Номер ответа: 10
Автор ответа:
evgenis
ICQ: 109313608
Вопросов: 3
Ответов: 7
Профиль | | #10
Добавлено: 14.08.07 12:28
Вопрос снят. Дело было в KAV. Он блокировал макросы.