Aby skopiować dane z Excela do pliku Word za pomocą VBA, musimy uzyskać dostęp do aplikacji Word za pomocą Excel VBA. W tym samouczku dowiemy się, jak otworzyć aplikację tekstową, dodać dokument oraz skopiować i wkleić do niego dane z programu Excel.
W tym artykule użyjemy metody Early Binding, aby utworzyć obiekt aplikacji Word zamiast używać późnego wiązania. Możesz o tym szczegółowo przeczytać tutaj.
Proces kopiowania danych Excel do pliku Word za pomocą Excel VBA
Aby skopiować dane z programu Excel do pliku tekstowego za pomocą VBA, najpierw musimy oczywiście otworzyć aplikację Word. Następnie dodaj do niego dokument (jeśli chcesz nowy dokument). Skopiuj dane z pliku Excel. Wybierz akapit w dokumencie i wklej go.Na koniec zapisz i zamknij dokument. Każdy z tych kroków można łatwo wykonać w programie Excel. Nie będziesz musiał wchodzić w interakcję z dokumentem Word.
Zacznijmy od przykładu bez zagłębiania się w teorię. Ponieważ Iron Man powiedział: „Czasami musisz biec, zanim będziesz mógł chodzić”.
Przykład: Wklej dane Excela do Worda za pomocą VBA
Poniższy kod jest przykładem tego, jak można skopiować pewien zakres programu Excel i wkleić go do nowego dokumentu tekstowego i zapisać na dysku, aby użyć go później
'Kod VBA do zapisu, aby skopiować dane z Excela do dokumentu Sub ExcelToWord() 'Korzystanie z wczesnego wiązania Dim wordApp As Word.Application Dim mydoc As Word.Document 'Tworzenie nowego wystąpienia słowa tylko wtedy, gdy nie ma innych Ustaw wordApp = New Word.Application 'Making word App Visible wordApp.Visible = True 'Tworzenie nowego dokumentu Set mydoc = wordApp.Documents.Add() 'kopiowanie zawartości z arkusza Excel ThisWorkbook.Worksheets("sheet1").Range("A1:g20 ").Copy 'Wklejanie do dokumentu mydoc.Paragraphs(1).Range.PasteExcelTable _ LinkedToExcel:=False, _ WordFormatting:=False, RTF:=False 'zapisywanie dokumentu mydoc.SaveAs2 "MyDoc" 'zamykanie dokumentu mydoc .Close 'Opróżnianie schowka CutCopyMode = False End Sub
Wyjaśnienie Kodeksu:
Cóż, wyjaśniłem każdy krok w samym kodzie za pomocą komentarzy, ale pomówmy trochę o liniach, których użyliśmy w tym podpunkcie.
'Utworzone zmienne aplikacji tekstu i typu dokumentu
Dim wordApp jako Word.Application
Dim mydoc jako Word.Document
Tutaj zadeklarowaliśmy dwie zmienne wymaganych typów. Możemy to zrobić, ponieważ dodaliśmy już odniesienie do słowa application. Możesz to zrobić przechodząc do narzędzi w menu. Znajdź opcję odniesienia, a następnie poszukaj odniesienia do słowa.
„Tworzenie nowego wystąpienia słowa tylko wtedy, gdy nie ma innych wystąpień”
Ustaw słowoApp = Nowe słowo.Aplikacja
„Uwidocznienie aplikacji słownej”
wordApp.Visible = Prawda
'Tworzenie nowego dokumentu
Ustaw mydoc = wordApp.Documents.Add()
W pierwszym wierszu powyżej inicjujemy zmienną wordApp z obiektem typu Word.App za pomocą słowa kluczowego New. Spowoduje to otwarcie aplikacji Word.
W drugim wierszu uwidaczniamy słowo application, abyśmy mogli z nim pracować.
W kolejnym wierszu dodamy nowy dokument do aplikacji słownej za pomocą funkcji Word.Documents.Add(). Jest to przechowywane w zmiennej mydoc.
'kopiowanie treści z arkusza Excel'
ThisWorkbook.Worksheets("sheet1").Range("A1:G20").Copy
Tutaj po prostu kopiujemy zakres z programu Excel. Musiałeś to zrobić wcześniej. Jest przechowywany w schowku.
„Wklejanie na dokumencie”
mydoc.Paragraphs(1).Range.PasteExcelTable _
LinkedToExcel:=Fałsz, _
Formatowanie słów:=Fałsz,
RTF:=Fałsz
Używamy metody PasteExcelTable klasy Paragraf.Range mydoc do wklejania danych ze schowka.
„zapisywanie dokumentu”
mójdok.SaveAs2 "MójDokument"
„zamknięcie dokumentu”
mójdok.Zamknij
'Opróżnianie schowka
CutCopyMode = Fałsz
Zapisujemy dokument pod nazwą MyDoc. Następnie zamykamy dokument za pomocą funkcji Zamknij. Wreszcie udostępniamy schowek do użytku przez innych.
Tak, tak, w ten sposób możesz utworzyć nowy dokument Word i skopiować do niego dane Excela za pomocą VBA. Nie wdawałem się w szczegóły, ponieważ spowodowałoby to wyczerpującą długość artykułu. To było tylko po to, aby dowiedzieć się, jak można wkleić do dokumentu Word za pomocą programu Excel. Mam nadzieję, że pomogło ci to zrozumieć proces. Jeśli masz jakiekolwiek pytania dotyczące tego artykułu, możesz skontaktować się ze mną w sekcji komentarzy poniżej.
Pierwsze kroki z formularzami użytkownika Excel VBA| Wyjaśnię, jak stworzyć formularz w Excelu, jak korzystać z przybornika VBA, jak obsługiwać dane wejściowe użytkownika i wreszcie jak przechowywać dane wejściowe użytkownika. Przejrzymy te tematy na jednym przykładzie i przewodniku krok po kroku.
Zmienne VBA w Excelu| VBA oznacza Visual Basic for Applications. Jest to język programowania firmy Microsoft. Jest używany z aplikacjami Microsoft Office, takimi jak MSExcel, MS-Word i MS-Access, podczas gdy zmienne VBA są specyficznymi słowami kluczowymi.
Zakres zmiennych Excel VBA| We wszystkich językach programowania mamy specyfikatory dostępu do zmiennych, które definiują, skąd można uzyskać dostęp do zdefiniowanej zmiennej. Excel VBA nie jest wyjątkiem. VBA również ma specyfikatory zakresu.
Argumenty ByRef i ByVal | Gdy argument jest przekazywany jako argument ByRef do innej podrzędnej lub funkcji, wysyłane jest odwołanie do rzeczywistej zmiennej. Wszelkie zmiany wprowadzone w kopii zmiennej zostaną odzwierciedlone w oryginalnym argumencie.
Usuń arkusze bez monitów o potwierdzenie za pomocą VBA w programie Microsoft Excel | Ponieważ usuwasz arkusze za pomocą VBA, wiesz, co robisz. Chcesz powiedzieć programowi Excel, aby nie wyświetlał tego ostrzeżenia i usuwał ten cholerny arkusz.
Dodaj i zapisz nowy skoroszyt za pomocą VBA w programie Microsoft Excel 2016| W tym kodzie najpierw utworzyliśmy odwołanie do obiektu skoroszytu. A następnie zainicjalizowaliśmy go nowym obiektem skoroszytu. Zaletą tego podejścia jest to, że możesz łatwo wykonywać operacje na tym nowym skoroszycie. Jak zapisywanie, zamykanie, usuwanie itp.
Wyświetl komunikat na pasku stanu Excel VBA| Pasek stanu w programie Excel może być używany jako monitor kodu. Gdy twój kod VBA jest długi i wykonujesz kilka zadań za pomocą VBA, często wyłączasz aktualizację ekranu, aby nie widzieć migotania ekranu.
Wyłącz komunikaty ostrzegawcze za pomocą VBA w programie Microsoft Excel 2016| Ten kod nie tylko wyłącza alerty VBA, ale także zwiększa wydajność czasową kodu. Zobaczmy jak.
Popularne artykuły:
50 skrótów Excela, które zwiększą Twoją produktywność | Przyspiesz swoje zadanie. Te 50 skrótów przyspieszy pracę w programie Excel.
Funkcja WYSZUKAJ.PIONOWO w programie Excel | Jest to jedna z najczęściej używanych i popularnych funkcji programu Excel, która służy do wyszukiwania wartości z różnych zakresów i arkuszy.
LICZ.JEŻELI w Excelu 2016 | Policz wartości z warunkami za pomocą tej niesamowitej funkcji. Nie musisz filtrować danych, aby zliczyć określone wartości. Funkcja Countif jest niezbędna do przygotowania deski rozdzielczej.
Jak korzystać z funkcji SUMIF w programie Excel | To kolejna ważna funkcja deski rozdzielczej. Pomaga to zsumować wartości w określonych warunkach.