-->

800A0401 - 声明预期的结束(800A0401 - Expected End of Sta

2019-06-18 11:20发布

我创建了一个.vbs文件在Outlook中创建一个文件夹。 我已经复制大部分脚本的右出的MSDN ,并得到一个错误代码800A0401响应“声明期待的结束”。

Option Explicit
Dim myNameSpace As Outlook.NameSpace
Dim myFolder As Outlook.Folder
Dim myNewFolder As Outlook.Folder

Set myNameSpace = Application.GetNamespace("MAPI")
Set myFolder = myNameSpace.GetDefaultFolder(olFolderInbox)
Set myNewFolder = myFolder.Folders.Add("Postini")

Wscript.Echo "Folder created"
Wscript.Quit

以前从未创建了一个.vbs脚本。 不知道我错过了什么。

Windows 7的64位和Outlook 2010中运行的本地管理员。

Answer 1:

这个错误是因为你不能暗淡变量的东西尤其是在VBS。 说得更明确了“暗淡”,而不在VBScript中定义的变量类型用于语句,因为在VBScript中所有变量自动Variant类型。 如果尝试昏暗的变量作为任何东西,它会抛出一个错误。

相反,你想要的:

Dim myNameSpace
Dim myFolder
Dim myNewFolder

此外,你似乎已经只是复制从Outlook VBA部分,并试图运行它VBS。

VBScript不知道如何解释Application.GetNameSpace("MAPI")

您将还需要创建一个Outlook应用程序。

dim myOutlook
set myOUtlook = CreateObject("Outlook.Application")

此外,由于不能提供VBS引用,你必须使用后期的任何对象绑定,以便重新编写代码如下(这就是为什么我使用的CreateObject。):

Option Explicit
Dim myOutlook
Dim myNameSpace
Dim myFolder
Dim myNewFolder

set myOUtlook = CreateObject("Outlook.Application")
Set myNameSpace = myOutlook.GetNamespace("MAPI")
Set myFolder = myNameSpace.GetDefaultFolder(6) '6 is the value of olFolderInbox
Set myNewFolder = myFolder.Folders.Add("Postini")  
Wscript.Echo "Folder created"
Wscript.Quit


文章来源: 800A0401 - Expected End of Statement