2017-01-26 8 views
0

Excelマクロを使用してExcelファイルを開き、範囲をコピーし、それをワードドキュメントの表として貼り付けるときに使用します。すべては、ページ1に貼り付けられ、ページ6に貼り付けられるのを除いて素晴らしいものです(必要な場所)。一つの選択肢は、段落番号を変更してページ6に行くまでに他の方法があります(段落番号243を試して、ページ5の中央に投稿しました)。 WordCountの段落番号は一致しません。事前に助けてくれてありがとう。ExcelからWordにマクロをコピーしてページに貼り付ける#

Sub CopyExcelPasteWord() 
    Dim objExcel As New Excel.Application 
    Dim exWb As Excel.Workbook 
    Dim tbl As Excel.Range 
    Dim WordTable As Word.Table 

    Set exWb = objExcel.Workbooks.Open("C:\Users\a222012\Desktop\Standard Bank\2017\FASS\CSS Project\Cash Shared Services\Fees_Contract.xlsm") 
    Set tbl = exWb.Sheets("Device_Selection").Range("A5:G26") 
    tbl.Copy 
    Selection.GoTo wdGoToPage, wdGoToAbsolute, 6 'Go to page 6 

    ThisDocument.Paragraphs(1).Range.PasteExcelTable LinkedToExcel:=False, _ 
     WordFormatting:=False, RTF:=False 

    Set WordTable = ThisDocument.Tables(1) 
    WordTable.AutoFitBehavior (wdAutoFitWindow) 

    exWb.Close 

    Set exWb = Nothing 
End Sub 
+1

私は私の問題への解決策を発見しました。貼り付け先の単語文書にブックマークを追加します。次に、 'ThisDocument.Paragraphs(1).Range.PasteExcelTable'の代わりに' ThisDocument.Bookmarks( "BookMark_Name")を使用してください。Range.PasteExcelTable' – KoderM16

+0

こんにちはKoderM。それはあなたの解決策を「回答」に入れて答えとしてマークする場合はサイト管理者や他のユーザーを助けるでしょう:-) –

+0

HI @CindyMeister。要求どおりに完了しました:) – KoderM16

答えて

0

上記の解決方法は、Wordでブックマークを使用することです。 Wordの行に移動して、テキスト/表などをExcelからコピーして、ブックマークを挿入して(そして名前を付けたい)

そして、そのブックマークに貼り付けるには、次のコードを使用します。

Sub CopyExcelPasteWord() 
Dim objExcel As New Excel.Application 
Dim exWb As Excel.Workbook 
Dim tbl As Excel.Range 
Dim WordTable As Word.Table 

Set exWb = objExcel.Workbooks.Open("Place path to file here including file name and extension") 
Set tbl = exWb.Sheets("SheetNameHere").Range("RangeHere") 
tbl.Copy 


ThisDocument.Bookmarks("EnterBookmarkNameHere").Range.PasteExcelTable LinkedToExcel:=False, _ 
WordFormatting:=False, RTF:=False 

'This next part just sets the table to fit across the page. The number in the bracket refers to the table 1 in the document. Change it accordingly. 

Set WordTable = ThisDocument.Tables(1) 
WordTable.AutoFitBehavior (wdAutoFitWindow) 

exWb.Close 

Set exWb = Nothing 
End Sub 
関連する問題