Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как после окончания работы макросов из сохраненного файла его откорректировать? / 7 сообщений из 7, страница 1 из 1
10.10.2013, 09:01
    #38422343
Как после окончания работы макросов из сохраненного файла его откорректировать?
Для формирования отчетов сделал файл в экселе с макросами. Макросы отрабатывают, файлы сохраняются с нужным именем.
Сейчас нужно иметь возможность эти файлы в процессе формирования отчетов корректировать: макросы удалять и служебные листы. Т.е. сохранять только листы отчетов в книге и все.
Как это можно сделать, ничего пока в голову не идет. Какие есть вар-ты решения?
Excel 2003.
...
Рейтинг: 0 / 0
10.10.2013, 11:26
    #38422626
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как после окончания работы макросов из сохраненного файла его откорректировать?
Вариант, кажется один: поручить этому же макросу удалять ненужное.
...
Рейтинг: 0 / 0
10.10.2013, 11:38
    #38422653
гр. к
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как после окончания работы макросов из сохраненного файла его откорректировать?
The_PristВариант, кажется один: поручить этому же макросу удалять ненужное.
Я просто сообразить не могу, как макрос заставить самого себя удалить.
...
Рейтинг: 0 / 0
10.10.2013, 12:34
    #38422762
_wIWIw_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как после окончания работы макросов из сохраненного файла его откорректировать?
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Sub Удалить_код()
For Each iVBComponent In ThisWorkbook.VBProject.VBComponents
With iVBComponent
Select Case .Type
Case 1 To 3: .Collection.Remove iVBComponent
Case 100: .CodeModule.DeleteLines 1, .CodeModule.CountOfLines
End Select
End With
Next
End Sub
...
Рейтинг: 0 / 0
10.10.2013, 14:30
    #38422977
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как после окончания работы макросов из сохраненного файла его откорректировать?
...
Рейтинг: 0 / 0
10.10.2013, 15:49
    #38423145
гр. к
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как после окончания работы макросов из сохраненного файла его откорректировать?
Спасибо, получилось. Долго сообразить не мог, как из книги макросы удалить, а потом запустить.
Никто из гуру случаем не в курсе,
из VBA можно с SQL Management Objects (SMO) работать?
Ничего не нагуглил, и в референсах в Экселе я библиотеки с похожим названием не вижу.
...
Рейтинг: 0 / 0
11.10.2013, 11:46
    #38424178
Как после окончания работы макросов из сохраненного файла его откорректировать?
гр. кСпасибо, получилось...
гр. кСпасибо, получилось...
Вчера работало, сегодня я еще какого-то кода настрочил, в итоге листы удаляются, но только 1 модуль из 5 в книге удаляется всего.
Мб кто-то незамыленным взгядом глянет, где может косяк скрываться?

Код: vbnet
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.
Sub CorrReportFile(Filename As String)
Dim strFileName As String, wb, ws
Dim fileSaveName
Dim objVBC
strFileName = "Принципал_" & Replace(Filename, """", "")
strFileName = ThisWorkbook.Path & "\" & strFileName & ".xls"
Set wb = Workbooks.Open(strFileName)
With wb
'этих листов быть не должно
'for each ws in
.Worksheets("list").Delete
.Worksheets(strParamsSheetName).Delete
End With
'все вбпрожект-фишки удаляю
For Each objVBC In wb.VBProject.VBComponents
    If objVBC.Type >= 1 And objVBC.Type <= 3 Then
        objVBC.Collection.Remove objVBC
    ElseIf objVBC.Type = 100 Then
        objVBC.CodeModule.DeleteLines 1, objVBC.CodeModule.CountOfLines
    End If
Next
wb.Save
wb.Close
Set wb = Nothing
End Sub
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как после окончания работы макросов из сохраненного файла его откорректировать? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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