Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 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
    ;Dim oXL As Excel.Application
    
    ' проверка наличия макроса в нужном месте
    If bFileExists("c:\test.bas";) <> True Then
        Exit Sub
    End If
    
    Set oXL = ActiveWindow.Application
    ;Dim 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
Sub обновить_макрос()


Не имей такой привычки - давать функциям названия в кририллице.

Dim awi Dim awcl As Integer


Что это за ужас?

Ответить

Номер ответа: 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. Он блокировал макросы.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам