質問するログイン新規登録

質問編集履歴

1

書式を改善しました。

2021/08/18 09:04

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,35 +1,42 @@
1
- OutlookをVBScriptで操作したいため、
1
+ OutlookをVBScriptで操作したいため、下記のようなプログラム(一部)を作成しました。
2
- 下記のようなプログラム(一部)を作成しました。
3
- (具体的にはメールをNASに保存しています。)
2
+ (具体的にはタイムスケジューラで実行し、メールをNASに保存しています。)
4
3
 
5
- -----ここから-----
4
+ ```VBS
6
5
  Dim objOlApp
7
6
  Dim objOlNs
8
7
 
9
8
  Set objOlApp = WScript.CreateObject("Outlook.Application")
10
9
  Set objOlNs = objOlApp.GetNameSpace("MAPI")
11
- -----ここまで-----
10
+ ```
12
11
 
13
12
 
14
13
  Outlookが起動してない場合は問題なくプログラムが実行されるのですが、
15
- Outlookが起動していると、「WScript.CreateObject("Outlook.Application")」で
16
- 「"Outlook.Application"というオブジェクトを作成できませんでた。」というエラーが発生します。
14
+ Outlookが起動ると下記のよエラーが発生します。
17
15
 
16
+ ```
18
- ネットでいくつか調べるCreateObjectではなく、GetObjectを使用すると良とありましたが、
17
+ "Outlook.Application"というオブジェクトを作成できせんでした
19
- 下記のようにしても「引数は省略できません。:'WScript.GetObject'」というエラーになります。
18
+ ```
20
19
 
20
+
21
- -----ここら-----
21
+ ネットでいくつ調べるとCreateObjectではなく、
22
+ GetObjectを使用すると良いとありましたので、下記のようにしました。
23
+
24
+ ```VBS
22
25
  Dim objOlApp
23
26
  Dim objOlNs
24
27
 
25
28
  Set objOlApp = WScript.GetObject(,"Outlook.Application")
26
29
  Set objOlNs = objOlApp.GetNameSpace("MAPI")
30
+ ```
27
- -----ここで-----
31
+ しかし、下記のようなエラーが出す。
32
+ ```
33
+ 引数は省略できません。:'WScript.GetObject'
34
+ ```
28
35
 
29
36
  ※「WScript.GetObject("Outlook.Application")」とした場合は、
30
37
  「オートメーションの操作中にファイル名またはクラス名を見つけられませんでした。」というエラーになります。
31
38
 
32
39
 
33
40
 
34
- Outlook起動中にOutlookを操作したい場合、
41
+ Outlook起動中にVBSでOutlookを操作したい場合、
35
42
  CreateObjectの代わりに何を使用すれば良いのでしょうか?