2012-10-09 76 views
10

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

​​

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

Windows 7 64位和Outlook 2010.以本地管理员身份运行。

回答

23

此错误是因为您无法将变量调暗为特别是VBS中的某些内容。更明确地说,“Dim”语句在没有在VBScript中定义变量类型的情况下使用,因为VBScript中的所有变量都自动为Variant类型。如果你试图将变量变暗为任何东西,它将会抛出一个错误。

相反,你想:

Dim myNameSpace 
Dim myFolder 
Dim myNewFolder 

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

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

您还需要创建Outlook应用程序。 (这就是为什么我使用的CreateObject)

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

而且,因为你不能提供VBS引用,你必须使用后期的任何对象绑定,重新写你的代码如下:

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 
+0

哦,不知道VBScript是否区分大小写,你在第一个“set”行中有'myOUtlook'。 – gravyface

+0

这不是,就像VBA技术上不区分大小写。不同的是,在VBA中,IDE将自动更新任何大小写不一致。 –