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