Вроде пошло. Кому интересно: Dim i As Integer, k As Integer, sName As String Dim sStor() As String, bStor() As Boolean, Arr '----- k = Worksheets.Count 'кол. Листов ReDim sStor(1 To k) ReDim bStor(1 To k) sName = ActiveSheet.Name 'имя активного Листа '----- Application.ScreenUpdating = False 'сохраняем порядок Листов For i = 1 To k sStor(i) = Worksheets(i).Name bStor(i) = Worksheets(i).Visible Sheets(i).Visible = True Next i '----- 'назначаем новый порядок Листов 'область печати назначаю отдельно для каждого Листа Arr = Array("Лист1", "Лист5", "Лист2" ) For i = 0 To UBound(Arr) Sheets(Arr(i)).PageSetup.PrintArea = "$A$1:$I$56" 'область печати Sheets(Arr(i)).Move Before:=Sheets(i + 1) Next i '----- 'печать Листов Sheets(Arr).PrintOut '----- 'возвращаем порядок Листов For i = 1 To k Sheets(sStor(i)).Move Before:=Sheets(i) Sheets(sStor(i)).Activate ActiveSheet.PageSetup.PrintArea = "" 'сброс области печати Next i 'прячем Листы For i = 1 To k Sheets(sStor(i)).Visible = bStor(i) Next i Sheets(sName).Activate Application.ScreenUpdating = True
Спасибо. Вот так четко сработало, с каждого Листа по 1 страницы ушло: Arr = Array("Лист1", "Лист5", "Лист2" ;) For i = 0 To UBound(Arr) Sheets(Arr(i)).PrintOut From:=1, To:=1, Copies:=1 Next i
Здравствуйте. Имеется несколько листов в книге. Требуется выводить на печать несколько листов, но не по порядку, а произвольно (например: Лист1, Лист5, Лист2). Так же нужно в каждом листе вывести только первую страницу, а остальные отбросить. Произвольный диапазон выводится одним заданием, эти строки не подходять:
Проблема вот в чем. Нужно выводить листы из VBA на принер с двухсторонней печатью, т.е. подать не прерывный поток (одним заданием) всех нужных Листов, в определенном порядке. Количество листов и порядок изменяется каждый раз.
Мне нужно не импортировать на лист, а открыть файл XLS и сохранить (или присвоить переменной) данные в чистом виде (без тегов). Зачем самому создать процедуру, если есть готовая, ведь сохраняется XML документ как текст.
Здравствуйте. Есть XML файл. Нужно открыть его, с помощью VBA как текст, но без служебной информации (теги и т.п.), только полезные данные. Вопрос: как это можно сделать, есть ли функция?
Извините, отлучался. Нужно сделать так: нажал кнопку Обновить - страница качается из нета, выбрал данные (при открытии html-файла как текст легко, я пробовал) и вставил в таблицу. Меня интересует как открыть страницу из нета как текст, в фоне (в памяти, как например OpenTextFile), а дальше найти нужные данные не трудно. Все это должен делать VBA, а не пользователь (кнопку жмет конечно он).
Здравствуйте. Такая ситуация: нужно каждый день брать данные со странице из интернета и заносить в таблицу. Вопрос: можно, с помощью VBA, загрузить эту страницу и выбрать нужные данные, например как открытие файла в текстовом режиме.
Здравствуйте. Подскажите, пожалуйста, где ошибка? Запрос к БД: rstDog.Open "SELECT * FROM Договора WHERE Номер договора=1", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sFile sFile - путь к БД