Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Ошибка при удалении модулей в Excel / 4 сообщений из 4, страница 1 из 1
01.12.2011, 18:42
    #37554788
Odinokiy_medved
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при удалении модулей в Excel
Доброго времени суток. Выгружаю отчеты с Publishera. ДЛя удаления лишних модулей использую функцию

Public Function fclear() As Boolean
Dim oVBComponent As Object, lCountLines As Long
Dim objVBProject As Object, objVBComponent As Object, objWindow As Object
Application.DisplayAlerts = False

Set objVBProject = ActiveWorkbook.VBProject

For Each oVBComponent In ActiveWorkbook.VBProject.VBComponents
On Error Resume Next
With oVBComponent
Select Case .Type
Case 1 'Iiaoee
.Collection.Remove oVBComponent
Case 2 'Iiaoee Eeanna
.Collection.Remove oVBComponent
Case 3 'Oi?iu
.Collection.Remove oVBComponent
End Select
End With
Next
For Each oVBComponent In ActiveWorkbook.VBProject.VBComponents
On Error Resume Next
With oVBComponent
Select Case .Type

Case 100 'YoaEieaa, Eenou
lCountLines = .CodeModule.CountOfLines
.CodeModule.DeleteLines 1, lCountLines
End Select
End With
Next


Set oVBComponent = Nothing

Set objVBProject = Nothing: Set objVBComponent = Nothing: Set objWindow = Nothing

ActiveWorkbook.Save
Application.Quit
End Function


при запуске выдается ошибка Expected End Function. Подскажите из-за чего это может быть
...
Рейтинг: 0 / 0
01.12.2011, 18:52
    #37554804
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при удалении модулей в Excel
Для начала надо выделять исходники:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
Public Function fclear() As Boolean
Dim oVBComponent As Object, lCountLines As Long
Dim objVBProject As Object, objVBComponent As Object, objWindow As Object
Application.DisplayAlerts = False

Set objVBProject = ActiveWorkbook.VBProject

For Each oVBComponent In ActiveWorkbook.VBProject.VBComponents
 On Error Resume Next
 With oVBComponent
 Select Case .Type
 Case  1  'Iiaoee
 .Collection.Remove oVBComponent
 Case  2  'Iiaoee Eeanna
 .Collection.Remove oVBComponent
 Case  3  'Oi?iu
 .Collection.Remove oVBComponent
 End Select
 End With
Next
For Each oVBComponent In ActiveWorkbook.VBProject.VBComponents
 On Error Resume Next
 With oVBComponent
 Select Case .Type

 Case  100  'YoaEieaa, Eenou
 lCountLines = .CodeModule.CountOfLines
 .CodeModule.DeleteLines  1 , lCountLines
 End Select
 End With
Next


 Set oVBComponent = Nothing

 Set objVBProject = Nothing: Set objVBComponent = Nothing: Set objWindow = Nothing

 ActiveWorkbook.Save
 Application.Quit
End Function
...
Рейтинг: 0 / 0
01.12.2011, 18:55
    #37554809
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при удалении модулей в Excel
С этим кодом все в порядке. Где-то в другом месте функция не закрыта.
...
Рейтинг: 0 / 0
01.12.2011, 19:05
    #37554825
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при удалении модулей в Excel
А он сам себя часом не удаляет? может быть из-за этого
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Ошибка при удалении модулей в Excel / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]