在 VBA 中使用 msoEncodingUTF8 时出现未定义变量错误

Getting undefined variable error when using msoEncodingUTF8 in VBA

在使用msoEncodingUTF8枚举值时,如何避免出现未定义变量错误?这是附加到 MS Access 表单的 VBA 脚本,用于将报告输出到文件:

Option Compare Database
Option Explicit

Private Sub DoStuff()
    ...    
    DoCmd.OutputTo acOutputReport, "myReport", acFormatPDF, "C:/path/file.pdf",False,"",msoEncodingUTF8, 0
    ...
End Sub

我知道我可以用 65001 替换 msoEncodingUTF8 然后继续,但我真的更愿意使用枚举值以提高可读性

msoEncodingUTF8Office.MsoEncoding 枚举的成员。您可以通过设置对 Microsoft Office 对象库 版本的引用来使其可用。

通常,名称以 mso 开头的常量可从该库中获得。我不确定情况是否总是如此,但我会先看看那里。

如果您希望限制项目中引用的数量,您可以只在本地定义该常量。

Const msoEncodingUTF8 As Long = 65001