При вставке таблицы Excel в документ Word шрифты выглядят по-разному - PullRequest
1 голос
/ 13 июня 2009

Я пытаюсь использовать макрос VBA (для Office 2003) для следующих действий:

  1. В Excel пользователь выберет диапазон ячеек
  2. В Word пользователь вызывает макрос (с помощью кнопки или ярлыка), чтобы вставить выбранный диапазон Excel в качестве встроенного объекта

Код пока не проблема, мои проблемы:

  • Учитывая, что пользователь работает в документе Word, скорее всего будут использовать те же шрифты в Excel
  • Когда диапазон Excel был вставлен в Word, и они оба используют одинаковые имена и размеры шрифтов, они выглядят по-разному внутри Word (шрифты выглядят так, как будто они немного растянуты)
  • Стилизация границ ячеек в Excel не похожа на стилизацию границ ячеек в Word

Я ценю любые советы на этот счет

Ответы [ 3 ]

0 голосов
/ 17 июня 2009

Когда вы вставляете в качестве объекта листа Excel, на самом деле Word отображает изображение, созданное в Excel. Обратите внимание, что вы не можете выделить любой текст, например. Похоже, Word искажает изображение, поэтому шрифты не совпадают.

Редактировать: я не могу говорить за Office 2003, но Office 2007 по умолчанию использует формат HTML, используя PasteExcelTable . Точное утверждение макроса:

Selection.PasteExcelTable False, False, False

Это даст форматирование, совместимое с Word, но, к сожалению, данные не являются живыми и не будут обновляться при изменении электронной таблицы. Если ваши требования не включают обновление в реальном времени, попробуйте этот метод.

0 голосов
/ 02 июля 2009

Наилучшие визуальные результаты можно получить, используя Selection.CopyPicture(Appearance, Format); однако вы не сможете редактировать данные внутри Word, поскольку получите только изображение.

0 голосов
/ 17 июня 2009

Возможно ли, чтобы макрос создавал таблицу из ячеек (как обычно происходит, когда вы копируете их вручную), а не вставлял объект Excel.

...