Kopiowanie tabeli z Worda do Excela
by vbatools on Oct.03, 2011, under Excel, Porady, Word
Jak skopiować konkretną tabelę z Worda do Excela w tle?
Wpierw należy odczytać nr tabeli w dokumencie, ponieważ MS Word zapisuje kolejno tabele i jedynie w ten właśnie sposób można się do nich odwołać. W poniższej procedurze do stałej przypisujemy jej numer a następnie, po określeniu pozycji kursora następuje jej wklejenie.
Sub Tabela_z_WtoXL() 'MVP OShon from VBATools.pl Const nr_tabeli As Integer = 2 'Numer tabeli Dim wdApp As Object Set wdApp = CreateObject("Word.Application") Dim FileName As Variant FileName = Application.GetOpenFilename( _ filefilter:="Pliki Worda (*.doc*),*.doc*", _ Title:="Wybierz plik do importu danych") If FileName = False Then MsgBox "Nie wybrano żadnego pliku!", vbExclamation, "VBATools.pl" Exit Sub End If With wdApp .Visible = False .Documents.Open FileName:=FileName If .ActiveDocument.Tables.Count < nr_tabeli Then GoTo blad .ActiveDocument.Tables(nr_tabeli).Range.Copy Sheets("arkusz1").Range("a6").Select 'Ustawienie kursora ActiveSheet.Paste 'Kopiowanie do Excela .ActiveWindow.Close End With Set wdApp = Nothing Exit Sub blad: MsgBox "Wybrany plik nie posiada tabeli nr:" & nr_tabeli, _ vbExclamation, "VBATools.pl" End Sub
(c) Shon Oskar – www.VBATools.pl
Wszelkie prawa zastrzeżone. Żadna część ani całość tego artykułu nie może być powielana ani publikowana bez zgody autora.