ちゃっぴさん
>どうしても WSH で扱うのであれば WshExec class の Terminate method >が幾分マシですが、推奨されるものではないです。
すいませんまだ始めたばかりですのでよくわかりません
実際どのように記述すればよろしいですか?
推奨されてないようですが後は自己責任ということで
お願いいたします
To aroma10 さん (aroma7@snow.ocn.ne.jp) 2007年 07月 24日 00時 47分 35秒
> 私の仕事柄同じアプリを一定時間ごとに起動、終了を繰り返さなければならないのですが、アプリ終了のVBSが組めません御教授くださいませんか?
そもそも、そういう自動終了しないような EXE を呼び出すこと自体がやばいんですが、その EXE いじれないんですかね?
いじれるなら、設計変更したほうがいいですよ。
どうしてもいじれない場合には、本当は別の言語を用いて制御すべきだと思います。とりあえず、Win32 API を直接あつかる言語であれば問題ないでしょう。
どうしても WSH で扱うのであれば WshExec class の Terminate method が幾分マシですが、推奨されるものではないです。
To さくら さん 2007年 07月 24日 23時 38分 16秒
> ActiveDirectoryから、FullNameをキーにしてUserNameを取得する。
そもそも FullName (LDAP では DisplayName attribute) 自体が AD 上で unique になっていないので、結果として複数の結果が返ってくる可能性があることはわかりますか?
人為的に整合性を確保してやることなしに特定することは不可能です。
まずは、ここまでを肝に銘じてください。
一応、ADSI でも ADO + LDAP provider でも WMI でもできますけど、効率がいいのは ADO + LDAP provider ですね。
ADO + LDAP provider で DisplayName を search filter にして、sAMAccountName を取得すればよいでしょう。
> 小鉄 さん 2007年 07月 17日 16時 22分 12秒
REG.exe を利用したほうがよいでしょう。batch でいいんじゃない?
お世話になります。
さくらと申します。
実現したい事は
■ActiveDirectoryから、FullNameをキーにしてUserNameを取得する。
なのです。
色々と調べてみて、ADSI、LDAP、WSHあたりで実現出来そうな気もするのですが、
これと言った情報に辿り着く事が出来ませんでした。
理想はスタートメニューの検索からActiveDirectoryを指定し、漢字名でユーザー名を取得する。なのですが…
上記の実現の可否、ヒント、何でも良いのでご教授願えますでしょうか。
宜しくお願い致します。
お世話になります。
さくらと申します。
実現したい事は
■ActiveDirectoryから、FullNameをキーにしてUserNameを取得する。
なのです。
色々と調べてみて、ADSI、LDAP、WSHあたりで実現出来そうな気もするのですが、
これと言った情報に辿り着く事が出来ませんでした。
理想はスタートメニューの検索からActiveDirectoryを指定し、漢字名でユーザー名を取得する。なのですが…
上記の実現の可否、ヒント、何でも良いのでご教授願えますでしょうか。
宜しくお願い致します。
ハンドルネームですいません
早速ではありますがアプリ起動に関してはシステムを組むことができました
私の仕事柄同じアプリを一定時間ごとに起動、終了を繰り返さなければならないのですが、アプリ終了のVBSが組めません御教授くださいませんか?
ちなみに起動VBSは以下の要に記述してます
Set WshShell = CreateObject("WScript.Shell")
WshShell.CurrentDirectory = "C:\ProgramFiles\*******\*********"
WshShell.Exec("C:\Program Files\********\*******\****.exe")
申し訳ありませんがプログラム名と場所は伏せさせて下さい
よろしくお願いいたします
>小鉄 さん 2007年 07月 17日 16時 22分 12秒
バックアップという言葉の程度にもよりますが
・RegReadでレジストリの情報を読んでファイルに内容を保存しておく。
・そのファイルからデータを読み込んでRegWriteで書き込んで情報復元。
というレベルであれば、できると思います。
但し、実行するユーザの権限とレジストリの位置の組み合わせによって
読み書きできない(特に書き込み)場合がありますのでご注意ください。
> メソッドにはRegRead,RegDelete,RegWriteしかない
レジストリを読めて(RegRead)、消せて(RegDelete)、
作成・追加・更新(RegWrite)できますが、何か機能的に不足していますか?
※この3つのメソッド『だけ』では
バックアップ相当の処理はできないのは前述のとおりですが。
>たま さん 2007年 07月 18日 00時 56分 34秒
なにか、前回とは違ったのでしょうね。
これ以上は、原因追求は難しそうです。
>a3さん
レスありがとうございます。
今日改めてタスクスケジュールに登録して実行したところ、パラメータを取得できるようになりました。
タスクスケジュールへ登録した手順はまったく同じなので、すごく不思議です。
ちなみに手順は、下記のとおりです。
1.タスク追加のウィザードでバッチファイルを選択
2.1回だけ実行を選択
3.開始日時を指定
4.Administratorのパスワードを入力
みなさんこんにちは。
WSHを利用し、あるレジストリキーのバックアップを取りたいと考えていますが、メソッドにはRegRead,RegDelete,RegWriteしかないのですが、この3つではバックアップはできないのでしょうか?
>たま さん 2007年 07月 16日 21時 38分 24秒
タスクスケジュールに登録したときの手順を詳しく書いてもらえれば
なにかわかるかもしれません。
windows server2003にVBスクリプトをおいて、タスクスケジュールで実行したいのですが、パラメータが正しく取得できません。
VBスクリプト ------
If WScript.Arguments.Count()<2 Then
WScript.Echo WScript.Arguments.Count()
WScript.Echo "Error"
WScript.Quit
End If
For k=0 To WScript.Arguments.Count()-1
WScript.Echo WScript.Arguments.Item(k)
Next
バッチ---------
CScript.exe test.vbs aaa bbb ccc
上記バッチを手動実行するとパラメータを認識してくれるのですが、
タスクスケジュールで実行するとパラメータが0件となってしまいます。
どなたか原因をご存知ありませんか
To:a3 さん 2007年 07月 13日 13時 18分 31秒
私の環境も Windows 2000 です。実験コードをすべて実行してみました。
全く一緒でした(当たり前ですが・・・笑)。
CurrentDirectory って、こんなに変化するのですね。いつもエクスプローラから
ダブルクリックで実行していましたから、CurrentDirectory とは常にそのファイ
ルが存在するフォルダまでのパスだと思いこんでいました。
ちょっと、とまどっています。
>おそらく「C:\Program Files\○○○\△△△.exe」と
>絶対パスで書いているでしょうから、
>カレントフォルダが「C:\Program Files\○○○」に
>自動的に設定されたので、動いたということになりますね。
はい。まさにそのとおりです。
> チャチャ さん 2007年 07月 11日 21時 46分 42秒
動いてよかったですね。おめでとうございます。
ただ、ちょっと以下のことが気になったので
WSHからは少し脱線しますが、追試してみました。
========================================================
>そもそも「ファイル名を指定して実行」などではちゃんと実行されるのでしょうか?
問題なくメニューが表示された状態で起動します。
========================================================
C:\curdir.vbs
--------------------
Set WshShell = CreateObject("WScript.Shell")
WScript.Echo WshShell.CurrentDirectory
--------------------
としておいて、Windows2000で実験。
ファイル名を指定して実行から
■C:\curdir.vbs (絶対パスで拡張子の関連付けで実行)
⇒「C:\」
■..\..\curdir.vbs(相対パスで拡張子関連付けで実行)
⇒「C:\」
■WScript.exe C:\curdir.vbs
⇒「C:\Documents and Settings\ユーザ名フォルダ」(ユーザープロファイルフォルダ)
■C:\Winnt\System32\WScript.exe C:\curdir.vbs
⇒「C:\Winnt\System32」
■パスの通っているところ(例えばC:\winnt\system32)に
curdir.vbsを移動してから curdir.vbs (拡張子の関連付けで実行)
「C:\Documents and Settings\ユーザ名フォルダ」(ユーザープロファイルフォルダ)
Windows Server 2003でも実験
ファイル名を指定して実行から
■C:\curdir.vbs (絶対パスで拡張子の関連付けで実行)
⇒「C:\」
■..\..\curdir.vbs (相対パスで拡張子の関連付けで実行)
⇒「C:\」
■WScript.exe C:\curdir.vbs
⇒「C:\Documents and Settings\ユーザ名フォルダ」(ユーザープロファイルフォルダ)
■C:\Windows\System32\Wscript.exe C:\curdir.vbs
⇒「C:\Windows\System32」
■パスの通っているところ(例えばC:\windows\system32)に
curdir.vbsを移動してから curdir.vbs (拡張子の関連付けで実行)
「C:\Documents and Settings\ユーザ名フォルダ」(ユーザープロファイルフォルダ)
【結果】
「ファイル名を指定して実行」では
・最初の要素をパス指定しているときは、カレントフォルダはその絶対パスの位置
・最初の要素をパス指定していないときは、カレントフォルダはユーザープロファイルフォルダの位置
になる。
※多分XPでも同じ結果だと思われます。Vistaはわかりません。
チャチャさんが「ファイル名を指定して実行」で実行したときは
おそらく「C:\Program Files\○○○\△△△.exe」と
絶対パスで書いているでしょうから、
カレントフォルダが「C:\Program Files\○○○」に
自動的に設定されたので、動いたということになりますね。
私にとっても、勉強になりました。ありがとうございました。
To: a3 さん ビンゴです。(^_^)v
>・まず、リソースファイルを引数指定するというのは
> そのプログラムの仕様でしょうか?
> ※なんとなく、違うような気がします。
どうして良いか解らず、インターネットをさまよいながら、藁をもすがる思いで
手当たり次第に試行錯誤していた訳です。(^^;)
>△△△.exeと×××.dllは同じフォルダに入っているのでしょうか?
はい。同じフォルダです。
>WSHShell.CurrentDirectory = "■DLLのあるフォルダに置き換えて。■"
>WSHShell.Run """C:\Program Files\○○○\△△△.exe""",1,True
これで無事メニューが表示されて起動しました。私には想像もつかないことです。
ありがとうございました。m(_ _)m
> チャチャ さん 2007年 07月 10日 15時 18分 09秒
・まず、リソースファイルを引数指定するというのは
そのプログラムの仕様でしょうか?
※なんとなく、違うような気がします。
△△△.exeと×××.dllは同じフォルダに入っているのでしょうか?
×××.dllが以下に示す他のところに”も”あったりすると
本来呼びたいDLLじゃないのが呼ばれているのかも。
・exe ファイルが存在するディレクトリ
・システムディレクトリ
・Windows ディレクトリ
・カレントディレクトリ
・環境変数 PATH に設定されてたディレクトリ
違うところにテスト用DLLとか入っていませんか?
あと、そのプログラムが明示的にカレントディレクトリのDLLを
ロードするように作ってあったりする場合があります。
ためしに
Set WSHShell = CreateObject("WScript.Shell")
WSHShell.CurrentDirectory = "■DLLのあるフォルダに置き換えて。■"
WSHShell.Run """C:\Program Files\○○○\△△△.exe""",1,True
だと、どうですか?
TO:ちゃっぴさん
回答を頂き、ありがとうございます。
>ということで、Web Application から cmd.exe を扱うような実装はやめましょう。
そうだったんですか・・・。それは知りませんでした。
やりたかったことはaspからexeの実行で、
このexeは標準出力に結果を出力する実行ファイルです。
その出力されたデータを取得したかったんです。
(cmd.exeを使って結果をリダイレクトしてテキストファイルから
取得するつもりでした。)
いろいろ調べ、AspExecコンポーネントを使用することにしました。
本当にありがとうございました!!
To:管理人さん
>そもそも「ファイル名を指定して実行」などではちゃんと実行されるのでしょうか?
問題なくメニューが表示された状態で起動します。
このソフト、Delhpi で ShellExecute()関数で起動しても同じ状態でしたので
「 WSH なら何とかなるかな?。」と思った次第です。
連続投稿ですみません。
アプリケーションを起動し、アクティブ化、sendkeyメソッドを使用したら、
テキストを送信することができました。
タブやENTERキーも送信できるのでログイン処理も問題なくできます。
自己解決のようですが、やり方としてはこれでよいのでしょうか。
アプリケーションを起動し、起動したアプリにテキストを
送る方法を探しています。
例えば、メモ帳を開いてそこに文字を入力するとか、
起動したアプリからID、パスワードを求められたら、
そこにID、パスワードを入力する方法など。
過去ログを検索してみたのですが、うまくヒットしなかった
ようなのでこちらに書き込みました。
過去の記事に解決策があるようでしたら、その場所を教えてください。
先ほど書いた対策は当然ながらセキュリティ的には弱くなりますので、セキュリティとの兼ね合いに十分注意した上で対策を検討してください、と補足しておきます。
To: チャチャさん
うーむちょっとわかりませんねぇ。そもそも「ファイル名を指定して実行」などではちゃんと実行されるのでしょうか?
管理人さん、ありがとうございます。
>WSHShell.Run """C:\Program Files\○○○\△△△.exe"" ×××.dll",1,True
これでもダメでした。(^_^;)
タイトルが「Preview」 と表示されたダイアログの中に赤丸の×印がでて終了します。
このEXEだけが特別なのかなぁ?。もう少し試行錯誤してみます。
おっと解決策発見。
http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&start=40
保護モードを解除すればいいのですね。
Vistaで
Set objIE = WScript.CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate "http://www.atmarkit.co.jp/index.html"
Do While objIE.Busy
WScript.Sleep 100
Loop
MsgBox objIE.Document.body.innerText
こんな感じのスクリプトを動かすと、最初IEの窓が立ち上がって、そこからポップアップで(?)指定のURLが別窓で開きますね。
なのでエラーになってしまいます。
何か対処方法ありますでしょうか。
既存のスクリプトが動かなくなるという非常にまずい事態ですね。
WSHShell.Run """C:\Program Files\○○○\△△△.exe"" ×××.dll",1,True
こうかな?
プログラムを起動したくて、下記のように書いたのですが、このプログラム
は起動時にメニューをリソースファイル(×××.dll)から読み込んで表示
するようなっていまして、下記スクリプトを実行してもメニューが表示され
ません。
どのようにすれば記述すれば、リソースファイルを読み込んで起動するのか
教えて頂けないでしょうか?。
Dim WSHShell
Set WSHShell=WScript.CreateObject("WScript.Shell")
WSHShell.Run """C:\Program Files\○○○\△△△.exe""",1,True
ちなみに
WSHShell.Run """C:\Program Files\○○○\△△△.exe ×××.dll""",1,True
と書くと
エラー:「指定されたファイルが見つかりません。」
コード: 80070002
ソース: (null)
とエラーが出ます。
To チョコラ さん 2007年 07月 04日 15時 42分 12秒
まず、method の定義まで含めてちゃんと書いてください。
で、最初に確認すべき項目はこちら。
[INFO] ASP で実行する Visual Basic コンポーネントの設計ガイドライン
http://support.microsoft.com/kb/243548/ja
で、Web Application から cmd.exe を扱えないように ACL 構成されています。
というのは、cmd.exe の parameter に user からの入力等を渡すと OS command injection の危険性があるからです。
ということで、Web Application から cmd.exe を扱うような実装はやめましょう。
VB6.0でActiveXDLLを作成し、そのDLLをASPから呼び出したと思っています。
-------------------------------------------------------------------
■ASP
Set objMask = Server.CreateObject("Strmask.ExecMask")
ret = objMask.ExecMask()
■ActiveDLL(VB.6.0)
strCmd = "cmd /c C:\test.exe"
Set WshShell = CreateObject("Wscript.Shell")
WshShell.Run(strCmd, 0, True)
-------------------------------------------------------------------
上記のようにソースを作成し、WEB上から表示させようとしたところ、
フリーズ状態になってしまい結果が返ってきません。
同じDLLをVBから呼び出したところ、正常に動作しました。
いろいろ試してみたのですが、Runのところで止まっているようです。
環境としては
IIS バージョン5.1
OS WindowsXP
です。
あとDLLはレジストリに登録してあります。
ASP、WSHともに初心者で、ネットでもいろいろ調べてはみたものの、
一向にうまく動かず困っています。
何か解決策をご存知の方がいらっしゃいましたら、教えていただけませんか?
よろしくお願いします。
管理人むたぐちが、Microsoft MVP for Visual Developer - Scriptingに再認定されましたー
これもこの掲示板のみなさんの書き込みがあってこそです。
また今年もよろしくお願いします。
7/7東京でPowerShellの講演をやります。
newpopsさんと一緒にやるのでかなり濃いイベントになると思います。
お近くの方はぜひどうぞ。
第 5 回 Admintech.jp 勉強会 - Admintech.jp
http://itpro.admintech.jp/wiki/wiki.cgi?page=%C2%E8+5+%B2%F3+Admintech%2Ejp+%CA%D9%B6%AF%B2%F1
To: age さん
ご指摘ありがとうございました。訂正しておきました。
To: palazzo さん
> あれ?win32_productだとMSIでインストールされたアプリしか取れないのでは?
そうでしたか、失礼しました。たしかにそのようですね。
To ちゃっぴ さん
解答ありがとうございます。
一口にDLLと言ってもいろいろあるんですね・・・
To ちゃっぴ さん
ご回答ありがとうございました。
送信時間ではなく、BASP21のメール作成メソッドの処理時間に問題があった事が判明しました。
BASP21_proトライアル版で試したら、処理時間が1/10になりました。
原因が判明したので、これからproを検討したいと思います!
To f さん 2007年 06月 25日 13時 22分 07秒
> メール容量が増えると送信時間もかかるのでしょうか?
そりゃ、容量が増えれば通信時間が長くなるのでそれだけ時間かかるのは道理でしょう。
内容が同じなら BCC で一括送信するのもありでしょう。
BASP21 自体使わないのでアレですが、非同期でできるなら多少は早くなるかも?
SendMailEx
http://www.hi-ho.ne.jp/babaq/basp21.html#0003
To domingo さん 2007年 06月 22日 09時 12分 35秒
> ところで、こういったDLLと言うのはインストールしないと
> 使えないのでしょうか?
> 参考URL http://homepage3.nifty.com/aya_js/wsh/wsh20.htm
> のようにしては使えませんか?
DLL といってもいろいろ種類があります。
WSH で扱える object は COM component と呼ばれるもので、かつ TypeLibrary が存在していて、registry に PROGID (ex: Scripting.FileSystemObject) といような登録があるものだけです。
# 基本的に registry に登録する必要があるため、install が必須です。
# つまり、file copy だけでは動かないということ。
で、ご質問の rundll32.exe で扱えるものは、rundll32.exe で扱えるような entrypoint で作成する必要があります。
# ちなみにこちらは COM では無いです。
結論からいうと、registry への登録無しには動かないと思います。
ここのHPを拝見して、WSHを勉強しました。
サーバーのタスクに作成したVBSファイルを仕掛けて、BASP21のFlushMailメソッドを利用し、メールの一括送信を実行する処理を作成しました。
添付ファイル付メールの送信で、メール1通当たりの容量が20KBだと、100通送信するのに1分弱かかります。ところが1通当たりのメール容量が700KBだと100通送るのに13分かかりました。
同じような処理を作成された事がある方がおりましたら、教えて頂きたいのですが、メール容量が増えると送信時間もかかるのでしょうか?
1時間に1回、この処理を実行するようにしたいのですが、500通を超えると1時間で全てのメール送信が完了しないため困っています。
basp21のHPも調べたのですが、送信処理に対する質問や回答は掲載されているけど、処理時間に対する回避策が載ってませんでした。
また、この処理を仕掛けるサーバーのウィルスチェックも停止して実行してみたのですが、処理時間に変化はありませんでした。
回避策をご存知の方がおられましたら教えて下さい。
よろしくお願い致します。
ここに投稿するのが間違っていたらすみません。。。
いつもお世話になっております。
過去ログを読んでて見つけたのですが
------------------------------------------------------------
AKA さん 2005年 12月 24日 06時 27分 12秒
クリップボード機能のオートメーションオブジェクトを作りました。
------------------------------------------------------------
会社の遅いPCでもサクッと動いてくれて重宝しています。
ところで、こういったDLLと言うのはインストールしないと
使えないのでしょうか?
参考URL http://homepage3.nifty.com/aya_js/wsh/wsh20.htm
のようにしては使えませんか?
VBS講座・基礎編
Lesson5
http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/refer/lesson5.htm
以下の部分
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
また、Do...Elseステートメントの部分を次のようにも書くことができます。
Do Until intNumber>10000
intNumber=intNumber*2
Loop
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Do...Else じゃなくて、Do...Loop ?
To MM さん 2007年 05月 23日 22時 51分 10秒
Windows XP 以降であれば Network Configuration Operators に所属させれば OK です。
To HELP さん 2007年 02月 08日 14時 10分 24秒
WSH でなくてもよいのであれば、CSVDE とか LDIFIDE が使えるでしょう。
# 前者ではできないことがあります。
WSH でゴリゴリやりたいのであれば ADSI を使います。
To ゆき さん 2007年 06月 08日 21時 48分 07秒
これまじめにやるとかなり面倒なことになるんですよね。
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
だけじゃすまないので。
HKCU の方もありますし。
本来は appwiz.cpl 自体が COM なんでその interface を利用するのが確実なんですが、これにしたって undocumentted なんで将来の対応が保障されているわけでは無いですし。
また、appwiz.cpl の COM interface は C++ で wrapper してやらないと WSH からでは直接扱えませんしね〜。
あれ?win32_productだとMSIでインストールされたアプリしか取れないのでは?Win32_SoftwareFeatureでもインストール情報らしきものは取得できますが、ここはレジストリから取得した方が無難ではないでしょうか。ネットを検索していると、ここにそれらしきソースがありまして、私の環境で実行してみたところ、特に問題なく動作しました。(Win2K SP4+WSH5.6)
ttp://www.microsoft.com/japan/technet/scriptcenter/resources/wmifaq.mspx#ECPAC
よろしければ試してみて下さい。ちなみにwin32_productって第3引数に48を指定してもパフォーマンスが上がらないですね。私の環境だけでしょうか。
To: ゆきさん
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colProducts = objWMIService.ExecQuery( _
"select * from win32_product")
For Each objProducts in colProducts
WScript.Echo objProducts.Caption
Next
このようにWMIを使えば可能です。EchoしているところはTextStreamに置き換えるとテキストファイル出力が可能です。詳しくはLesson15あたりをどうぞ。
# うちの環境ではなぜか一つしか表示されないのですが…orz
vbsで、コントロールパネルの アプリケーションの追加と削除 で表示されている内容をテキストに落としたいと思っています。
可能でしょうか?
ありがとうございました。だいたいわかりました。この部分はCurrency型に型変換するようにします。
To: hiroさん
浮動小数点を扱った掛け算は誤差が発生することがあります。
日経PC21 / 演算誤差の正体 - IEEE 754 浮動小数点数の仕組み
http://pc.nikkeibp.co.jp/pc21/special/gosa/eg4.shtml
ここを読むとわかるかもしれません。
VBScriptにはCurrency型というのがありますのでキャスト(型変換)して、
msgbox int(CCur(0.29)*CCur(100))
とすると結果は「29」になります。
WSHで、msgbox int(0.29*100) を実行すると28が出力されるのですが。
それ以外の、例えば0.28とか0.30では問題ありません。なぜでしょうか?
>たかただ さん
もしかしたら拡張子が vbs になっていないのではないですか(違っ
ていたらすみません)。
>「定義されているジョブがありません」
このエラーは、本来は vbs や js にする筈のスクリプトファイルの
拡張子を wsf 等にした場合に出るケースがあるようです。
確かに vbs や js よりも wsf の方がいかにも WSH のファイルと
いう感じのする拡張子ですし。
ちなみに、たかただ さんが書かれたソースの拡張子を vbs にして
実行すると、私の環境では問題なくメモ帳が起動しました。
お世話になります。
WSHが全く判らない状態から勉強しております。
下記のような簡単なものが起動できません。
「定義されているジョブがありません」のエラーがでます。
何がいけないのでしょうか? ご指導下さいませ。
OS:windows xp sp2
IE6.0
Office 2003
-------------------------------------------------------
Dim WshShell
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WSHShell.Run "C:\Windows\notepad.exe"
※エクスプローラーでC:\Windows\notepad.exe を入力すると起動します。
> a3 さん 2007年 05月 28日 12時 26分 39秒
resありがとうございます。
Excelを終了させた後に、以下のスクリプトを入れています。
-----------------------------------------------------------------
Set objWShell = WScript.CreateObject("WScript.Shell")
objWShell.Run "アプリA.exe"
Set objWShell = Nothing
-----------------------------------------------------------------
よろしくお願いいたします。
> ますのすけ さん 2007年 05月 26日 13時 52分 19秒
既存の資産をうまく利用するという観点では良いアイデアですね。
>(2)アプリAを起動してファイルA.csvを読み込む。
の部分を現在どうやって実装していますか?
それによって、回答が変わりますので、も少し情報をだせますか?
たぶん、
・バッチファイルの中で提示スクリプト実行後、アプリAを実行。
・提示スクリプトの後ろに追加でアプリAを実行のコマンドをいれた。
のいずれかだとは思いますけど。(前者かな?)