Доброго времени суток,
Возникла необходимость переноса умной таблицы из Excel в Word.
Нужно каждый раз вставлять обновленную таблицу после конекретного текста "Currency of this Annex: EUR".
Спасибо все кто отзовется.
Часть года ниже.
Весь код здесь.
Возникла необходимость переноса умной таблицы из Excel в Word.
Нужно каждый раз вставлять обновленную таблицу после конекретного текста "Currency of this Annex: EUR".
Спасибо все кто отзовется.
Часть года ниже.
Код |
---|
'----------------------------------------- 'Paste Table into MS Word ' myDoc.Paragraphs(3).Range.PasteExcelTable _, please proceeed with specifict plase in word document myDoc.Paragraphs(3).Range.PasteExcelTable _ LinkedToExcel:=False, _ WordFormatting:=False, _ RTF:=False '----------------------------------------- |
Код |
---|
Sub coppy_data_to_word() 'Must have Word Object Library Active in Order to Run _ '(VBE > Tools > References > Microsoft Word 15.0 Object Library) Dim tbl As Excel.Range Dim WordApp As Word.Application Dim myDoc As Word.Document Dim WordTable As Word.Table 'Optimize Code Application.ScreenUpdating = False Application.EnableEvents = False 'Copy Range from Excel Set tbl = ThisWorkbook.Worksheets("sheet_name").ListObjects("tbl_name").Range 'proceed with sheet name and tbl name 'Create an Instance of MS Word On Error Resume Next 'Is MS Word already opened? Set WordApp = GetObject(class:="Word.Application") 'Clear the error between errors Err.Clear 'If MS Word is not already open then open MS Word If WordApp Is Nothing Then Set WordApp = CreateObject(class:="Word.Application") 'Handle if the Word Application is not found If Err.Number = 429 Then MsgBox "Microsoft Word could not be found, aborting." GoTo EndRoutine End If On Error GoTo 0 'Make MS Word Visible and Active WordApp.Visible = True WordApp.Activate 'Create a New Document 'Set myDoc = WordApp.Documents.Add Set myDoc = WordApp.Documents.Open("D:\UserData\...") 'file location 'Copy Excel Table Range tbl.Copy '----------------------------------------- 'Paste Table into MS Word ' myDoc.Paragraphs(3).Range.PasteExcelTable _, please proceeed with specifict plase in word document myDoc.Paragraphs(3).Range.PasteExcelTable _ LinkedToExcel:=False, _ WordFormatting:=False, _ RTF:=False '----------------------------------------- 'Autofit Table so it fits inside Word Document Set WordTable = myDoc.Tables(1) WordTable.AutoFitBehavior (wdAutoFitWindow) EndRoutine: 'Optimize Code Application.ScreenUpdating = True Application.EnableEvents = True 'Clear The Clipboard Application.CutCopyMode = False End Sub |