首页 > 解决方案 > 从excel复制到word时文本后面的矩形,转换为PDF打印

问题描述

这可能看起来有点小众,但在将表格从 excel 复制到 word、将文件导出为 PDF 然后打印时,我遇到了一个奇怪的视觉问题。我正在使用 Visual Basic 完成所有这些工作。我这样做的原因是因为我在 excel 中准备了一个报价,并且在该文件中,有一些表格具有引用某些项目的公式。然后将所有内容导出为word,然后以PDF格式发送给我的客户。

这张照片显示如上的最终结果。表格被复制成word,word被导出成PDF,然后打印。

这张照片直接从 word 打印时显示最终结果。这是我想要的结果,但是我无法向客户发送 Word 文档,它需要 PDF 格式。

这张照片中,顶部的表格被屏幕截图(使用截图工具)并粘贴。文件被转换为 PDF 并打印。现在该表的颜色略有不同,但没有矩形。

以下是我使用的代码(如果相关)

'to paste in the table, [w] variable is the word.document
    Worksheets("TABLES").Range("InsuranceTable").Select
    Selection.CopyPicture Appearance:=xlPrinter, Format:=xlPicture
    w.Bookmarks("PreconTable").Range.Paste 'page 4

'to export the word document to PDF. I have tried both with the same result
    ActiveDocument.SaveAs fPath & "\" & fName, wdFormatPDF

    ActiveDocument.ExportAsFixedFormat fPath & "\" & fName, wdExportFormatPDF, True, wdExportOptimizeForPrint

有谁知道我为什么要买这些盒子?

标签: excelvbapdfms-word

解决方案


我怀疑问题的根源是Selection.CopyPicture

我只是使用该PasteExcelTable方法将其复制并粘贴为表格

Worksheets("TABLES").Range("InsuranceTable").Copy
w.Bookmarks("PreconTable").Range.PasteExcelTable LinkedToExcel:=False, WordFormatting:=False, RTF:=False

推荐阅读