Windows7タスクスケジューラからVBSを起動することで問題

直接起動するときは問題なく実行できるのに、タスクスケジューラから起動するとうまくいかない。
VBSプログラムのあるのと同じフォルダおよびそのフォルダからの相対での位置にあるフォルダを参照したりするのだが、そのときのCurrentDirectoryで求めたものが異なっていたのです。
直接起動のときは自身のVBSのフォルダ名を取得できているのが、タスクスケジューラ経由だと、”c:\Windows\System32”となってしまう。

それで調べていたところ、下記のサイトがありました。
http://delightmode.com/win-taskscheduler.html
([Windows]タスクスケジューラで作業フォルダを指定する方法 DelightMode(ディライトモード))

まさにこれでした。感謝です。
掲載させていただきます。

まったく、どうしてこんなこととか、わからないのだろう。
表現からしてわからないし、ヘルプ機能とか説明とかも無かったり。最近のソフトは。マイクロソフトも。ヘルプではグーグル検索を利用して他へフッているようなところもあるし、全然役に立ってない。

以下の状況である。

まず、これまで使用してきているサーバー
WindowsXP
ExcelXP
IE8
iis

この環境で、ファイルサーバー、webサーバーとしてい、特にExcelVBAを多用していろんなことをやらせていた。
しかし拡張性ないし、処理能力もすでに死んでるに近いような状況である。

それで今年はじめころから新しい環境として少し良いPCを用意したのである。
暫定的に環境をコピーしたりして少しずつ機能移行をしようとしていた。
ただ、思うように動作しなかったりで、移行も進んでいなかった。

新しい環境は、
Windows7
Excel2016
iis11(かな?)

やってみると問題が多い。しがらみが影響しているかと思うが、新しい環境の新しいソフトやら機能が、どうも期待通りではない。
改善どころか改悪になっているように感じるところも多々ある。

問題あげると大変だし、うまく表現できない、状況を正しく把握していないかも知れない、と言った感じである。

操作の自動化のためにVBAを多用しているのだが、ここのあたりの微妙なところで引っかかっている。

・Excelバージョンの違いで、いろいろ
  PCはいろいろあって、バージョンもXPから2003、2010、2013、2016と。

・互換のこと
できればこれらの環境でも同じブックを共用したいと、.xls のままで互換を利用して試してきてはいたのだが、いざ本格的に移行しようとするとうまくいかない。
やはり互換では難しいのかと思い、実際にExcelも新しいバージョンを使えるようにしてきている(でもその新しい中でもバージョンの違いはある)ので、ファイル形式も新しい方に切り替えて行こうかと、古いバージョンのソフトとは決別する方向へ進もうかと、考えてきた。
しかし、新しいソフト、新しい形式のファイル、に切り替えてみても、かえって異常動作をしたりしている。
前はすんなり処理されていたものが、応答なしになったり、処理は反って遅くなったり、どうも不信がつのってくる。

・自動処理が維持できない
Excelの自動開始(Auto_Open)では、ワークシート画面を表示しないままに処理が行われてしまうようである。それでもいいのかも知れないが、処理状況を画面表示させたいことがあるのでAppActivateで自ブックを前面に表示しようとしているのだが、これがエラーになってしまう。(画面が表示されないから、アクティブにしようとしてもエラーになるようだ)

別のLanディスクにあるEXCELブックを処理したい。それもタスクスケジューラによる時刻起動で。
これが .xlsm では実行されないのである。
( .xls では実行される)
 ⇒これに対しては、VBSを介して起動できることまでは確認しているが。こんなことをしなきゃならんとは。

ソフトが64ビットモードのものもあって。
VBAのDECLAREではPtrSafeを指定するとかしないとならない。(そうすると古いソフトではこれが邪魔になり、これを元のように削除しないと実行できない)

その他
・WOL
・電力メータ画面撮影ソフト
・インターネットから取得(Vbaで自動化した機能)
・画像形式変換(png⇒JPG)に使用していたPhotoEDの使用で、その画面をSendKeysで制御するためにAppActivateで前面にしようとするのだが、これがうまくいかないことがある。タスクバー上で点滅する状態のまま前面に出て来ないため、その後のSendKeys処理で失敗してしまい、場合によっては狂った操作を行ってしまったりするもとになる。また、新しいバージョンではPhotoEdは提供されていないから使用できない。(複数バージョンインストール環境では使用できるが)

そのほか、いろいろ。思い出すのも書くのも大変。
捨てるしかないようなものかな。