VBATools

Kopiowanie tabeli z Worda do Excela

by 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.
:, , , ,

Leave a Reply