макрос excel
нужен простой макрос. в документ excel удалить два логотипа организации, уместить для печати на 1 страницу документ, сохранить и напечатать 3 копии.
Можно ли как то его применить для всех документов в конкретной папке, есть много папок по разным торг.точкам, но документ одинаковый и в каждой папке по 20-50 документов. чтобы каждый не открывать и не проделывать это все. Пробовал записать макрос нажав на "Запись", вот такой код вышел Код:
Sub лямина2() |
Maza11, упакуйте пару-тройку образцов документов в архив, прикрепите последний к сообщению или выложите на RGhost.
|
делал все через менюшки и выставлял уместить для печати на 1 страницу документ через предварительный просмотр - параметры страницы - разместить на 1 странице,
и при срабатывании макроса. он останавливается на окне предварительного просмотра |
Вложений: 1
прикрепил образцы
|
нужно наверное еще два варианта в одном уместить по ширине на 1 страницу, в другом на 1 страницу и по ширине и высоте (чтобы фамилии и подписи не переносило на новый лист)
|
|
Цитата Iska:
, я вижу в выложенных документах только один рисунок на документ: » под ним строка %!25 это тоже удалить Цитата Iska: Надо полагать, Вы хотели сказать — по ширине на одну страницу? » да. Просто внезапно озадачили. в спешке писал делаю сейчас так печатает, без лишних окон, но приходится открывать каждый документ, нажимать "Ctrl + L", закрывать и так далее вот этот момент можно оптимизировать ? Код:
Sub лямина2() |
это еще не все оказалось, внизу строка есть
Цитата:
|
думаю надо макросом удалять строку содержащую "Автор друку: ..." и строку перед ней, т.к. там какая то дурацкая строка идет высотой 300-400.
Это возможно ??? |
Примерно так (WSH, VBScript):
Скрытый текст
Код:
Option Explicit Целевая папка указывается параметром скрипта (также можно просто перетащить папку на скрипт в Проводнике). |
Цитата:
сохранил ваш код в блокноте в файл Module3.bas нажимаю запустить его, тыкаю файл в wscript.exe, ругается |
Цитата:
|
Iska,
круто, работает, НО 1. нельзя перетащить один файл, работает только если папку перетаскивать 2. не выставляет печать по ширине документа (фото распечатанного документа https://www.dropbox.com/s/wxfgrma9oe...41.01.jpg?dl=0 ) p.s. в остальном все работает как надо. логотип и строку под ним удаляет, внизу строку "автор печати" удаляет, печатает 3 копии |
Цитата:
Цитата:
Скрытый текст
Код:
Option Explicit Я, кстати, в предыдущем коде забыл сделать выход из Excel и сослепу оставил после копирования куска кода вместо очистки объекта — его создание. Цитата:
Код:
.PageSetup.FitToPagesWide = 1 |
Идеально, печатает по ширине листа теперь.
Один файл перетягиваеш - работает, два или более - Usage: cscript.exe//nologo "Module.vbs" <Soutce file or source folder> папку перетягиваеш - работает. Но то такое, главное такой титанический труд занимавший пол часа, теперь занимает одну минуту. понажимать ОК и все. p.s. и последняя "хотелка" попробовал убрать Код:
End With и еще тогда пусть будет отдельный скрипт который бы просто печатал по 3 копии документа XLS при перетягивании на него. Чтобы уже на все случаи жизни. |
Цитата:
Цитата:
Цитата:
Пробуйте: Скрытый текст
Код:
Option Explicit Цитата:
Код:
'.PrintOut ,, 3 |
Очень благодарен Вам за помощь.
Но задача усложняется, эти чудики теперь стали присылать накладные в одном файле на 3000 строк, и нужно каждую накладную копировать оттуда и сохранять в новый файл :o http://rghost.ru/private/8PfsnjH6B/f...d5d81c3d8b9f35 сможете помочь ??? |
Или научите как самому написать
|
А если у меня есть код для макроса делающий разбивающий одну большую накладную на отдельные и размещает их с номерами 01, 02, 03 .. в той же папке, помогите переделать ее на скрипт VBS т.к. у них отличается синтаксис чуть-чуть, всякие WScript добавляются, чтобы работало перетягивание файла из провдника, и накладные создавались в той же папке где файл оригинал лежит
Код:
Sub Эпицентр() |
нужно в документе менять дату
делаю так Код:
Sub WorkingWithWorkbook(objExcel, objFile) Подскажите пожалуйста |
Там лишнее.
Код:
.Replace "02.07.2015", "09.07.2015" |
это я пытался на основе вашего скрипта модифицировать
сделал так Код:
Sub WorkingWithWorkbook(objExcel, objFile) |
Цитата:
|
Цитата:
скрипт
Код:
Option Explicit |
Это не мой скрипт. Это непонятная компиляция.
Посмотрите сами: Код:
… |
вот скрипт
скрипт оригинал
Код:
Option Explicit в нем я просто меняю эту часть Код:
With .Workbooks.Open(objFile.Path) Код:
With .Workbooks.Open(objFile.Path) скрипт измененный
Код:
Option Explicit и для этих файлов он работает http://rghost.ru/private/7pFNmtcC7/9...a20229c1c14670 но для двух других файлов, где это ячейка "A3:G3" не работает (просто меняю адрес ячейки) http://rghost.ru/private/8V2CByf99/7...0a7ebd236852ec выдает ошибка 800A03EC, адрес строка 71 символ 4 это символ табуляции перед Save не понимаю почему так. для одних файлов работает. для других нет |
похоже это ошибка уже не в скрипте т.к. те скрипты из которых брался код тоже стали эту ошибку выдавать на моменте сохранения, хотя они 100% рабочие, бред какой то уже
|
бред заключается в том, что с логотипами и процентами теми которые вы убирали изначально в скрипте, он не сохраняет измененную дату, если прогнать сначала скриптом убирающим их, а потом меняющим дату, то все ок
именно по этой причине в одних накладных работало, а в других нет. |
Время: 02:27. |
Время: 02:27.
© OSzone.net 2001-