Страницы: 1
RSS
папка с книгами Excel "поверх всех окон" и замена горячих клавишей на одну
 
Как установить папку с книгами Excel "поверх всех окон" и как заменить горячие клавиши Ctrl+W (закрытие книги) на другую, но ОДНУ.    
 
1)Мне приходится распечатывать 230 счетов-фактур, которые сохранены в папке и отсортированы строго по порядку. Я вынуждена открывать каждую книгу -- файл -- печать -- 2 шт. -- закрыть книгу. Есть и другой путь: выделить в папке все книги -- правая кнопка -- печать. Но тогда все книги и откроются хаотично и распечатаются тоже хаотично. Теряется смысл быстрой печати через правую кнопку, т.к. бумажные счета-фактруы я буду раскладывать по номерам 1 рабочий день, или 2 ))  
2)Можно ли заменить  горячие клавиши Ctrl+W - Закрытие документа на одну, например F1 или  ESC
 
1) Можно написать макрос, который будет распечатывать все книги из выбранной папки.  
2) Можно, тоже макросом.
 
Есть третий путь - открывать все файлы в папке по порядку кодом и распечатывать. Тут тоже возможны варианты - макрос или скрипт vbs, папка прписана в коде или открывается в диалоге или та, где лежит скрипт.  
В каком порядке печатать тоже пока не ясно - по алфавиту или по "строгому порядку"...
 
Вы настолько досконально знаете Эксель, что Вам клавиша F1 не нужна? Судя по Вашему посту - очень плохо знаете. Не стоит курочить системные и интерфейсные настройки. Можно написать макрос, к-рый по одному нажатию выведет ВСЕ файлы на печать в нужной последовательности и с нужным к-вом копий.
Я сам - дурнее всякого примера! ...
 
Ну в справку Эксэль я никогда не заходила через F1. Это во-первых. Непонятно чем Вас разозлил мой пост.    
Во-вторых, сам форум кажется и создан для таких как я.    
Эхх, вот так и умру глупой, перестаешь спрашивать, когда получаешь на вполне безобидный вопрос грубость. Но все равно спасибо за ответ
 
Карина, да никакой грубости, Вам трое сразу дали дельный совет. Зря Вы так восприняли.
Я сам - дурнее всякого примера! ...
 
Давайте так - Вы выложите файл со списком нужных файлов, а мы напишем Вам макрос печати. Список файлов легко составить например, при помощи Total Commander.
Я сам - дурнее всякого примера! ...
 
Карина, никто Вам не грубил. А вот Вы лучше подумайте над формулировками в названии тем - "папка с книгами Excel "поверх всех окон".  
Задача ведь ведь у Вас совсем в другом - вывод на печать нужных файлов в нужном количестве, а не в отображении папки.
 
1 папку поверх всех окон: макрос- API- setwindowlong  
 
2 замена гор клавиш - проще не замена, а добавление своей комбинации:  
 
application.onkey [f12] '- например
Живи и дай жить..
 
Почему мне нужна папка с файлами "Поверх всех окон"? Дело в том, что если счета-фактуры я могу распечатать без открытия книги (проверив правильность заполнения на примере одного), то акты сверок расчетов мне все-таки надежнее распечатывать прдварительно просмотрев каждый. Ну хотя бы бегло.  
 
Всем-всем спасибо за ответы!!
 
Как можно работать с файлом (с окном файла), если всегда активно окно папки?
 
{quote}{login=KukLP}{date=21.11.2011 02:18}{thema=}{post}Можно написать макрос, к-рый по одному нажатию выведет ВСЕ файлы на печать в нужной последовательности и с нужным к-вом копий.{/post}{/quote}  
 
Мне очень-очень срочно нужен такой макрос!!! В папке 428 эксель-файлов, надо их до вечера распечатать.  
Для макроса необходимы названия файлов? Дело в том, что они меняются ежемесячно  
 
Очень-очень жду
 
