2012-10-09 22 views
10

Outlookでフォルダを作成するために.vbsファイルを作成しました。 MSDNのスクリプトのほとんどをコピーして、 "Statement of Endement of Endement"エラーコード800A0401の応答を得ました。800A0401 - 期待されるステートメントの終了

​​

以前は.vbsスクリプトを作成していませんでした。私は何が欠けているか分からない。

Windows 7 64ビット版とOutlook 2010.ローカル管理者として実行しています。

答えて

23

このエラーは、特にVBSではdim変数を使用できないためです。 VBScript内のすべての変数は自動的にVariant型であるため、VBScriptで変数型を定義しないと、より明示的に "Dim"ステートメントが使用されます。変数を何かにDimしようとすると、エラーがスローされます。

代わりに、あなたがしたい:

Dim myNameSpace 
Dim myFolder 
Dim myNewFolder 

はまた、あなただけの見通しから、いくつかのVBAをコピーして、VBSとしてそれを実行しようとしているように見えます。

VBscriptは、Application.GetNameSpace("MAPI")の解釈方法がわかりません。

また、Outlookアプリケーションを作成する必要があります。あなたはVBS内の参照を提供することができないので、

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

はまた、あなたが任意のオブジェクトに対して遅延バインディングを使用する必要がありますので、あなたのコード書き換えは次のようである(私は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 
+0

VBScriptで大文字と小文字が区別されるかどうかは、最初の "set"行に 'myOUtlook'があるかどうかわかりません。 – gravyface

+0

VBAのように、技術的には大文字と小文字は区別されません。違いは、VBAではIDEが大文字と小文字の不一致を自動的に更新することです。 –

関連する問題