06/12/09 19:13:49 pifhS49b
うん、出来る。。面倒だから普通はやらないけど。
どうしても面倒なことやりたいなら勝手にやればよい。
304:名無し~3.EXE
06/12/09 19:49:26 0qa9SSE3
>302
で、それを知って何をやりたいんだ?
305:名無し~3.EXE
06/12/10 00:08:13 UaBqXVVZ
>>296
それより、RunWithArgs.CMDを関連付けると、便利だわい。
306:名無し~3.EXE
06/12/11 22:02:52 YncVWVUZ
age
307:名無し~3.EXE
06/12/13 14:27:42 /++eaESB
WSHでDDE使う方法ないかな?
308:名無し~3.EXE
06/12/13 15:44:43 npJjnYln
>>307
DDE使えるCOMを探すか作る。
そんな回答アリかよ、と言うかも知れないが
拡張無しにWSH自身が出来る事なんてほとんど無いんだから
COMなどの外部拡張に頼らざるを得ないのは仕方ない。
309:名無し~3.EXE
06/12/13 16:38:28 5aDfYNEq
VBScript(.vbs)からExcelを操作して文字列の置換をしたいんですが、ループでセルを一つずつ見て置換していくしかないのでしょうか?
Excelの置換ダイアログみたいに一括でブック全体を置換したいんですが。
ちなみに優先順位としては
処理スピード > コードの複雑さ
です。
310:名無し~3.EXE
06/12/13 17:06:25 npJjnYln
>>309
RangeメンバのReplaceメソッドで置換すれば良いだけだよ。
Replaceメソッドの使い方はExcelVBAヘルプに載ってる。
因みに組み込み関数のReplaceじゃないので間違わないように。
ちなみに対象のシートオブジェクトを取得したら、置換は1行コードで終わる。
ループよりは速いが、どのくらい速いかはCPU依存。
311:名無し~3.EXE
06/12/13 17:48:44 5aDfYNEq
>>310
ありがとうございました!標準オプションなら↓だけで行けますね。
objApp.ActiveSheet.Range("A1").Replace <検索文字列>, <置換文字列>
後は各シートでコレを実行させました。十分実用に耐えるスピードです。
312:名無し~3.EXE
06/12/13 22:14:37 hw3Bn7Em
IEから右クリックで動作させるスクリプトなんですが、
その右クリックされた場所にある画像のURL(リンクではなくIMGタグ)
を取得するにはどうすればいいでしょうか?
313:名無し~3.EXE
06/12/13 22:49:12 qNFDZs3m
external.menuArguments.document.elementFromPoint(external.menuArguments.event.clientX, external.menuArguments.event.clientY).href
らしい。Irvine のスクリプトによると。
314:312
06/12/14 00:28:11 7FtNx5qL
>>313
ありがとうございます
315:名無し~3.EXE
06/12/14 00:29:42 DjAdsCMN
InternetExplorer.Applicationとかの情報ってWSHのリファレンスに
のってないけど、どっから情報獲ってくるんだ?
316:名無し~3.EXE
06/12/14 00:42:56 WjQ1wjr4
IE オブジェクトなら MSDN にいくらでもあるっしょ
317:名無し~3.EXE
06/12/14 01:39:10 XilSwh1W
>>315
つ OLEView.exe
318:名無し~3.EXE
06/12/17 09:32:44 A0dC8xU5
以下のようにした場合、メッセージボックス(?)が表示される前に
コマンドプロンプト・ウインドウが表示されるのですが、結果の
メッセージだけを表示させるにはどうすれば… ?
Set objWshShell = WScript.CreateObject("WScript.Shell")
Set objExecCmd = objWshShell.Exec("ruby\bin\ruby -Ks search.rb")
WScript.Echo "検索結果:" & objExecCmd.StdOut.ReadAll
319:名無し~3.EXE
06/12/17 11:44:36 H95I1sD8
rubyw.exe
320:名無し~3.EXE
06/12/17 14:04:16 A0dC8xU5
>>319 ギガ㌧㌧㌧!
321:スレッドを超えたコテハン
06/12/17 15:02:58 EP+mDiGm
WSCの場合は、プロパティで定数を公開して、wsc.nameで定数を参照したほうが、
衝突の心配がないし、WSFだけでなく、VBSやJSでも使えてよさそうですが、
もし、nameだけで、参照したいときは、WSC側でreferenceメソッド作って、
function reference(Me){
Me['xxx']=111;
Me['yyy']=222;
}
VBS側で
wsc.reference me
WScript.Echo xxx
JS側で
wsc.reference(this);
WScript.Echo(xxx);
とすれば、WSFだけでなく、VBSやJSからも使えます。
322:名無し~3.EXE
06/12/18 14:59:23 P40MScLH
WSHでIEオブジェクトを作成してそれのProcessIDを取得する方法を教えて欲しいのですが。
今は下記の手順でブラウザにキー送信をしていますが、「タイトルの文字列」が変更した場合には通用しません。
なので、ProcessID指定で確実にSendKeysをしたいのです。
InternetExplorer.Application + ProcessIDでぐぐっても見つけられませんでした。
よろしくお願いします。
Set IE = WScript.CreateObject("InternetExplorer.Application","IE_")
Set sShell = WScript.CreateObject("WScript.Shell")
sShell.AppActivate("ブラウザのwebページのタイトル文字列")
sShell.SendKeys "ほげほげ"
参考にしたページ
URLリンク(www.atmarkit.co.jp)
> 一方のプロセスIDは、Execを使って起動したプログラムでは、WshScriptExecオブジェクトのProcessIDプロパティから取得できる。
323:名無し~3.EXE
06/12/19 21:38:05 4I7Im65l
マルチするならせめて一言断り入れとけよ。あとリンク。
つか IE オブジェクト使うなら大凡の操作は可能だと思うのだが。わざわざ SendKeys 使わんでも。