Ну если уж так срочно...  
Сохраните этот текст с расширением vbs и запустите даблкликом.  
Файлы скопируйте в C:\Temp\111\ - сперва парочку на пробу.  
Печатать будет как попало - активный лист и с той разбивкой на странице, какая в файле.  
Файлы будет брать вероятно по алфавиту (хотя не проверял - может быть по дате создания)  
Вообще-то я бы ещё доработал запрос с какого файла по какой печатать - вдруг бумагу зажуёт на 200-м файле?  
Хотя можно просто распечатанные файлы вручную удалить  
 
 
 
 
Dim FSO, objExcel, wb  
Dim TheFolder, TheFiles, AFile  
 
Set FSO = CreateObject("Scripting.FileSystemObject")  
Set TheFolder = FSO.GetFolder("C:\Temp\111\") 'Каталог, откуда печатать  
Set TheFiles = TheFolder.Files  
Set objExcel = CreateObject("Excel.Application")  
 
For Each AFile In TheFiles  
   If UCase(FSO.GetExtensionName(AFile.Path)) = "XLS"  Then  
   Set wb = objExcel.Workbooks.Open (AFile)  
  wb.printout  
  wb.close 0  
   End If  
Next  
 
objExcel.Quit
 
можно еще сделать надстроечку, которая все вновь загружаемые файлы будут автоматически распечатываться и закрываться.  
 
останется только щелкать по файлам в папке в нужном вам порядке
Живи и дай жить..
 
Ещё вариации моего скрипта - после печати каждого файла выводить msgbox (можно с именем текущего файла) и запросом:  
 
Select Case MsgBox("Повторить печать?", vbYesNoCancel Or vbInformation Or vbDefaultButton2, "Печать файлов")  
 
   Case vbYes  
 
   Case vbNo  
 
   Case vbCancel  
 
End Select  
 
 
Далее в зависимости от ответа или перепечатываем текущий файл, или выходим из кода (доработать пример под задачу).  
Если тупо жмякнуть энтер - будет печататься следующий файл.  
 
Так можно в любом месте тормознуть процесс, удалить вручную уже распечатанные файлы (а можно и это в скрипт прописать) и запустить процесс заново дальше.
 
Карина  
21.02.2012, 10:42  
>> Мне очень-очень срочно нужен такой макрос!!!  
Хорошо, если к 21-22 МАЯ Карина прочтет сегодняшние ответы:-)  
На прошлые у нее как раз 3 месяца ушло.
Я сам - дурнее всякого примера! ...
 
Привет, Сергей.  
Ну может уже и прочла...  
Тут рядом на другом форуме было -    
 
09.08.2011, 02:35    #4  IgorGO написал код, приложил файл.  
 
Вчера, 15:32    #5 artem_b    
Здравствуйте Игорь. Вы мне как-то очень помогли со скриптом, за что Вам огромнейшее человеческое Спасибо!  
сейчас обращаюсь к Вам еще раз, так как хотел попросить Вас помочь немного переделать тот скрипт который вы написали  
 
Игорь молчит :)  
Кстати, ты там тоже был чуть раньше - и похоже правильно ТС охарактеризовал :)  
 
К Карине это пока не относится - она спасибо заранее сказала, да и решения в прошлом году небыло...
 
А я все слышу )))))  
Я уже пробую применить Ваш макрос. Читала ответы с периодичностью 30 минут.    
Спасибо!
 
Hugo, огромная вам благодарность за макрос. Все отлично работает. Одним нажатием вчера распечатала все файлы! Что сэкономило мне уйму времени. Спасибо!!!  
Всем спасибо за ответы ))))
 
Hugo  
 
В прошлом месяце я распечатала более 800 файлов по Вашему скрипту. Файлы распечатывались по 2 экземпляра в строгом, необходимом мне, порядку. Спасибо  
большое.  
 
Но сегодня я начала распечатывать, файлы печатаются по 1му экземпляру , хоть и порядок не нарушен. Не могли бы Вы мне подсказать, где именно прописано в скрипте количество экземляров. Чтобы в будущем я сама могла корректировать так, как мне нужно.  
 
Еще раз ОГРОМНОЕ СПАСИБО!
Страницы: 1
Читают тему
Наверх