如何用Range.Paste方法为从Excel复制到Word的表格添加边框
为粘贴到Word的Excel表格添加边框的解决方案
嘿,我来帮你搞定这个问题!你现在是把Excel里的单元格区域粘贴到Word的书签位置,但不知道怎么给这个自动生成的表格加边框对吧?其实很简单,粘贴之后我们可以直接定位到书签范围内的表格对象,然后设置它的边框属性就行。
你原来的代码只完成了粘贴操作,我们只需要在粘贴后添加几行代码,就能给表格加上边框了。修改后的代码如下:
ThisWorkbook.Sheets("Participants - C").Range("C7:D13").Copy With docWord.Bookmarks("TransParties").Range .Paste ' 获取粘贴生成的表格(因为我们粘贴的是连续单元格区域,Word会自动转为单个表格) With .Tables(1) ' 启用所有边框 .Borders.Enable = True ' 设置外边框样式、宽度和颜色 .Borders.OutsideLineStyle = wdLineStyleSingle .Borders.OutsideLineWidth = wdLineWidth150pt .Borders.OutsideColorIndex = wdBlack ' 设置内边框样式、宽度和颜色 .Borders.InsideLineStyle = wdLineStyleSingle .Borders.InsideLineWidth = wdLineWidth150pt .Borders.InsideColorIndex = wdBlack End With End With
简单解释一下这段代码的逻辑:
- 用
With语句把书签的Range对象包裹起来,这样粘贴和后续操作都能直接基于这个范围,不用重复写路径 - 粘贴完成后,
.Tables(1)就是我们刚粘贴生成的表格——因为你复制的是Excel里的连续单元格区域,Word会自动把它转换成一个单独的表格,所以取第一个表格就准没错 - 你可以根据自己的需求调整边框的样式:比如把
wdLineStyleSingle改成wdLineStyleDouble就能变成双线边框,或者修改wdLineWidth150pt来调整边框粗细,颜色也可以换成其他wdColorIndex枚举值
内容的提问来源于stack exchange,提问作者Nikita Tiwari
相关产品推荐
相关产品推荐

