Проблема в этом случае (с точки зрения Word) - это не макет таблицы - это макет абзаца. Каждый абзац имеет существенный отступ справа и слева и больше места до/после, чем вы обычно хотели бы.
Я не думаю, что какой-либо из параметров Paste (например, Paste Special) в Word поможет, если вы не вставляете как неформатированный текст, затем выбираете текст, конвертируете в таблицу, а затем продолжаете оттуда.
Но даже простой макрос Word VBA, такой как этот, оставит вас с чем-то более управляемым. (Выберите таблицу, в которую вы скопировали, затем запустите макрос). Немного больше работы над кодом, вероятно, позволит вам получить большую часть форматирования, которую вы хотите, большую часть времени.
Sub fixupSelectedTable()
With Selection.Tables(1).Range.ParagraphFormat
.LeftIndent = 0
.RightIndent = 0
.SpaceBefore = 0
.SpaceAfter = 0
.LineSpacingRule = wdLineSpaceSingle
End With
End Sub
Если вы больше знакомы с Applescript, эквивалент выглядит примерно так:
-- you may need to fix up the application name
-- (I use this to ensure that the script uses the Open Word 2011 doc
-- and does not try to start Word for Mac 15 (2016))
tell application "/Applications/Microsoft Office 2011/Microsoft Word.app"
tell the paragraph format of the text object of table 1 of the text object of the selection
set paragraph format left indent to 0
set paragraph format right indent to 0
set space before to 0
set space after to 0
set line spacing rule to line space single
end tell
end tell
Я не знаком ни с чем в этом вопросе для (Win) Слово за исключением, но ... Может вы выводите данные таблицы в формате с разделителями символов? Или как файл или строка? Если да, это может быть вставлено/записано в/в документ и преобразовано в таблицу с использованием метода ConvertToTable объектной модели Word. –
почему нисходящий? – Richard