800A0401 - Ожидаемый конец заявления

Я создал файл .vbs для создания папки в Outlook. Я скопировал большую часть script прямо из 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 script раньше. Не уверен, что мне не хватает.

Windows 7 64-разрядная и Outlook 2010. Работа в качестве локального администратора.

Ответ 1

Эта ошибка возникает из-за того, что вы не можете сглаживать переменные как что-то в частности в VBS. Более подробно сказано, что оператор "Dim" используется без указания типа переменной в VBScript, потому что все переменные в VBScript автоматически имеют тип Variant. Если вы попытаетесь сменить переменную как что-либо, она выдает ошибку.

Вместо этого вы хотите:

Dim myNameSpace
Dim myFolder
Dim myNewFolder

Кроме того, вы, похоже, только что скопировали VBA из Outlook и попытались запустить его как 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