gra*_*ace 14 vbscript vba 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
Run Code Online (Sandbox Code Playgroud)
以前从未创建过.vbs脚本.不知道我错过了什么.
Windows 7 64位和Outlook 2010.以本地管理员身份运行.
Dan*_*iel 32
此错误是因为您无法将变量视为特定于VBS中的某些内容.更明确地说,使用"Dim"语句而不在VBScript中定义变量类型,因为VBScript中的所有变量都自动为Variant类型.如果您尝试将变量视为任何变量,则会引发错误.
相反,你想要:
Dim myNameSpace
Dim myFolder
Dim myNewFolder
Run Code Online (Sandbox Code Playgroud)
此外,您似乎刚刚从Outlook复制了一些VBA并尝试将其作为VBS运行.
VBscript不知道如何解释Application.GetNameSpace("MAPI").
您还需要创建Outlook应用程序.
dim myOutlook
set myOUtlook = CreateObject("Outlook.Application")
Run Code Online (Sandbox Code Playgroud)
此外,由于您无法在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
Run Code Online (Sandbox Code Playgroud)