Да бисте сачували изабрани опсег у екцелу (рецимо признаницу) као ПДФ у Екцелу користећи ВБА, користите синтаксу испод.
Генерички код
Суб СавеРангеАсПДФ () Домет.ЕкпортАсФикедФормат Типе: = клТипеПДФ, Назив документа:= _ "Ц: \ Усерс \ име_датотеке", Квалитет: = клКуалитиСтандард, _ ИнцлудеДоцПропертиес: = Труе, ИгнореПринтАреас: = Фалсе, ОпенАфтерПублисх: = Труе Енд Суб
Горњи код је генерички код за чување фиксног опсега као ПДФ документа. Када ваш макро запис док извозите Екцел у ПДФ, појавит ће се сличан код.
Домет:То може бити фиксни опсег, динамички опсег или избор. Морате то дефинисати.
Назив документа: Ово је потпуно квалификовано име пдф -а. Дефинишите га као низ.
Остале променљиве се могу оставити какве јесу. Објаснио сам их након примера.
Пример: Одштампајте Екцел рачун као ПДФ помоћу ВБА
Рецимо да морате редовно да штампате и шаљете рачуне у Екцелу. У том случају желите да га аутоматизујете. Не бисте желели да извозите Екцел у пдф увек изнова. Ако можете само да употребите дугме за то, било би од помоћи, зар не?
Овде сам дизајнирао овај формат рачуна. Желим да га одштампам/сачувам/извезем као ПДФ помоћу дугмета „Креирај ПДФ“.
Овај рачун покрива опсег "А2: Л21". Већ сам поставио област за штампање.
Да бисмо уштедели на овом екцел опсегу као ПДФ, користићемо горе поменути генерички ВБА код за извоз екцел листа у пдф. Кодекс ћемо прилагодити према нашим захтевима.
Суб ПринтСелецтионТоПДФ () Дим инвоицеРнг Ас Ранге Дим пдфиле Ас Стринг 'Опсег подешавања за штампање Подеси инвоицеРнг = Распон ("А1: Л21")' назив датотеке за подешавање са временском ознаком. пдфиле = "инвоице" & "_" & Формат (Нов (), "ииииммдд_ххммсс") & ".пдф" 'постављање потпуног квалификованог имена. Добијени пдф ће бити сачуван тамо где постоји главна датотека. пдфиле = ТхисВоркбоок.Патх & стрфиле инвоицеРнг.ЕкпортАсФикедФормат Тип: = клТипеПДФ, _ Назив датотеке: = пдфиле, _ Квалитет: = клКуалитиСтандард, _ ИнцлудеДоцПропертиес: = Тачно, _ ИгнореПринтАреас: = Фалсе, Отворено, _ Нетачно, _ Нетачно, _ Нетачно, _ Отвори
Користећи код:
Копирајте горњи код у датотеку рачуна отварањем ВБА уређивача (користите Алт+Ф11). Подесите опсег и путању датотеке (ако желите) у коду који желите да одштампате. Радну датотеку можете преузети испод.
Сачувајте Екцел опсег као ПДФ помоћу ВБА
Објашњење:
Дим инвоицеРнг Ас Ранге Дим пдфиле Ас Стринг
Код је једноставан. Прво смо створили две променљиве. "ИнвоицеРнг ас Ранге" за опсег/лист који желимо да сачувамо као пдф. стрФиле за потпуно квалификовано име датотеке резултујућег ПДФ -а.
Подеси инвоицеРнг = Опсег ("А1: Л21")
Пошто је наш опсег штампања фиксиран, поставили смо распон фактура као Распон ("А1: Л21").
пдфиле = "инвоице" & "_" & Формат (Нов (), "ииииммдд_ххммсс") & ".пдф" пдфиле = ТхисВоркбоок.Патх & стрфиле
У горња два реда прво именујемо датотеку са временском ознаком, а затим додајемо путању главне датотеке. Као резултат тога, пдфиле садржи потпуно квалификовано име резултирајуће пдф датотеке.
инвоицеРнг.ЕкпортАсФикедФормат _ Тип: = клТипеПДФ, _ Назив датотеке: = пдфиле, _ Квалитет: = клКуалитиСтандард, _ ИнцлудеДоцПропертиес: = Труе, _ ИгнореПринтАреас: = Труе, _ ОпенАфтерПублисх: = Фалсе
Коначно, користимо методу ЕкпоортАсФикедФормат класе Ранге за штампање дефинисаног Екцел опсега као ПДФ. Дефинишемо тип као клТипеПДФ. Други избор је клТипеКСПС, који ће сачувати изабрани опсег као КСПС датотеку.
Име датотеке смо поставили као пдфиле, који садржи низ потпуно квалификованог имена пдф датотеке. Овде можете написати хардкодирани текст или га прилагодити према вашим потребама.
Затим смо поставили квалитет пд датотеке као клКуалитиСтандард. Имамо други избор као клКуалитиМинимум.
Затим смо поставили ИнцлудеДоцПропертиес на Труе. То значи да ће резултирајући ПДФ имати својства документа.
Затим смо поставили ИгнореПринтАреас као Труе. То значи да ће игнорисати било коју област за штампање која је већ подешена.
Коначно, ОпенАфтерПублисх смо поставили као Фалсе. То значи да се датотека коју креирате неће отворити аутоматски. Поставио сам погрешно јер креирам 100 датотека помоћу петље и не желим да се отворе. Ако желите да отворите датотеку након креирања помоћу програма Екцел, поставите је као Тачна.
Коришћење штампања изабраног опсега у пдф формату
Једна од основних употреба је штампање изабраног опсега једноставним притиском на једно дугме. Али најбоља употреба је да га користите у петљи у којој морате да креирате више рачуна за различите клијенте. Направите подлогу за попуњавање података, а затим помоћу овог кода одштампајте изабрани опсег у петљи.
Па да, момци, на овај начин можете сачувати изабрани опсег као пдф. Надам се да вам је то било корисно. Ако и даље имате било каквих недоумица или упита у вези са штампањем у екцелу помоћу ВБА, питајте у одељку коментара испод.
Одштампајте више избора на једном листу користећи ВБА у Мицрософт Екцелу | Изаберите више опсега и одштампајте сваки опсег на другом листу користећи ВБА.
Одштампајте све радне свеске у фасцикли користећи ВБА у програму Мицрософт Екцел | Користите овај ВБА код за штампање и чување сваке Екцел радне свеске у фасцикли помоћу.
Популарни чланци:
Поделите Екцел лист у више датотека на основу колоне помоћу ВБА | Овај ВБА код дели екцел базу листова на јединствене вредности у наведеној колони. Преузмите радну датотеку.
Искључите поруке упозорења помоћу ВБА у програму Мицрософт Екцел 2016 | Да бисмо искључили поруке упозорења које ометају покретање ВБА кода, користимо класу Апплицатион.
Додајте и сачувајте нову радну свеску помоћу ВБА у програму Мицрософт Екцел 2016 | За додавање и чување радних свезака користећи ВБА користимо час Радне свеске. Радне свеске. Додавање лако додаје нову радну свеску, међутим …