如何在 VBA 中使用 wdBorderBottom,它显示为 Empty
Posted
技术标签:
【中文标题】如何在 VBA 中使用 wdBorderBottom,它显示为 Empty【英文标题】:How to use wdBorderBottom with VBA, it is showing up as Empty 【发布时间】:2015-11-16 06:20:18 【问题描述】:为什么 wdBorderBottom 显示为空?
我想这样做:
Set rowNew = oAdjustHereTable.Rows.Add
rowNew.Borders(wdBorderBottom).LineStyle = wdLineStyleSingle
我正在寻找如何设置适用于 office 2013 的 MS Word 表格单元格边框的示例
当我使用调试器时,它显示 wdBorderBottom 为空。
使用:MS Access 2013。看起来它已经过时或有错误或其他什么。 我尝试了很多来自网络的示例,但似乎没有任何效果。
常量在这里,但是使用常量(-13)看起来不起作用,它没有改变边框。
https://msdn.microsoft.com/en-us/library/office/ff821589.aspx
【问题讨论】:
您在哪个 IDE 中工作?您可能没有定义所有“枚举”和常量。所以你可以用它的实际值替换它(-3
而不是-13
):Const wdBorderBottom = -3 (&HFFFFFFFD)
和Const wdLineStyleSingle = 1
,所以你的行将是rowNew.Borders(-3).LineStyle = 1
@R3uK IDE 是 MS Access 2013 - 即内置 IDE。基本问题是我找不到任何可以设置单元格边框的示例。 ...是的,-3 不是 -13。将更多地研究常量,但它看起来是“空的”是有原因的。
您是否参考了 Microsoft Word 对象库集?你的模块顶部有Option Explicit
吗?如果没有,你应该拥有它们。
@eddyparkinson :正如@Andre451 所说,如果您在另一个Office 应用程序中没有来自Word 的常量值,则需要检查您的引用并将其添加到Microsoft Word Object Library
@Andre451 解决了。是否要将其添加为答案。
【参考方案1】:
未设置对 Microsoft Word 对象库的引用,因此未定义 wdBorderBottom
。
为避免此类错误,请将Option Explicit
添加到脚本顶部,它会强制执行变量声明并在编译时报告未声明的变量/常量。
要在新模块中自动启用此功能,请在 VBA 编辑器中设置 Require Variable Declaration 选项。
【讨论】:
以上是关于如何在 VBA 中使用 wdBorderBottom,它显示为 Empty的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 VBA 在 PPT 中编辑/取消组合 EMF 粘贴?