powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / как скрыть открывании окон (файлов) в макросе при копировании данных из них
9 сообщений из 9, страница 1 из 1
как скрыть открывании окон (файлов) в макросе при копировании данных из них
    #37728917
martinezo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, уважаемые форумчане, подскажите пожалуйста, как можно решить следующий вопрос, написан макрос, он на отдельный лист (отчет) вставляет ячейки путем открывания и закрывания файлов и копирования из них данных. То есть, если файлов 100 штук, то на компьютере пользователя поочереди открываются 100 окон и он видит постоянное моргание окон, можно ли как-то скрыть открывание окон скрыть от пользователя?

вот макрос

Sub ShowFolderList(folderspec)
Dim fs, f, f1, fc, s, sh
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(folderspec)
Set fc = f.Files
Regim = Worksheets("Serv").Cells(1, 5).Value
Worksheets("Report").Range("A5:AA300").Select
' Range("AA34").Activate
Selection.ClearContents
i = 4
For Each f1 In fc
s = ""
s = s & folderspec & "\"
s = s & f1.Name
Workbooks.Open Filename:=s, ReadOnly:=True, editable:=False
WName = ActiveWorkbook.Name

incl = Worksheets("Serv").Cells(1, 5).Value
If incl = Regim Then
i = i + 1
Sheets("Problem").Select
Range("A2:R2").Select
Selection.Copy
Windows("Claims_Report.xls").Activate
Field = "A" & i
Sheets(1).Range(Field).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Cells(i, 19).Value = s

End If
' Workbooks(WName).Close

Workbooks(WName).Close False


Next
End Sub





Заранее спасибо
...
Рейтинг: 0 / 0
как скрыть открывании окон (файлов) в макросе при копировании данных из них
    #37729400
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
application.ScreenUpdating=false
...
Рейтинг: 0 / 0
как скрыть открывании окон (файлов) в макросе при копировании данных из них
    #37729461
martinezo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro
Код: vbnet
1.
application.ScreenUpdating=false


Скажите пожалуйста, в какое именно место эту команду вставить?
...
Рейтинг: 0 / 0
как скрыть открывании окон (файлов) в макросе при копировании данных из них
    #37729480
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неужели из простого перевода с английского неясно, что она запрещает обновление экрана? Соответственно, вставить в то место, где требуется запретить обновление экрана. И не забыть в конце разрешить обновление экрана.
...
Рейтинг: 0 / 0
как скрыть открывании окон (файлов) в макросе при копировании данных из них
    #37729503
martinezo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
martinezoShocker.Pro
Код: vbnet
1.
application.ScreenUpdating=false


Скажите пожалуйста, в какое именно место эту команду вставить?

вставил сюда:

Sub ShowFolderList(folderspec)
Dim fs, f, f1, fc, s, sh
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(folderspec)
Set fc = f.Files
Regim = Worksheets("Serv").Cells(1, 5).Value
Worksheets("Report").Range("A5:AA300").Select
' Range("AA34").Activate
Selection.ClearContents
i = 4
For Each f1 In fc
s = ""
s = s & folderspec & "\"
s = s & f1.Name
Workbooks.Open Filename:=s, ReadOnly:=True, editable:=False
Application.ScreenUpdating = False
WName = ActiveWorkbook.Name

incl = Worksheets("Serv").Cells(1, 5).Value
If incl = Regim Then
i = i + 1
Sheets("Problem").Select
Range("A4:R4").Select
Selection.Copy
Windows("Claims_Report.xls").Activate
Field = "A" & i
Sheets(1).Range(Field).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Cells(i, 19).Value = s

End If
' Workbooks(WName).Close

'Application.DisplayAlerts = False
Workbooks(WName).Close False



Next
End Sub

вроде как работает, но потом выходит такая ошибка: Прекращена работа файла майкрософт ексель - Перезапустить программу, и программа вылетает (см. скрин)
...
Рейтинг: 0 / 0
как скрыть открывании окон (файлов) в макросе при копировании данных из них
    #37729643
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
э-эх, плохо все...
Код: vbnet
1.
Application.DisplayAlerts = True

в конце надо

А еще уже пора бы научиться пользоваться тэгами оформления кода
...
Рейтинг: 0 / 0
как скрыть открывании окон (файлов) в макросе при копировании данных из них
    #37729942
martinezo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Proэ-эх, плохо все...
Код: vbnet
1.
Application.DisplayAlerts = True

в конце надо

А еще уже пора бы научиться пользоваться тэгами оформления кода

сделал как Вы сказали, (вот макрос):
Sub ShowFolderList(folderspec)
Dim fs, f, f1, fc, s, sh
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(folderspec)
Set fc = f.Files
Regim = Worksheets("Serv").Cells(1, 5).Value
Worksheets("Report").Range("A5:AA300").Select
' Range("AA34").Activate
Selection.ClearContents
i = 4
For Each f1 In fc
s = ""
s = s & folderspec & "\"
s = s & f1.Name
Workbooks.Open Filename:=s, ReadOnly:=True, editable:=False
Application.ScreenUpdating = False WName = ActiveWorkbook.Name

incl = Worksheets("Serv").Cells(1, 5).Value
If incl = Regim Then
i = i + 1
Sheets("Problem").Select
Range("A2:R2").Select
Selection.Copy
Windows("Claims_Report.xls").Activate
Field = "A" & i
Sheets(1).Range(Field).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Cells(i, 19).Value = s

End If
Workbooks(WName).Close False

Next
Application.DisplayAlerts = True
End Sub


после этого все равно вылетает ексель, выходит ошибка Прекращена работа файла майкрософт ексель - Перезапустить программу, и программа вылетает (см. скрин)
...
Рейтинг: 0 / 0
как скрыть открывании окон (файлов) в макросе при копировании данных из них
    #37731937
martinezo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
товарищи, может кто-то знает как решить вопрос того, что вылетает "Эксель"

Спасибо.
...
Рейтинг: 0 / 0
как скрыть открывании окон (файлов) в макросе при копировании данных из них
    #37732148
кладовщик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
martinezoтоварищи, может кто-то знает как решить вопрос того, что вылетает "Эксель"

Спасибо.
Может он сам по себе вылетает, из-за каких-то проблем компьютера, на кот-м он установлен? Может системный администратор какие-то танцы с маркларами станцует? У меня, к примеру, сегодня несколько раз при выполнении 1-го и того же макроса в 2007-м Экселе что-то подобное вылезало. Вчера и позавчера (на аналогичных макросах) ничего такого не было ни разу. А сегодня 5 раз подряд. Думал, память утекает как собака, т.к. использовал кривую MS технологию. Перегрузил комп - опять примерно то же самое, что и у вас. Но в следующий раз макрос отработал (наконец-то) корректно.
ЗЫ А новый экземпляр Экселя создать и ему Visible:=False не вариант?
-----
Не люблю Progress OpenEdge.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / как скрыть открывании окон (файлов) в макросе при копировании данных из них
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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