800A0401 - 预期结束声明

时间:2012-10-09 15:48:06

标签: vba vbscript outlook-2010

我创建了一个.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.以本地管理员身份运行。

1 个答案:

答案 0 :(得分:31)

此错误是因为您无法将变量视为特定于VBS的变量。更明确地说,使用“Dim”语句而不在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