2014-06-15 53 views
1

我用这个代码表从Excel中复制到Word复制表,使用VBA

Sub exceltoword() 
Dim rangeToCopy As Range 
Set rangeToCopy = Range("A1").CurrentRegion 
Dim wordApp As Word.Application 
Set wordApp = New Word.Application 
wordApp.Visible = True 
Dim wordDoc As Word.Document 
Set wordDoc = wordApp.Documents.Open("C:\Users\mohammad.taha\AppData\Roaming\Microsoft\Templates\ARABBANK -SALARIES STATEMENT.dotx") 
wordDoc.Application.Selection.Find.Text = "H" 
wordDoc.Application.Selection.Find.Execute 
wordDoc.Application.Selection.MoveDown Unit:=wdLine 
rangeToCopy.Copy 
wordDoc.Words(1).PasteExcelTable False, False, False 
End Sub 

但是表被粘贴到文档中的第一行从Excel到Word指定其位置,我想要将表格粘贴到文档中间的特定位置,我应该如何修改此代码?

回答

0

尝试使用下面的代码:

Sub exceltoword() 
    Dim rangeToCopy As Range 
    Set rangeToCopy = Range("A1").CurrentRegion 
    Dim wordApp As Word.Application 
    Set wordApp = New Word.Application 
    wordApp.Visible = True 
    Dim wordDoc As Word.Document 
    Set wordDoc = wordApp.Documents.Open("C:\Users\mohammad.taha\AppData\Roaming\Microsoft\Templates\ARABBANK -SALARIES STATEMENT.dotx") 
    wordDoc.Application.Selection.Find.Execute "H" 
    wordApp.Selection.MoveRight Unit:=wdCharacter, Count:=1 
    wordApp.Selection.TypeParagraph 
    wordApp.Selection.TypeParagraph 
    rangeToCopy.Copy 
    wordApp.Selection.PasteExcelTable False, False, False 
    End Sub 

我已经添加了两个段落。如果在你的模板中看起来不太好,你可以删除它。

+0

谢谢比拉,这段代码将光标移到右边的一个字符处,我希望代码在字母“H”之后将光标向下移动一行并在那里粘贴表格,如果可能的话 –

+0

嗨,穆罕默德塔哈。 : 替换上面的线 'wordApp.Selection.MoveRight单位:= wdCharacter,计数:= 1 wordApp.Selection.TypeParagraph wordApp.Selection.TypeParagraph' 对于: wordApp.Selection.MoveDown单位: = wdLine,Count:= 1,Extend:= wdMove – Bira