Ms access 在VBA中使用msoEncodingUTF8时获取未定义变量错误

Ms access 在VBA中使用msoEncodingUTF8时获取未定义变量错误,ms-access,vba,ms-access-2010,Ms Access,Vba,Ms Access 2010,使用msoEncodingUTF8枚举值时,我需要做什么来避免出现未定义的变量错误?这是附加在MS Access窗体上的VBA脚本,用于将报告输出到文件: Option Compare Database Option Explicit Private Sub DoStuff() ... DoCmd.OutputTo acOutputReport, "myReport", acFormatPDF, "C:/path/file.pdf",False,"",msoEncodi

使用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,长度=65001

谢谢!我已经包含了MicrosoftOffice对象,但没有用正确的名称空间在msoEncodingUTF8前面加上Office.MsoEncoding就成功了。事实上,我曾经有过办公室。自动完成工具开始提供建议。总是小事情!