15

Outlook でフォルダーを作成するために .vbs ファイルを作成しました。

スクリプトのほとんどを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 スクリプトを作成したことがありません。

Windows 7 64 ビットおよび Outlook 2010。ローカル管理者として実行。

4

1 に答える 1

34

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

代わりに、次のことが必要です。

Dim myNameSpace
Dim myFolder
Dim myNewFolder

さらに、Outlook から VBA をコピーして 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
于 2012-10-09T15:54:56.087 に答える