Strona główna > Komputery i elektronika > Jak Usunąć Pustą Stronę W Programie Word W Vba

Jak usunąć pustą stronę w programie Word w VBA

Visual Basic for Applications (VBA) to język, którego programiści używają do rozszerzania domyślnych funkcji programu Word. Za pomocą VBA programiści mogą zautomatyzować wiele ręcznych procedur krok po kroku, które użytkownicy programu Word regularnie wykonują. Usuwanie pustej strony za pomocą VBA składa się zasadniczo z dwóch zadań: zaznaczenia strony i określenia, czy zaznaczenie to jest puste, czy nie. Podstawową korzyścią płynącą z użycia VBA do wykonania tych zadań jest oszczędność czasu wynikająca z braku konieczności wykonywania ich ręcznie.

  • Visual Basic for Applications (VBA) to język, którego programiści używają do rozszerzenia domyślnej funkcjonalności Worda.
  • Usuwanie pustej strony za pomocą VBA składa się zasadniczo z dwóch zadań: zaznaczenia strony i określenia, czy to zaznaczenie jest puste, czy nie.

Otwórz dowolny dokument Worda składający się z kilku stron. Upewnij się, że co najmniej jedna lub dwie strony zawierają tylko znaki niedrukowalne, takie jak powrót karetki lub podział strony, a pozostałe strony mają co najmniej jeden znak drukowalny.

Otwórz zintegrowane środowisko programistyczne VBA (IDE), naciskając Alt plus F11. Naciśnij nagłówek menu "Wstaw", a następnie "Moduł", aby wstawić nowy moduł do dokumentu. W tym module utworzysz program VBA.

Wpisz lub wklej do nowego modułu kodu następującą podprogramową procedurę:

Public Sub deleteBlankPage()

Selection.GoTo What:=wdGoToBookmark, Name:="\"

End Sub

Ta podprogramowa procedura kieruje VBA do określonej, ukrytej zakładki, którą Word utrzymuje dla każdego dokumentu. Ukryta zakładka nosi nazwę "strona" i odnosi się do strony kontynuującej bieżące zaznaczenie lub punkt wstawiania.

Wpisz ten kod do obszaru poniżej deklaracji z poprzedniego kroku, która zaczyna się od "Zaznaczenie":

If isBlankSelection Then

Selection.Delete

End If

Ta część kodu kieruje VBA do wywołania funkcji (którą napiszesz w kolejnym kroku), która określa, czy bieżące zaznaczenie jest puste, czy nie. Jeśli tak, kod kieruje VBA do usunięcia zaznaczenia.

Po instrukcji "End Sub" wpisz następujący kod, aby zaimplementować funkcję "isBlankSelection":

Public Function isBlankSelection()

For Each c In Selection.Characters

If (c <> vbCr And c <> vbTab And c <> vbFormFeed And c <> " ") Then

 isBlankSelection = False Exit Function 

End If

Next

isBlankSelection = True

End Function

Ta funkcja wykonuje serię iteracji (czyli "pętli") po poszczególnych znakach aktualnie zaznaczonego tekstu. Blok kodu "if" wykonuje serię testów na znaku, aby określić, czy znak jest pusty. "Puste" są zdefiniowane jako te niedrukujące znaki: Carriage return, tabulator, form feed lub spacja. Jeżeli aktualnie testowany znak nie jest żadnym z wymienionych, funkcja natychmiast zwraca "False", co oznacza, że zaznaczenie nie jest puste.

  • Znaki If (c <> vbCr And c <> vbTab And c <> vbFormFeed And c <> " ") Then End If Next isBlankSelection = True End Function Funkcja ta wykonuje serię iteracji (tj.
  • "pętli") przez poszczególne znaki aktualnie zaznaczonego tekstu.
  • Jeśli aktualnie testowanym znakiem nie jest żaden z wymienionych przed chwilą, funkcja natychmiast zgłasza z powrotem "False", co oznacza, że zaznaczenie nie jest puste.

Naciśnij Alt+F11, aby powrócić do dokumentu Worda i kliknij dowolną stronę z niedrukowanymi znakami.

Naciśnij Alt+F8, aby wyświetlić listę makr VBA, a następnie kliknij dwukrotnie pozycję "deleteBlankPage", aby uruchomić makro. Twój program zaznaczy, a następnie usunie stronę.

Kliknij dowolną stronę z widocznymi znakami i uruchom program ponownie. Tym razem program nie usunie strony.

By Katrinka Kalk

Top 10 karm dla psów dużych ras :: Jak naprawić cieknącą toaletę bez kurka kulowego
Przydatne linki