2012-10-09 7 views
10

Ich habe eine .vbs-Datei erstellt, um einen Ordner in Outlook zu erstellen. Ich habe den Großteil des Skripts direkt aus MSDN kopiert und erhalte die Fehlermeldung "Expected End of Statement" 800A0401.800A0401 - Erwartetes Ende der Anweisung

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 

Niemals zuvor ein .vbs-Skript erstellt. Nicht sicher, was ich vermisse.

Windows 7 64-Bit und Outlook 2010. Wird als lokaler Administrator ausgeführt.

Antwort

23

Dieser Fehler liegt daran, dass Sie Variablen in VBS nicht als etwas dimmen können. Genauer gesagt wird die Anweisung "Dim" verwendet, ohne den Variablentyp in VBScript zu definieren, da alle Variablen in VBScript automatisch vom Typ Variant sind. Wenn Sie versuchen, eine Variable als nichts zu dimmen, wird ein Fehler ausgegeben.

Stattdessen Sie wollen:

Dim myNameSpace 
Dim myFolder 
Dim myNewFolder 

Zusätzlich Sie scheinen nur einige VBA aus Outlook kopiert zu haben und versucht, es als VBS zu laufen.

VBScript kann nicht Application.GetNameSpace("MAPI") interpretieren.

Sie müssen auch eine Outlook-Anwendung erstellen. (., Weshalb ich Create verwendet)

dim myOutlook 
set myOUtlook = CreateObject("Outlook.Application") 

Auch da Sie keine Referenzen in VBS zur Verfügung stellen kann, haben Sie spät verwenden für alle Objekte verbindlich So neu geschrieben Code ist wie folgt:

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

Oh, nicht sicher, ob VBScript die Groß- und Kleinschreibung unterscheidet, indem Sie "myOUTlook" in Ihrer ersten "set" -Zeile haben. – gravyface

+0

Es ist nicht, genau wie VBA technisch nicht Groß-und Kleinschreibung. Der Unterschied ist, dass in VBA die IDE automatisch alle Inkonsistenzen bei Großschreibung aktualisiert. –