在 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 然后继续,但我真的更愿意使用枚举值以提高可读性
msoEncodingUTF8 是 Office.MsoEncoding 枚举的成员。您可以通过设置对 Microsoft Office 对象库 版本的引用来使其可用。
通常,名称以 mso 开头的常量可从该库中获得。我不确定情况是否总是如此,但我会先看看那里。
如果您希望限制项目中引用的数量,您可以只在本地定义该常量。
Const msoEncodingUTF8 As Long = 65001
在使用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 然后继续,但我真的更愿意使用枚举值以提高可读性
msoEncodingUTF8 是 Office.MsoEncoding 枚举的成员。您可以通过设置对 Microsoft Office 对象库 版本的引用来使其可用。
通常,名称以 mso 开头的常量可从该库中获得。我不确定情况是否总是如此,但我会先看看那里。
如果您希望限制项目中引用的数量,您可以只在本地定义该常量。
Const msoEncodingUTF8 As Long = 65001