Tallenna Excel -alue PDF -muodossa VBA: n avulla

Sisällysluettelo:

Anonim

Jos haluat tallentaa valitun alueen Excelissä (esimerkiksi kuitin) PDF -muodossa Excelissä VBA: n avulla, käytä alla olevaa syntaksia.

Yleinen koodi

Sub SaveRangeAsPDF () Alue.ExportAsFixedFormat Type: = xlTypePDF, Tiedoston nimi:= _ "C: \ Käyttäjät \ tiedostonimi", Laatu: = xlQualityStandard, _ IncludeDocProperties: = True, IgnorePrintAreas: = False, OpenAfterPublish: = True End Sub 

Yllä oleva koodi on yleinen koodi kiinteän alueen tallentamiseksi PDF -asiakirjaksi. Kun ennätysmakro viedään Excel -tiedostoja PDF -muotoon, samanlainen koodi tulee näkyviin.

Alue:Se voi olla kiinteä alue, dynaaminen alue tai valinta. Sinun on määriteltävä se.

Tiedoston nimi: Tämä on pdf -tiedoston täydellinen nimi. Määritä se merkkijonona.

Loput muuttujat voidaan jättää sellaisiksi. Olen selittänyt ne esimerkin jälkeen.

Esimerkki: Tulosta Excel -kuitti PDF -tiedostona VBA: n avulla

Oletetaan, että sinun on tulostettava ja lähetettävä kuitteja Excelissä säännöllisesti. Siinä tapauksessa haluat sen automatisoivan. Et haluaisi viedä exceliä pdf -muotoon yhä uudelleen. Jos voit käyttää tätä painiketta vain, se olisi hyödyllistä, eikö niin?

Tässä olen suunnitellut tämän kuittimuodon. Haluan tulostaa/tallentaa/viedä sen pdf -tiedostona käyttämällä "Luo PDF" -painiketta.

Tämä kuitti kattaa alueen "A2: L21". Olen jo asettanut tulostusalueen.

Tämän Excel -alueen tallentamiseksi PDF -muodossa käytämme yllä mainittua yleistä VBA -koodia Excel -taulukon viemiseksi pdf -muotoon. Muokkaamme koodia vaatimuksemme mukaan.

Sub PrintSelectionToPDF () Dim billiceRng As Range Dim pdfile As String 'Tulostettava asetusalue Aseta seticeiceRng = Range ("A1: L21") "-asetustiedoston nimi ja aikaleima. pdfile = "lasku" & "_" & muoto (Nyt (), "yyyymmdd_hhmmss") & ".pdf" 'määrittäen täydellisen kelvollisen nimen. Tuloksena oleva pdf tallennetaan sinne, missä päätiedosto on. pdfile = ThisWorkbook. 

Koodin käyttäminen:

Kopioi yllä oleva koodi kuittitiedostoosi avaamalla VBA -editori (käytä Alt+F11). Säädä tulostettavan koodin aluetta ja tiedostopolkua (jos haluat). Voit ladata alla olevan työtiedoston.

Tallenna Excel -alue PDF -muodossa VBA: n avulla

Selitys:

Dim invoiceRng kuten alue Dim pdfile kuin merkkijono 

Koodi on yksinkertainen. Ensin olemme luoneet kaksi muuttujaa. "InvoiceRng as Range" alueelle/taulukolle, jonka haluamme tallentaa pdf -muodossa. strFile tuloksena olevan PDF -tiedoston täydelliselle tiedostonimelle.

Aseta billiceRng = Alue ("A1: L21") 

Koska tulostusalueemme on kiinteä, laskutusalueeksi määritetään alue ("A1: L21").

pdfile = "lasku" & "_" & muoto (Nyt (), "yyyymmdd_hhmmss") & ".pdf" pdfile = ThisWorkbook.Path & strfile 

