2012-10-09 100 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將自動更新任何大小寫不一致。 –