2017-01-20 14 views
0

Windowsサーバ2012のMSアクセス(Office 365)で実行するマクロを作成し、MS Outlookで電子メールを作成して送信するスクリプトを実行します。私たちはMS Accessの中からマクロを実行できますが、このプロセスを自動的にスケジュールするウィンドウタスクスケジューラを取得することはできません。私たちがやっていることは、MS Accessを使用して自動的にお客様の請求書を作成することです。開いているファイル内でマクロを実行すると、マクロは完全に機能します。それはPDFとして添付された請求書を含むすべての電子メールを作成し、Outlookに顧客に送信されます。これは、マクロを1回クリックするだけで完了します。しかし、このプロセスをWindowsのタスクスケジューラでスケジュールすることはできません。誰も助けることができますか?Windowsサーバ2012のタスクスケジューラ経由でマクロを実行する

+0

Outlookも実行していますか?はいの場合は、Outlookリマインダを使用してマクロを呼び出します – 0m3r

答えて

0

コメントは十分な情報を投稿できないため、私自身の質問に答えています。

最終的に、タスクスケジューラではなくOutlookリマインダを使用するために、上記のコメントのいずれかの提案を使用してこれを行うことができました。

この解決策では、OUTLOOKにタスクと予定リマインダを設定します。 Outlookのリマインダの定期的なスケジュールは、タスクスケジューラの代替として機能します。 正確な識別を助けるためにリマインダを分類しました。 (新しいカテゴリを追加して名前を付ける) OutlookのVBAスクリプトはリマインダーカテゴリを識別することによって起動され、MSAccessマクロが開始され、電子メールが送信されてからAccessアプリケーションが閉じられます。これは、このOutlookリマインダータスクに設定されているように、定期的にスケジュールされたスケジュールで実行されます。私たちが持っていた 唯一の問題は、次の行 mydb.Application.Run「MACRONAME」 生じる誤差は、我々が動作するようになりましたスケジューリングの方法を持っている

mydb.DoCmd.RunMacro「MACRONAME」で整流されたとありました。

OUTLOOKスケジュールされたスクリプトから電子メールの送信を含むAccess VBAスクリプトを呼び出すと、タスクスケジューラで実行されたスクリプトとまったく同じスクリプトが完了しないのに対し、タスクの完了には問題はないようです。

他人に役立つことを願っています。

関連する問題