Edellä kahdella rivillä nimeämme tiedoston ensin aikaleimalla ja lisäämme sitten päätiedoston polkuun. Tämän seurauksena pdf -tiedosto sisältää tuloksena olevan pdf -tiedoston täydellisen nimen.

invoiceRng.ExportAsFixedFormat _ Tyyppi: = xlTypePDF, _ Tiedostonimi: = pdfile, _ Laatu: = xlQualityStandard, _ IncludeDocProperties: = True, _ IgnorePrintAreas: = True, _ OpenAfterPublish: = False 

Lopuksi käytämme Range -luokan ExpoortAsFixedFormat -menetelmää määritetyn Excel -alueen tulostamiseen PDF -muodossa. Määritä tyyppi xlTypePDF. Toinen vaihtoehto on xlTypeXPS, joka tallentaa valitun alueen XPS -tiedostona.

Asetamme tiedostonimen pdf -tiedostoksi, joka sisältää pdf -tiedoston täydellisen nimen merkkijonon. Voit kirjoittaa kovakoodatun tekstin tähän tai muokata sitä tarpeidesi mukaan.

Seuraavaksi asetamme pdf -tiedoston laaduksi xlQualityStandard. Meillä on toinen vaihtoehto xlQualityMinimum.

Seuraavaksi asetamme IncludeDocProperties -arvoksi True. Se tarkoittaa, että tuloksena olevalla PDF -tiedostolla on asiakirjan ominaisuudet.

Sitten asetimme IgnorePrintAreas -arvon True -arvoksi. Se jättää huomiotta kaikki jo asetetut tulostusalueet.

Lopuksi asetimme OpenAfterPublish -arvon arvoksi False. Se tarkoittaa, että luomasi tiedosto ei avaudu automaattisesti. Määritin sen vääräksi, koska luon 100s tiedostoja silmukan avulla, enkä halua niiden avautuvan. Jos haluat avata tiedoston Excelin luomisen jälkeen, aseta se True.

Valitun alueen tulostaminen pdf -muodossa

Yksi peruskäyttö on tulostaa valittu alue napsauttamalla vain yhtä painiketta. Mutta paras käyttö on käyttää sitä silmukassa, jossa sinun on luotava useita kuitteja eri asiakkaille. Luo osa tietojen täyttämistä varten ja käytä tätä koodia valitun alueen tulostamiseen silmukassa.

Joten joo kaverit, näin voit tallentaa valitun alueen pdf -muotoon. Toivottavasti siitä oli sinulle hyötyä. Jos sinulla on vielä epäilyksiä tai kyselyitä tulostamisesta Excelissä VBA: n avulla, kysy alla olevasta kommenttiosasta.

Tulosta useita valintoja yhdelle arkille käyttämällä Microsoft Excelin VBA: ta | Valitse useita alueita ja tulosta jokainen alue eri arkille VBA: n avulla.

Tulosta kaikki työkirjat kansioon käyttämällä VBA: ta Microsoft Excelissä | Tämän VBA -koodin avulla voit tulostaa ja tallentaa kaikki Excel -työkirjat kansioon käyttämällä.

Suosittuja artikkeleita:

Jaa Excel -taulukko useisiin tiedostoihin sarakkeen perusteella VBA: n avulla | Tämä VBA -koodijako Excel -taulukko perustuu yksilöllisiin arvoihin tietyssä sarakkeessa. Lataa työtiedosto.

Poista varoitusviestit käytöstä VBA: n avulla Microsoft Excel 2016 | Sammuttaaksemme varoitusviestit, jotka keskeyttävät käynnissä olevan VBA -koodin, käytämme sovellusluokkaa.

Lisää ja tallenna uusi työkirja VBA: n avulla Microsoft Excel 2016: ssa | Työkirjojen lisäämiseen ja tallentamiseen VBA: n avulla käytämme Työkirjat -luokkaa. Työkirjat.Add lisää uuden työkirjan helposti…