Excel文書の範囲を新しい文書にコピーしたいと思っています。ここに残したくない範囲があります。 、私は私のVBプログラムを実行し、自動的に新しい単語の文書に貼り付けます。Excelテーブルの範囲を抽出して新しい単語の文書にコピー
ただし、この範囲をコピーして新しい単語文書の画像形式に貼り付けています。 に単語表形式を貼り付けたいですが、単語表形式は横長A4の単語形式に最適です。これを行うにはどうすればいいですか?ここで
が私のコードです:'Tbl.CopyPicture Appearance:=xlScreen, Format:=xlPicture 'this line ...
Tbl.Copy '...replace with this line
次に、あなたがこのよう.PasteExcelTable method
をトリガすることができます:すべての
Sub gen()
Dim tbl0 As Excel.RANGE
Dim Tbl As Excel.RANGE
Dim tbl2 As Excel.RANGE
Dim wordApp As Word.Application
Dim myDoc As Word.Document
Dim WordTable As Word.Table
Dim wb As Workbook
Dim ws As Worksheet
Set wb = ThisWorkbook
Set ws = wb.Worksheets("17-18") ' Change e.g. sheet9.Name
'Optimize Code
Application.ScreenUpdating = False
Application.EnableEvents = False
'Value1 = Me.TextBox1.Value
'Value2 = Me.TextBox2.Value
'ws.Rows("84:89").EntireRow.Hidden = True 'ADJUST AS APPROPRIATE
'Copy Range from Excel
'Set tbl0 = ws.RANGE("A78:I83")
'Set Tbl = ws.RANGE(Value1, Value2)
Set Tbl = ws.RANGE(Selection.Address(ReferenceStyle:=xlA1, _
RowAbsolute:=False, ColumnAbsolute:=False))
' Set tbl2 = ws.Range("A90:I92")
'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
'Trigger copy separately for each table + paste for each table
Tbl.CopyPicture Appearance:=xlScreen, Format:=xlPicture
wordApp.Selection.Paste
wordApp.Selection.TypeParagraph
wordApp.Selection.PageSetup.Orientation = wdOrientLandscape
' resize_all_images_to_page_width myDoc
EndRoutine:
'Optimize Code
Application.ScreenUpdating = True
Application.EnableEvents = True
'Clear The Clipboard
Application.CutCopyMode = False
ws.Rows.EntireRow.Hidden = False
End Sub
を試してみてください。記録されたコードを見てください。 –
考えられる解決策: 'Excel'マクロを介して' Word'テーブルを作成し、 'Tbl'値を配列に入れ、作成した' Word'テーブルに割り当てます。 – AntiDrondert