如何在 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 过程中使用可选数组参数?

如何在 VBA 中使用枚举进行验证

如何使用 VBA 在 Excel 中求和/合并相似的行?

如何使用 VBA 在 PPT 中编辑/取消组合 EMF 粘贴?

如何在 VBA 中使用 Excel 的内置模函数 (MOD)?

如何使用excel vba,对outlook进行操作?