質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

Q&A

解決済

3回答

4149閲覧

Outlook起動中にVBSで操作したい。

退会済みユーザー

退会済みユーザー

総合スコア0

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

0グッド

0クリップ

投稿2021/08/18 08:17

編集2021/08/18 09:04

OutlookをVBScriptで操作したいため、下記のようなプログラム(一部)を作成しました。
(具体的にはタイムスケジューラで実行し、メールをNASに保存しています。)

VBS

1Dim objOlApp 2Dim objOlNs 3 4Set objOlApp = WScript.CreateObject("Outlook.Application") 5Set objOlNs = objOlApp.GetNameSpace("MAPI")

Outlookが起動してない場合は問題なくプログラムが実行されるのですが、
Outlookが起動していると下記のようなエラーが発生します。

"Outlook.Application"というオブジェクトを作成できませんでした。

ネットでいくつか調べるとCreateObjectではなく、
GetObjectを使用すると良いとありましたので、下記のようにしました。

VBS

1Dim objOlApp 2Dim objOlNs 3 4Set objOlApp = WScript.GetObject(,"Outlook.Application") 5Set objOlNs = objOlApp.GetNameSpace("MAPI")

しかし、下記のようなエラーが出ます。

引数は省略できません。:'WScript.GetObject'

※「WScript.GetObject("Outlook.Application")」とした場合は、
「オートメーションの操作中にファイル名またはクラス名を見つけられませんでした。」というエラーになります。

Outlook起動中にVBSでOutlookを操作したい場合、
CreateObjectの代わりに何を使用すれば良いのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

横から失礼します。

私の環境(Win10)ですと、以下で動作しました。

Set objOlApp = WScript.GetObject("","Outlook.Application")

念のため、エラーの行を確認いただけないですか?

投稿2021/08/31 06:05

hex309

総合スコア761

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/08/31 07:33

ご回答ありがとうございます。 実施したところ、同じエラーになりました。 Createの場合もそうなのですが、手動で起動すると実行できるみたいですが、 タイムスケジューラで起動するとエラーになります。 タイムスケジューラではなんらかの制限がかかっているのかな、と別の方法を検討します。 ご回答ありがとうございました。
YT0014

2021/08/31 07:49 編集

タスクスケジューラでの実行のみで問題が発生するのなら、タスクスケジューラの設定を変更してみるべきかと。 最上位権限で実行すれば、実行できるかもしれません。 質問文を編集して、タスクスケジューラでの実行のみの問題であることと、トリガーなども含め、タスクスケジューラの設定をご提示いただきますようお願いします。
guest

0

参考ページで見つけただけで未検証ですが、以下で動作するようです。

WScript.GetObject("", "Outlook.Application")

投稿2021/08/18 10:54

YT0014

総合スコア1708

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/08/19 00:52

ご回答ありがとうございます。 折角教えて頂いたのですが、 CreateObjectの時と同じエラーが出てうまくいきませんでした^^; お手数をおかけ頂き、ありがとうございました。
guest

0

ベストアンサー

タスクスケジューラを使う以上解消できないようなので(?)
別の方法(Outlookのタスクを一旦killしてからCreateを使う)で逃げる事にしました。

回答頂いた方、ありがとうございました。

投稿2021/08/31 07:47

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問