VBA Print

Drukowanie w VBA jest bardzo podobne do drukowania w Excelu, gdy mamy ważne dane w Excelu lub arkuszach kalkulacyjnych, jedynym sposobem na ich bezpieczne jest zapisanie ich w formacie PDF lub wydrukowanie, do drukowania musimy ustawić polecenie drukowania w VBA najpierw przed jego użyciem, co robi to polecenie, jeśli drukuje lub zapisuje dane w innym pliku.

Co to jest drukowanie w VBA Excel?

Wydruk VBA to nic innego jak zwykle, jak drukujemy w zwykłym arkuszu roboczym, nie ma w tym różnicy. Korzystając z kodu Excel VBA możemy wydrukować całe dane arkusza roboczego, możemy wydrukować skoroszyt, wykresy, określony zakres itp.

Po ciężkiej pracy, jaką wykonaliśmy, aby przedstawić raport menedżerowi, zwykle wysyłamy e-maile. Ale w niektórych przypadkach na spotkaniu Twój kierownik potrzebuje papierowej kopii Twoich raportów, w tych scenariuszach musisz wydrukować raport, który masz w arkuszu kalkulacyjnym. Jednym z powodów, dla których Twój kierownik potrzebuje wydruku raportu, może być to, że jest to bardzo duży raport do przeczytania na komputerze. W arkuszu roboczym musisz już umieć drukować raporty. W tym artykule pokażemy, jak drukować za pomocą kodowania VBA. Postępuj zgodnie z tym artykułem przez następne 15 minut, aby dowiedzieć się, jak drukować raporty w języku VBA.

Składnia VBA PrintOut w VBA Excel

Zanim zobaczymy składnię, pozwólcie mi najpierw to wyjaśnić. Co drukujemy, drukujemy zakresy, wykresy, arkusze, skoroszyty. Tak więc metoda PrintOut () jest dostępna dla wszystkich tych celów.

[Od]: Od której strony drukowanie ma się rozpocząć. Jeśli nie podamy żadnej wartości, zostanie ona potraktowana jak z pierwszej strony.

[Do]: Jaka powinna być ostatnia strona do wydrukowania? Jeśli zostanie zignorowany, będzie drukowany do ostatniej strony.

[Kopie]: Ile kopii musisz wydrukować.

[Preview]: Czy chcesz zobaczyć podgląd wydruku przed przystąpieniem do drukowania. Jeśli tak, argumentem jest PRAWDA, jeśli nie, argumentem jest FAŁSZ.

Przykłady drukowania w VBA Excel

Poniżej znajdują się przykłady drukowania w VBA Excel.

Możesz pobrać ten szablon VBA Print Excel tutaj - VBA Print Excel Template

Dla celów ilustracyjnych utworzyłem fikcyjne dane, jak pokazano na poniższym obrazku.

Teraz musimy wydrukować raport od A1 do D14, to jest mój zakres. Wprowadź zakres w kodzie VBA, aby uzyskać dostęp do metody PrintOut.

Kod:

 Sub Print_Example1 () Range ("A1: D14") End Sub 

Teraz uzyskaj dostęp do metody PrintOut.

Kod:

 Sub Print_Example1 () Range („A1: D14”). PrintOut End Sub 

Nie dotykam żadnego z parametrów, wystarczy wydrukować wybrany zakres. Jeśli uruchomię ten kod, wydrukuje zakres od komórki A1 do D14.

Parametry metody wydruku w VBA Excel

Teraz skopiowałem i wkleiłem te same dane, aby użyć innych parametrów metody PrintOut w VBA Excel.

Jeśli chcemy wydrukować cały arkusz, możemy odnieść się do całego arkusza jako aktywnego arkusza, co obejmie cały arkusz w nim.

  • Kod do wydrukowania całego arkusza.

Kod:

Sub Print_Example1 () ActiveSheet.UsedRange.PrintOut 'Spowoduje to wydrukowanie całego zakresu użytego arkusza. Napis końcowy

  • Kod odnoszący się do nazwy arkusza .

Kod:

 Sub Print_Example1 () Sheets ("Ex 1"). UsedRange.PrintOut 'Spowoduje to również wydrukowanie całego użytego zakresu arkusza o nazwie Ex 1. End Sub 

  • Kod do wydrukowania wszystkich arkuszy roboczych w skoroszycie .

Kod:

Sub Print_Example1 () Worksheets.UsedRange.PrintOut 'Spowoduje to również wydrukowanie całego użytego zakresu całego arkusza w skoroszycie. Napis końcowy

  • Kod do drukowania całych danych skoroszytu .

Kod:

Sub Print_Example1 () ThisWorkbook.UsedRange.PrintOut 'Spowoduje to również wydrukowanie całego użytego zakresu całego arkusza w skoroszycie. Napis końcowy

  • Kod do drukowania tylko wybranego obszaru .

Kod:

 Sub Print_Example1 () Selection.PrintOut 'Spowoduje to wydrukowanie tylko zaznaczonego zakresu End Sub 

Jak korzystać z parametrów metody drukowania w Excel VBA?

Teraz zobaczymy, jak wykorzystać parametry metody wydruku. Jak powiedziałem, rozszerzyłem dane, aby użyć innych właściwości.

Na pewno to nie będzie drukowane na pojedynczym arkuszu. Wybierz zakres od A1 do S29.

Kod:

 Sub Print_Example2 () Range ("A1: S29") End Sub 

Teraz wybierz metodę wydruku.

Kod:

 Sub Print_Example2 () Range („A1: S29”). PrintOut End Sub 

Pierwszy i drugi parametr to Od i Do, jaka jest pozycja strony początkowej i końcowej. Domyślnie wydrukuje wszystkie strony, więc nie dotykam tej części. Teraz chcę zobaczyć podgląd wydruku, więc wybiorę Podgląd jako PRAWDA.

Kod:

 Sub Print_Example2 () Range („A1: S29”). PrintOut Preview: = True End Sub 

Teraz uruchomię ten kod, zobaczymy podgląd wydruku.

To będzie za 2 strony.

So first I want to set up the page to come in a single sheet. Use the below code to set up the page to come in one sheet.

Code:

 Sub Print_Example2() With Worksheets("Example 1").PageSetup .Zoom = False .FitToPagesTall = 2 .FitToPagesWide = 1 .Orientation = xlLandscape End With ActiveSheet.PrintOut Preview:= True End Sub 

This will set up the page to print in one sheet as well to print in landscape mode. Now the print preview will be like this.

Like this, we can use VBA print out a method to print the things we wanted to print and play around with them.