800A0401 – Fin de estado esperado

Creé un archivo .vbs para crear una carpeta en Outlook. Copié la mayoría del script directamente de MSDN y recibí una respuesta del código de error “Expected End of Statement” 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 

Nunca creó una secuencia de comandos .vbs antes. No estoy seguro de lo que me estoy perdiendo.

Windows 7 de 64 bits y Outlook 2010. Ejecución como administrador local.

Este error se debe a que no se pueden atenuar las variables como algo en particular en VBS. Dicho más explícitamente, la instrucción “Dim” se usa sin definir el tipo de variable en VBScript porque todas las variables en VBScript son automáticamente de tipo Variant. Si intenta atenuar una variable como cualquier cosa, arrojará un error.

En cambio, quieres:

 Dim myNameSpace Dim myFolder Dim myNewFolder 

Además, parece que acaba de copiar algunos VBA de Outlook e intentó ejecutarlos como VBS.

VBscript no sabe cómo interpretar Application.GetNameSpace("MAPI") .

Necesitarás también crear una aplicación de Outlook.

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

Además, dado que no puede proporcionar referencias en VBS, debe utilizar el enlace tardío para cualquier objeto (por lo que utilicé CreateObject). Por lo tanto, el código reescrito es el siguiente:

 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 
Intereting Posts