15

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

4

1 回答 1

34

此错误是因为您不能将变量变暗,特别是在 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
于 2012-10-09T15:54:56.087 回答