[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/19 09:09 / Filesize : 210 KB / Number-of Response : 969
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

WSH(・∀・)スレッド! Part 4



1 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 01:22:48 ]
( ´ゝ`) 誰か詳しい情報キボンヌ

●過去スレ
WSH(・∀・)スレッド!
pc11.2ch.net/test/read.cgi/tech/1055075469/
WSH(・∀・)スレッド! Part 2
pc11.2ch.net/test/read.cgi/tech/1176698934/
WSH(・∀・)スレッド! Part 3
pc12.2ch.net/test/read.cgi/tech/1208948450/

●関連スレ
お前ら、wsh使ってますか? Part7
pc12.2ch.net/test/read.cgi/win/1190548945/
HTAをもっと流行らせる計画 Part2
pc12.2ch.net/test/read.cgi/tech/1220874815/
★WSHでCGI★JScriptVBScript
pc11.2ch.net/test/read.cgi/php/1059745064/

●公式サイト
Windows Script
www.microsoft.com/japan/msdn/scripting/

●個人サイト
Windows Scripting Host
homepage3.nifty.com/aya_js/wsh/index.htm
Windows Scripting Host Laboratory
www.roy.hi-ho.ne.jp/mutaguchi/wsh/
Windows Script Wiki
winscript.s41.xrea.com/wiki/index.php

2 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 12:30:47 ]
>>1


WSHやVBSずっと消えないで欲しい
というか消えたら困る

3 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 12:43:45 ]
VB6よりは長生きできるさきっと

4 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 00:03:22 ]
javascriptが残るならjscriptも残るだろうし、wshも当然残ることになる。そうなるとvbscriptも残るし、htaが残るのは当然だ。

5 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 01:03:14 ]
ある日、次のバージョンのWindowsでは対応しないことになって終わる

6 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 02:10:47 ]
だんだん使いにくくなるな
scriptcontrolはvistaで消えた
<input type=file>はie8で使えん
...

7 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 03:42:08 ]
ここの人たちは PowerShell は使ってる?

>>2
WSH消えたら困る人ってあんまり見かけないけど
案件でWSH酷使してるんか?

8 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 12:17:42 ]
>>7
いままで標準装備のWSHで処理しなかった人たちは、今後標準装備になるPowerShellも使わんだろうな。

9 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 14:20:01 ]
>>7
俺は個人だよ

msgboxが好きなので(ホントはpopupメソ)
powershellは未だ手付かず

WSHから自由に.netのクラスライブラリ
呼び出せるといいんだけどね

10 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 23:58:28 ]
そういうcomを作ればよい



11 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 12:53:57 ]
com?やだよメンドクサイ
標準装備で出来ることがWSHのメリットなのにさ。

WSHからSystem.Collections.ArrayList呼ぶことなら結構あるけどな。

12 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 14:05:09 ]
System.Collections.ArrayListはcomから呼べるように特別に作ってあるのか
それとも、ほかのクラスもレジストリに書けば呼べるのか?

13 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 14:20:31 ]
ttp://www.isla-plata.org/wiki/pukiwiki.php?%B3%AB%C8%AF%A5%EA%A5%BD%A1%BC%A5%B9%2FJScript%2F%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8%A4%AB%A4%E9.Net%20Framework%A5%AF%A5%E9%A5%B9%A4%F2%CD%F8%CD%D1%A4%B9%A4%EB%A1%CA%A5%CE%A5%A6%A5%CF%A5%A6%CA%D4%A1%CB

14 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 16:30:39 ]
で、どっち?

15 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 17:49:11 ]
>>13
ここまでまとめた人が居るんか、すごいな
でもやっぱりあんまり使えなそう

結局powershell覚えて出力をWSHで受け取るとか
本末転倒だなw

16 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 21:52:20 ]
PowerShellでもWin32API使いにくいからな
FindWindowやSendMessageが標準環境で簡単に使えるようにならんかな

17 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 22:39:18 ]
スクリプト言語の中にはC関数を直接呼び出せるものがあってな

18 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 23:37:40 ]
そんなもん、いくらでも有るが

19 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 00:00:38 ]
なんでvbscriptは

20 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 01:55:01 ]
こんなにかわいいの?



21 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 17:33:30 ]
シフトキーを押しながらの操作はWSHでどうするの?

22 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 19:00:42 ]
WSHを実行するのにシフトキーを押す必要はありません。

23 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 22:45:16 ]
なるほど

24 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 14:55:08 ]
>>21
copyhereやmovehereみたいに用意されてるものもあるが
ショートカットの貼り付けや
invokeverb "delete"みたいに用意されてないものもある
ないものはあきらめてほかの方法さがせ

25 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 19:22:13 ]
なるほど

26 名前:デフォルトの名無しさん [2009/06/10(水) 15:44:18 ]
mailto:sage

27 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 16:28:32 ]
getobject("hoge.xls")して、それが新規インスタンスか、
既存のインスタンスか、区別する方法は?

28 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 22:14:31 ]
普通にやれば良いだけでは?

29 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 23:46:59 ]
抽象的な質問なのですが、wshでアプリケーションを操作する・・・では無くて
wshでアプリケーションを作る事は可能ですか?


30 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 23:54:37 ]
GUIつきのアプリは厳しいんじゃないか?



31 名前:デフォルトの名無しさん [2009/06/10(水) 23:58:39 ]
そのためのHTAです。

32 名前:デフォルトの名無しさん mailto:sage [2009/06/11(木) 02:03:46 ]
<SCRIPT language="vbscript">
str = "Hello World!!"
</SCRIPT>
<BODY>
<P><変数strを、ここに出力したい。></P>
</BODY>

33 名前:デフォルトの名無しさん mailto:sage [2009/06/11(木) 08:09:32 ]


34 名前:デフォルトの名無しさん mailto:sage [2009/06/11(木) 12:27:33 ]
<BODY>
<P>Hello World!!</P>
</BODY>

35 名前:デフォルトの名無しさん mailto:sage [2009/06/11(木) 13:11:12 ]
>>27
ないんじゃないか
getobjectする前に排他オープンしてみるとか

36 名前:デフォルトの名無しさん mailto:sage [2009/06/11(木) 14:05:51 ]
<html><BODY><!-- NHKニュース速報すくりぷと.hta -->
<div align="center"><i>NHKニュース速報 </i><span id =span1></span><span id =span2></span></div></BODY>
<script language=vbscript>
Window.ReSizeTo 480,360
Sub Window_onLoad()
span2.innerhtml="<font size=1> アナログ</font>"
For iii = 0 to 10
span1.innerhtml = "日経平均、" & iii & "万円台突破"
createobject("WScript.Shell").Run "%COMSPEC% /c ping -n " & 1 & " 127.0.0.1>nul", 0, true
next
end sub
</script></html>

37 名前:デフォルトの名無しさん mailto:sage [2009/06/11(木) 14:18:30 ]
<html>
<body>
<!-- 完璧すぎる.hta -->
<p>変数strを、ここに出力したい。</p>
<span id =strspan></span>
</body>
<script language=vbscript>
sub window_onLoad()
str = "Hello World!!"
strspan.innerhtml = str
end sub
</script>
</html>

38 名前:デフォルトの名無しさん mailto:saga [2009/06/11(木) 19:32:35 ]
>変数strを、ここに出力したい。
といってるくせに違うところに出してどうする?

39 名前:デフォルトの名無しさん mailto:sage [2009/06/11(木) 19:34:27 ]
>>37
setintervalかsettimeout使えよ

40 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 19:35:43 ]
getobject("hoge.xls")

getobject("hoge.xls","excel.sheet")
の違いはなんだろう?



41 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 20:27:34 ]
,"excel.sheet"があるかないかの違い。

42 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 01:46:37 ]
ハズレ

43 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 12:43:27 ]
Active にするオブジェクトを指定してるんじゃなかったっけか?

44 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 15:37:34 ]
どちらもWorkbookオブジェクトが取れる

45 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 15:41:08 ]
getobject("hoge.xls")
は新規と既存がとれるけど
getobject("hoge.xls","excel.sheet")
は新規のみだろ
getobject("","excel.sheet")がcreateobjectなのはその1例だろ



46 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 22:56:09 ]
exec.vbs
createobject("wscript.shell").exec("notepad")
を作って
wscript exec.vbs|more
とすると、wscriptは終了してるのに、notepadの終了を待ちます。
なぜか、わかる人いますか?

47 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 00:09:58 ]
C:\>notepad|more

48 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 01:06:15 ]
createobject("wscript.shell").run("notepad")
だと待たないからrunとexecの違いのなにかだろ

49 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 01:40:10 ]
start /b /wait notepad|more
start /b notepad|more
パイプがinheritされて閉じられてないみたいだな

50 名前:デフォルトの名無しさん [2009/06/22(月) 18:45:55 ]
作業の自動化ができる、って具体的に何を自動化したいの?
連投スクリプトとかできるの?



51 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 19:40:30 ]
それはお前さん次第さ

52 名前:デフォルトの名無しさん [2009/06/22(月) 19:42:21 ]
明日の会議で自動的に受け答えしてくれる?

53 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 19:55:21 ]
それもお前さん次第さ

54 名前:デフォルトの名無しさん [2009/06/22(月) 19:59:47 ]
俺の代わりに飯食ってきてくれるか?いま手が離せない

55 名前:デフォルトの名無しさん [2009/06/22(月) 20:05:23 ]
それはまた別の話

56 名前:デフォルトの名無しさん [2009/06/22(月) 20:36:12 ]
どうやら>>52>>54の間辺りにWSHでできる事の限界があるらしい

57 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 22:43:00 ]
じゃあ俺の心の隙間を埋めてくれるのかい?

58 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 21:23:44 ]
埋め

59 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 22:58:30 ]



60 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 16:04:09 ]
WSHにてインストールされているプリンタの一覧を取得する方法はありますか?



61 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 16:10:32 ]
あります

62 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:48:32 ]
ありがたい

63 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 23:32:01 ]
WSHで現在アクティブなウィンドウを取得する方法ってありませんか?
最前面に来て使用しているであろうアプリを調べたいのです。

64 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 00:20:49 ]
ない
win32api使え

65 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 00:39:04 ]
SFCminiとAutoitXを入れましょう。これでWSHからwin32apiも使い放題。window操作もやりたい放題。

66 名前:63 mailto:sage [2009/07/07(火) 00:55:00 ]
>>64、65

ありがとうございます。調べてみます。

ネットで調べてうすうすAPIというものを使わないと無理そうだとは思ってたのですが
やはりそうですか・・

67 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 01:08:28 ]
WSHから離れて、dmscript( 日本人製作の
Jscriptと同様のスクリプト、dm.exe -l オプションでワンライナーの
ようにも使えるので場合によってはWSHからWin32Apiの機能を利用可能)、
UWSC(日本人製作、ドキュメント多し)、
なでしこ(日本人製作、ドキュメント多し)、
AutohotkeyやAutoIT3(AutoItXとほぼ同じ)をつまんで見るのも吉。
これらは、SFCminiやAutoITXに比べて、ポータブルでも使えるメリットがある。

68 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 01:11:48 ]
あんま怪しいツールは入れたくないんだよね

69 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 01:47:20 ]
MS純正
excel
powershell
vb.net

70 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 01:56:27 ]
どれもOS標準添付じゃないし…



71 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 20:05:15 ]
結局は XUL が最強だよな

72 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 21:29:45 ]
.netはvistaに標準添付だろ

73 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 22:51:00 ]
開発環境も?

74 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 01:39:17 ]
vbc.exe

75 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 01:51:31 ]
>>74

ttp://www.moonmile.net/blog/?p=18
>実は Windows XP3 や Vista のマシンでは既に .NET Framework が(勝手に)導入されており、
>実は環境変数を設定すれば Visual C# Express Edition を入れなくても
>コンパイルができます。当然実行もできます。

へぇそうなんだ。常識なの?良いこと聞いた、thx


76 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 19:59:39 ]
IEで、Ctrl+Nでウィンドウの新規作成を行った時と等価な状態(セッション情報等を継承)で、
WSHでIEのウィンドウの新規作成を行い、
かつそのIEのウィンドウのオブジェクトIDを得るにはどうしたら宜しいでしょうか?


77 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 20:44:55 ]
>>76
ここはWSHのスレであって
IEコンポーネントAPIのスレではないのでスレ違い。

78 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 23:01:22 ]
Shell.apliction でグルグルすると既存のieオブジェクトやエクスプローラーのハンドルとれるじゃん。
またはieオブジェクト作ったときのオブジェクトに、例えば objIe.hWndってやってもハンドル取れる。

79 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 02:51:48 ]
>>78
やりたい事は、セッション情報を引き継いだIEの新規ウィンドウの生成(Ctrl+Nに相当)です。

例えば、

ie1 = new ActiveXObject("InternetExplorer.Application");
ie1.Navigate("www.example.com/login/");
// ログイン処理

ie2 = new ActiveXObject("InternetExplorer.Application");
ie2.Navigate("www.example.com/foo/bar.html");

とした場合、ie1の派生物とie2の派生物では別セッションとなってしまい、
ie1でログイン状態がセッション管理により行われている場合、
ie2では非ログイン状態になってしまいます。


80 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 03:30:44 ]
>>79
window.open ではダメなの?



81 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 17:21:30 ]
>>78
どれがアクティブか調べる方法は?

82 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 18:38:09 ]
普通にやれば良いんじゃないの?

83 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 19:48:59 ]
普通にWin32APIのFindWindow クラス名でやれば良いんじゃないの?


84 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 21:19:25 ]
>>83
タブの区別がつかん

85 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 19:02:06 ]
statustextでつくとは!

86 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 06:23:12 ]
CreateObject("Shell.Application").Windows.Item
でアクティブ取れるんだね。

87 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 15:05:28 ]
正確には
でアクティブ取れたんだね。

88 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 19:44:04 ]
>>87
え?Vista以降は取れないとか?

89 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 14:13:39 ]
え?IE7以降は取れないとか?


90 名前:デフォルトの名無しさん mailto:sage [2009/08/27(木) 15:49:26 ]
どこで聞けばいいのかわからないのでここで質問を
piyo1hogera.txt
piyo2hogera.txt
piyo3hogera.txt
piyo5hogera.txt
pito8hogera.txt
というように番号がとびとびになっているようなファイルの集まりから数字だけを抽出して
htmlファイルに反映させたいんだけどどうすればいい?

一応, ファイル一覧は抽出できるんだけどそっから数字だけを抽出するにはどうすればいいかわからないので。



91 名前:デフォルトの名無しさん mailto:sage [2009/08/27(木) 19:08:52 ]
>>90
正規表現を使うのが簡単
var num;
if (/(\d+)/.exec(ファイル名) != null) { // ファイル名に数字を含んでいたら
num = RegExp.$1; //抽出した数字
}


92 名前:デフォルトの名無しさん mailto:sage [2009/08/29(土) 01:14:59 ]
$1wwwwwwwwwwww

93 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 19:22:11 ]
WScript.Echoで文字色変えられますか?もし変えられるなら方法も

94 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 05:55:20 ]
>>93
コンソールの文字色変更だったらオススメはしない
一応、コンソールAPI or エスケープシーケンス を使うことで出来るけどね
↑は環境を変更する必要があるので、HTAを使った方がマシだと思う

95 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 16:20:44 ]
tscmd.zipのechoc.exeを使うといいかも

96 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 16:48:43 ]
createobject("wscript.shell").exec "cmd /c color ac"

97 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 20:36:48 ]
>>95-96
間違ってはいないけど >>93 の意図とは違うだろ・・・ワザとか?

98 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 22:19:41 ]
>>96はだめみたいよ
標準入出力をリダイレクトしてコンソール環境を継承してない?

99 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 22:58:31 ]
>>93
NT系OSのコマンドプロンプトでは色指定などのエスケープシーケンスは標準ではサポートされない
エスケープシーケンス ANSI.SYS などのキーワードで検索

100 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 23:43:35 ]
echo エスケープシーケンス | ansi.exe
みたいなのがあったような



101 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 01:02:43 ]
PowerShellの中では文字色変えられるけど、
CMDに戻ると色が消えるのはなんでだろう?

102 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 15:31:45 ]
>>98
ok cmd /c color ac
ng cmd /c color ac <nul >nul 2>nul



103 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:43:53 ]
createobject("wscript.shell").exec "command con /c cmd /c color ac"

104 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 17:30:19 ]
無理ぽ

105 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 17:34:00 ]
なんかズレテるな

106 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 19:35:57 ]
>>105
なんかズレてるな


107 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 20:06:31 ]
excel経由でコンソールAPIを呼ぶ

108 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 19:25:50 ]
>>103
なんかコードページがズレてるな
createobject("wscript.shell").exec "chcp.com 932"

109 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 14:35:30 ]
InvokeVerbで、右クリックメニューのサブメニューは 呼べないんでしょうか

110 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 07:22:20 ]
>>109
どういう状況下で何をしたいのか理解できないけど
InvokeVerbで呼べないならレジストリ読んで実行しとけ



111 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 14:46:42 ]
InvokeVerb "メニュー項目\サブメニュー項目"
とでもできればよいが

112 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 12:44:13 ]
InvokeVerbEx "メニュー項目","サブメニュー項目"


113 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 23:30:32 ]
WordのActiveXコンポーネントについて聞いて良いですか?
WSHから、documentオブジェクトに
他所で生成したリストをMailMergeさせることは出来たんですが、
実際のデータが割り当てられたプレビュー状態を表示させるメソッドってありますか?
ツールバーのボタンを押せばちゃんと表示されます。

114 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 00:15:01 ]
>>113
こんなんで良いの?
var word = new ActiveXObject('Word.Application');
word.visible = true
var doc = word.Documents.Add();
doc.Content.InsertAfter("hello, world.");
doc.PrintPreview();


115 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 00:28:10 ]
>>114
ありがとうございます。
説明が悪かったのですが、印刷プレビューではなくて、
通常のレイアウト内の、差し込み印刷のプレビュー表示です。
右、左でレコードを移動できるあれです。
ツールバーのボタンを押さないと、<<名前>>みたいなフィールドのままですよね。
それを、差し込んだ状態で見せたいんです。
ちゃんとデータソースと結合は出来ているのですが。
スレ違いですかね・・・

116 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 00:42:13 ]
>>115
失礼、差込印刷なって使ったことなかったので

とすると、これ?
doc.MailMerge.ViewMailMergeFieldCodes = false

117 名前:116 mailto:sage [2009/09/18(金) 00:43:29 ]
×差込印刷なって
○差込印刷なんて
orz...


118 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 00:46:24 ]
>>116
調べてみたら、それで間違いないと思います!
今ちょっとWordが無い環境なんで、改めて試してみます。
ありがとうございました。

119 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 01:54:02 ]
ABALE.ZIPとかいうCOMが入っているのですが、これって使えるの?

120 名前:デフォルトの名無しさん [2009/09/24(木) 22:41:49 ]
Wordの印刷についてお聞きしたいんですが.
Wordを印刷するプログラムを書いたのですが,
プリンタを任意に指定する方法がわかりません.
以下のプログラムでは,”通常使うプリンタ”になってしまいます.
プリンタを指定する場合はどのようにすればよいのでしょうか?
できれば,引数からプリンタを指定するようにしたいです.
よろしくお願いいたします.

var pf,obj;
var objArgs = WScript.Arguments;
pf = new ActiveXObject("Word.Application");
pf.DisplayAlerts = false;
obj = pf.Documents.Open(objArgs(0),0,1);
obj.PrintOut();
obj.Close(0);
WScript.Quit(0);



121 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 23:08:20 ]
>>120
試してないけど、
pf.ActivePrinter = "プリンタ名"
あたり?

ちなみに、明らかにword固有の機能はスレ違い
VBAスレなどに行ってください

122 名前:デフォルトの名無しさん [2009/09/25(金) 00:41:38 ]
>>121
ありがとうございます.
その方法で動きました

123 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 00:44:39 ]
ちなみに、VBAスレでは、VBやVBSでも書ける話はスレ違いと言われるので、
さらにほかのスレに行ってください

124 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 04:29:36 ]
> ちなみに、VBAスレでは、VBやVBSでも書ける話はスレ違いと言われる
ハズレ

「VBやVBSでも書ける話」がスレ違いなのではなく
「Word.ApplicationやExcel.Applicationを使わずにVBやVBSでも書ける話」がスレ違いと言われる

VBやVBSでも書ける話でも、WordやExcel固有機能の話なら、当然スレ違いじゃない
だってVBAのAはWord.[A]pplicationやExcel.[A]pplicationのAなんだから

125 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 14:50:55 ]
new ActiveXObject("Shell.Application").ShellExecute(objArgs(0),"プリンタ名",null,"printto");
は、どのスレだろう?

126 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 17:04:12 ]
すいません。質問させてください。
「画面のプロパティ」の内容に当たるレジストリを書き換えるコードを書いています。
が、ログオフか再起動をしないと反映されません。
ログオフ、再起動なしで反映させる方法はありませんか?

127 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 19:13:20 ]
たぶんスレ違いと言われるんじゃまいか

128 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 20:04:19 ]
>>126
設定するモノによる
「画面のプロパティ」の画面自体をVBSで操作した方が楽ぢゃねぇ?

129 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 20:15:00 ]
VBSで画面の操作なんかできんのか

130 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 20:38:11 ]
sendkeysだろ
>>126
inichangeとかsettingchangeとかぐぐれ



131 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 20:56:04 ]
sendkeysはVBSじゃないけど

132 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 02:07:43 ]


133 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 10:29:44 ]
wはVBSじゃないけど

134 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 15:59:53 ]
WScript.Echo "w"
はVBSね

135 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 18:50:17 ]
Is there any here document in WSH?

136 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 23:18:05 ]
UserとPasswdを指定してリモートのファイルにアクセスするならMapNetworkDriveが使えるけど
ドライブのマッピングをしたくない場合って他に何か方法あるかな?
net useコマンド叩けばいいんだけど、あんまり美しくない。。。

137 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 23:26:31 ]
pushdとかは?

138 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 23:28:32 ]
FileSystemObject って UNC に対応してなかったけ?

139 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 01:32:32 ]
UNCってUser/Pass指定できるんだっけ?

140 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 01:53:29 ]
マップしてfsoで開いてアンマップ



141 名前:デフォルトの名無しさん [2009/10/07(水) 12:46:15 ]
指定したパスのフォルダをエクスプローラーで、
サイズや位置を指定して開く方法があったら教えてください。
ぐぐろうとすると InternetExplorerでのやり方ばかりヒットしてしまって・・・

142 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 13:25:15 ]
' 変数の定義,WSHの準備,etc...
Option Explicit
Dim FSO,WS,AG,WE,strOs,strInp,strCom,intRet
Set FSO=CreateObject("Scripting.FileSystemObject")
Set WS=CreateObject("WScript.Shell")
Set AG=WScript.Arguments
Set WE=WS.Environment("PROCESS") : strOs=WE("OS")

' RunメソッドでEXPLORER.EXEを起動し、引数で指定されたドライブ/フォルダ(省略時は現在のドライブ/フォルダ)をツリー枠と共に表示
strInp="." : If (AG.Count > 0) Then strInp=AG(0)
strCom="EXPLORER /e,/root," & Chr(34) & FSO.GetAbsolutePathName(strInp) & Chr(34)
intRet=WS.Run(strCom , 1, true)

' WSHのバージョンが5.1以降かつOSがWindowsNT系(NT/2000/XPなど)の場合、処理内容をイベントID:4(情報)でWindowsNTイベントログへ記録
If (WScript.Version > "5.0") And (strOs = "Windows_NT") Then
WS.LogEvent 4, "(bvExplorer.vbs) 次のコマンドラインを実行しました。" & vbCrLf & strCom
End If

' 各オブジェクトのメモリ リソース等を開放し、本スクリプト実行を終了
Set FSO=Nothing : Set WS=Nothing : Set AG=Nothing : Set WE=Nothing
WScript.Quit()

143 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 20:30:11 ]
Set ie=GetObject("new:{C08AFD90-F2A1-11D1-8455-00A0C91F3880}")
ie.Visible=True
ie.Top=
ie.Width=
...

144 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 13:05:03 ]
FSOその他でシンボリックリンクの判定できる?
ターゲット取り出せる?

145 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 19:10:05 ]
ExecuteExcel4Macro("CALL(""user32"",""FindWindowExA"",
はよくあるが、
ExecuteExcel4Macro("CALL(""user32"",""FindWindowExW"",
はできないのか?

146 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 22:54:27 ]
>>144
シンボリックリンクなら。ジャンクションはこれでは無理。たぶんWMIでいけるんじゃないか。
動かしたのは Win7RC なので、XP では無理。Vista はどうかわからん。

Set shell = CreateObject ("Shell.Application")
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = shell.Namespace("C:\temp")
For Each fname in folder.Items
filePath = folder.GetDetailsOf(fname, 179)
fileAttr = folder.GetDetailsOf(fname, 6)
isFolder = InStr(1,fileAttr,"D",1)
isLink = InStr(1,fileAttr,"L",1)
If isFolder = 1 Then
Set fEntry = fso.GetFolder(filePath)
Else
Set fEntry = fso.GetFile(filePath)
End If
If isLink <> 0 Then
Wscript.echo filePath & " is linking to " & _
folder.GetDetailsOf(fname, 188)
End If
Next


147 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 22:57:38 ]
ごみが残ってた。これいらん。
' If isFolder = 1 Then
' Set fEntry = fso.GetFolder(filePath)
' Else
' Set fEntry = fso.GetFile(filePath)
' End If

148 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 14:48:07 ]
おー、さんきゅう
ただし、Vistaでは属性に、Lが付かんね
リンク先はあるので、ショートカットでなければで区別するかな

149 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 17:33:03 ]
そうなんだ。それじゃ >>147 の fEntry で fEntry.Attributes AND 1024 を調べてみ。

150 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:10:12 ]
分類に「リンク」があるかでも区別できるかも

folder.GetDetailsOf(fname, 188)
Vistaで187 
ExtendedPropertyのほうがよいが、IDが不明
GetDetailsOfとExtendedPropertyの対応表か調べる方法があればよいが



151 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 20:57:35 ]
あった
System.Link.TargetParsingPath
ms-help://MS.MSDNQTR.v90.ja/shellcc/platform/shell/reference/properties/link/system_link_targetparsingpath.htm


152 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 21:37:40 ]
すみません
detail.chiebukuro.yahoo.co.jp/qa/question_detail.php?qid=1131686451
この答えを教えていただけないでしょうか
よろしくお願いします

153 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 22:32:38 ]
>>152
取得順はソートされない(詳細はFATやNTFSの構造の話になるので省略する)
取得したデータを自前でソートしろ

154 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 22:50:19 ]
>>152
自前ソートが面倒であれば以下のとちらかで手抜きしろ
・ソート指定したdirコマンドの結果を使う
・basp21のReadDirを利用する

155 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 23:01:18 ]
>>153-154
ソートするには取得してからでないとダメということですね
ありがとうございます

取得するフォルダの順番というものは決まっているのでしょうか?
対象のフォルダに
20090101
20090102
20090201
20090202
とこのような感じでサブフォルダがありまして
フォルダが読み込まれる順番を調べているのですが
どうも情報がうまくさがせないものでして
echoなどで出しておりますとおそらく昇順だとは思うのですが
明示的にできないか・もしくは昇順であることを裏付ける何かがないかと思いまして

156 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 23:12:55 ]
ループの処理のあとにsleep10000くらい入れて
処理フォルダ見とけばいいんじゃない?

157 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 23:19:53 ]
>>155
FATに関して言えば情報格納順であり
ファイルやフォルダ削除/作成により順番が変わる
NTFSについても確実に名称でソートされている訳ではない
環境依存にしたくなければソートしろ

158 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 23:24:42 ]
>>156-157
ありがとうございます
複雑な内部の問題なんですね…
ソートしてから使いチアと思います。
本当に助かりました

159 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 00:12:04 ]
横レスですが、
みなさんソートはどうしてますか?
バブルソートが楽ですけど、量が増えると遅くて重くて。
エクスプローラがどんなに大量のファイルがあっても一瞬でソートできるように、
何か便利な方法ないでしょうか?

160 名前:159 mailto:sage [2009/10/13(火) 00:16:54 ]
すんません、>>154で出てた・・・



161 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 15:32:29 ]
JSciptのArray.sort()でええ

162 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 15:41:58 ]
CreateObject("System.Collections.SortedList")

163 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 18:16:19 ]
>>21-25
keybd_eventでシフトキー押しながら
invokeverb "delete"
すればよいよ

164 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 21:10:28 ]
質問です
vbsで特定ページのソースを取得し、X行目がYという内容と一致するかのチェックをするスクリプトを作りたいのですが
ソース全体を出力する方法はobjIE.Document.Body.InnerHtmlでできるのは分かったんですが
ソース全体の閲覧ではなくソースのX行目がYという文字列と一致するかどうかの分岐を作るのはどうすればいいのでしょうか?

165 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 21:42:02 ]
>>164
ネタ? どこまで理解できていないのか読み取れない・・・

InStr系関数で改行コードをカウントしてX行目の開始/終了位置を取得
Mid系関数でX行目のデータを取得
If文で分岐

当然ループは使うぞ

166 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 23:00:09 ]
>>165
分かりにくくてすみません
>InStr系関数で改行コードをカウントしてX行目の開始/終了位置を取得
>Mid系関数でX行目のデータを取得
ここが分かりませんでした

もう少し調べてみます

167 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 23:58:40 ]
俺ならXMLDOMで全体取ってから
\nでsplitするかな。

168 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 01:21:37 ]
StrBody = objIE.Document.Body.InnerHTML
lntPos = InStr(1, StrBody, Chr(13), 1)
これの戻り値がどうやっても0になってしまいます
対処法お願いします

169 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 15:46:51 ]
Chr(13)?

170 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 15:54:55 ]
>>169
段落コードのつもりなんですが



171 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 16:38:05 ]
Chr(10)

172 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 17:26:14 ]
段落コード?

173 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 17:33:14 ]
HTMLにおける「段落」をめぐって
ttp://www.asahi-net.or.jp/~WQ6K-YN/para.html

174 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 18:32:24 ]
ソース?

175 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 19:13:38 ]
>>170
HTMLの段落はそっちでしたか
InStrが返す値が明らかに存在する文字を検索しても0になってしまうのはStrBodyが長すぎるせいなのでしょうか?
長さ制限は無いはずだしStrBodyをためしにechoで出力してみたらちゃんと表示されてるのでStringは収納されてるはずなんですが

>>167
ちょっとこちらも調べて見ます

176 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 21:58:26 ]
>長すぎるせいなのでしょうか?
それはない
>InStrが返す値が明らかに存在する文字を検索しても0になってしまう
それもない

177 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 23:21:28 ]
>>176
無いはずなのは分かってるんですけどなぜかそうなってしまうんです
ためしにVBで>>168のIntPosをMsgBoxで出力しようとしてもなぜか0に


178 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 01:02:57 ]
すみません
IntPos = の部分がうまく変数として認識されていなかったのが問題だった見たいです
解決しました

179 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 17:02:37 ]
意味不明だが
on error resume next
でも使ってんのか?やめとけ
option explicit
は使っとけ

180 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 22:17:29 ]
ttp://d.hatena.ne.jp/hasegawayosuke/20091028/p1



181 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 15:03:31 ]
いみふ
結局使えないんだろ?

182 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 20:01:43 ]
以前は
cscript //e:jscript -
が使えたが

183 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 22:00:30 ]


>cscript //e:jscript -
WScript.Echo(WScript.Version);
^Z
5.7

184 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 15:42:09 ]
>cscript //e:jscript -
入力エラー: スクリプト ファイル "-" が見つかりません。

185 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 02:05:32 ]
>cscript //e:jscript con
WScript.Echo(WScript.Version);
^Z
5.7

186 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 12:03:39 ]
レンホウ「こんなロボット作って、なんになるんです?」

187 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 18:04:00 ]
ロボットになるんです

188 名前:デフォルトの名無しさん mailto:sage [2009/11/28(土) 17:39:05 ]
>cscript //e:jscript con
CScript エラー: Windows Script Host の実行に失敗しました。 (この操作を完了するの
に十分な記憶域がありません。 )

189 名前:デフォルトの名無しさん mailto:sage [2009/11/28(土) 19:47:24 ]
純粋なあの頃は仕事で追い詰められて自殺なんて都市伝説だと思ってたけど
今じゃ知り合いの失踪も自殺も体験した

190 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 10:59:46 ]
正規表現が文法的に正しいかどうかを判別する方法はありませんか
括弧が足りないとか教えてくれなくていい
スクリプトが異常終了しないでtrueかfalseを返してくれればいい



191 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 18:48:37 ]
try catch

192 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 19:26:27 ]
>>191
駄目だった
try {var re = /asd(fgh/;}
catch(e){WScript.echo("error");}

193 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 19:36:59 ]
RegExp.compile

194 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 19:58:42 ]
>>192
RegExp

195 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 00:05:02 ]
wshで
var n=/a]b/;
と打ったらエラーが出ませんでした。他の括弧ならエラーが出ます。
エスケープ無しの右かぎ括弧ってなにか特別な意味はありますか?
この場合は、"a]bと続く三文字"と解釈して大丈夫なんですか?

196 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 14:20:01 ]
ためせば?

197 名前:デフォルトの名無しさん [2009/12/13(日) 13:23:44 ]
Excel2003と2010が共存している環境で
WSHを使うことで両者を使い分けようとしています。
参考 : www.drk7.jp/MT/archives/001226.html

RegRead("HKEY_CLASSES_ROOT\\CLSID\\{00024500-0000-0000-C000-000000000046}\\LocalServer32\\").replace(/ \/[^ \/]+/g, '')
で、Excel 最新版(最後にインストールしたもの?)のパスは得られるのですが、古い方のパスを得られません。

何か良い方法はないでしょうか?

198 名前:デフォルトの名無しさん mailto:sage [2009/12/13(日) 13:24:56 ]
今は決めうちで、「C:\Program Files\Microsoft Office\*\EXCEL.EXE」の * の部分を変えて存在確認をとって処理しています。
* の部分は、
Office2010 : office14
Office2007 : office12
Office2003 : office11
Office2002 : office10
Office2000 : office9
Office97 : office8
Office95 : office
であっているでしょうか?
よろしくお願いします。

199 名前:デフォルトの名無しさん mailto:sage [2009/12/13(日) 19:27:38 ]
ttp://support.microsoft.com/kb/234788/ja

200 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 18:19:27 ]
EXCEL.EXEを検索してFileVersionで判定すべき



201 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 00:00:12 ]
Office2010ってもう発売されてるんだ.....

202 名前:デフォルトの名無しさん [2009/12/23(水) 14:44:53 ]
さあ

203 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:50:06 ]
office13は?

204 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 09:35:19 ]
スレちがい

205 名前:デフォルトの名無しさん [2010/01/13(水) 18:31:33 ]
お願いだから教えてください。スレ違いかも知れないけどPower Shellスレないみたいだし・・

Windows Power Shell(2.0)でIEを起動してマウスクリックをエミュレートさせようとした場合、Win32API(mouse_event)を使うと思うんですが
DllImport("usr32.dll",Charset=Charset.Auto)でCharset = ←の=の後がどうとかいって、実行できません。Charsetのくだりを全削除すると今度は予期しない属性と出てしまいます。

mouse_eventにこだわりはないんですが
IEを立ち上げ
マウスクリックをエミュレートする

処理を教えてください。APIなら宣言部もお願い;;



206 名前:デフォルトの名無しさん [2010/01/13(水) 18:37:51 ]
205ですけど

座標とかハードコーディングで大丈夫ですので肝を簡潔にお願い;;


207 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 23:40:26 ]
スレちがい
Windows PowerShell 2.0 Part2

208 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 00:07:23 ]
普通はDOM使うんじゃなかろうか、いや知らんけど

209 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 02:56:55 BE:1403990069-PLT(23400)]
>>207
URLも貼ってあげなよ

pc12.2ch.net/test/read.cgi/win/1261106064/

210 名前:デフォルトの名無しさん [2010/02/22(月) 21:41:34 ]
次のように Folderオブジェクトの SubFolders でFolderコレクションを取得したとして、

 Set c = folder.SubFolders

これを For Each ではなくて以下のように For で処理したいです。

 For i = 0 To c.Count
  :
 Next

このループの中で、i 番目のアイテムを取得するにはどうしたらよいでしょうか?
c(i) でも c.Item(i) でもダメでした。




211 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 21:44:18 ]
c.Items(i)

212 名前:210 mailto:sage [2010/02/22(月) 21:50:27 ]
それだと
オブジェクトでサポートされていないプロパティまたはメソッドです。:'c.Items'
です。
ちなみに、c.Item("Test") みたいに、実在するフォルダ名を与えればフォルダオブジェクトは取って来れます。
それじゃ意味無いですが。


213 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 22:06:18 ]
c(i).Value
c(i).Item()

214 名前:210 mailto:sage [2010/02/22(月) 22:17:28 ]
>>213
プロシージャの呼び出し、または引数が不正です。


215 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 23:29:43 ]
Shell.Application の FolderItems のほうを使ったら?

216 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 21:55:47 ]
配列に入れて使え

217 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 22:13:00 ]
For i = 0 To c.Count
j=0
 For Each f In c
If j=i Then Exit For
j=j+1
 Next
MsgBox f
Next

218 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 22:55:24 ]
番号は使えないみたいだな
ItemクリックしたらDictionaryに飛んだ

ttp://msdn.microsoft.com/en-us/library/9kcx47hd%28VS.85%29.aspx

219 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 21:36:27 ]
test

220 名前:デフォルトの名無しさん [2010/03/05(金) 12:44:09 ]
WMI使ってリモートPCのIP変更したいんだが、変更後にRPCエラー待ちが発生して自動処理が難しい。
エラー待ちを無視するとか、なんかいい方法知ってる人がいたら助けて。

On Error Resume Next

strComputer = "10.1.1.1"
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

For Each objNetAdapter in colNetAdapters
errEnable = objNetAdapter.EnableDHCP()
Next



221 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 19:00:04 ]
素朴な疑問なのですが・・・
JScriptの変数の宣言(var文)って書いても書かなくても動きますが
どちらが推奨されますか?

222 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 20:20:27 ]
>>221
書いた場合と書かない場合は意味が違う
宣言時にはできるだけ書くべきと思う
--------------
a = 10;
function foo() {a = 20;}
foo();
WScript.Echo(a);
--------------
結果:20
--------------
var a = 10;
function foo() {var a = 20;}
foo();
WScript.Echo(a);
--------------
結果:10


223 名前:221 mailto:sage [2010/03/14(日) 04:11:27 ]
>>222
なるほど。そう言う違いがあるのですか・・・
ありがとうございました

224 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 12:34:38 ]
varといえば

var a = 10;
var a;

で、aがundefinedになると思い込んでいて
はまりかけたことがあった。

225 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 23:24:20 ]
バッチファイルからWSHを呼び出す際、
バッチからサブルーチン呼出すみたいにパラメータ渡すことは可能ですか・

226 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 23:52:43 ]
>>225
可能
渡されたパラメタはWScript.Argumentsで参照できる

227 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 00:13:23 ]
有難う御座います!

228 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 10:28:58 ]
WSHの何か良いリファレンスブックみたいなのってありますか?
言語は何の奴でもまぁ使えると思うんで何でも良いんですが

229 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 11:49:47 ]
Scripting Guide 2000

230 名前:228 mailto:sage [2010/04/10(土) 01:11:59 ]
すいません、日本語の書籍でお願いしますorz



231 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 01:32:23 ]
>>230
初心者なら scd56jp.exe 内の script56.chm だけで良くねぇ?

232 名前:228 mailto:sage [2010/04/10(土) 02:27:18 ]
>>231
おお、これは凄い便利ですね。
ありがとうございます、凄い役にたちそうなんで嬉しいんですが
オフラインで使える本も、それはそれで欲しいです。
書籍の持ち込みは可能だけどデータの持ち込みは厳しい場所に持ち込みたいので。

233 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 11:33:33 ]
公式のヘルプを知らなかったって…

234 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 11:37:25 ]
VWD2005でVBSのコード補完してくれるらしいから
インストールしたけどVBSは全く補完してくれないよ。
かんか設定必要?

235 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 04:06:49 ]
CoInitialize は呼び出されていません。
こういう場合はどうすれば?

236 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 18:46:06 ]
CoInitialize を呼び出せば?

237 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 21:04:56 ]
ちょっと教えてください。

Wshからバッチファイルを呼び出す事は可能ですか?

238 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 22:01:02 ]
ちょっと教えてください。

WshからCoInitializeを呼び出す事は可能ですか?

239 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 22:53:38 ]
COMを挟めば可能

240 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 22:59:32 ]
COMが呼べるってことは既にCoInitializeされてることを意味するので無意味



241 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 00:39:11 ]
意味しないよ

242 名前:デフォルトの名無しさん mailto:sage [2010/05/01(土) 18:16:08 ]
explorerのnavigation paneのshow/hideはshowbrowsebarでできないのか?

243 名前:デフォルトの名無しさん mailto:sage [2010/05/01(土) 21:52:27 ]
セキュリティ対策だから無理だろ

244 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 18:03:17 ]
Windowsスクリプティング環境比較:PowerShell vs WSH
www.atmarkit.co.jp/fwin2k/operation/pshvswsh/pshvswsh_01.html
>Windows XPがリリースされ、先日Windows Vistaがリリースされるまで何年も経過したにもかかわらず、
>WSHのバージョンはVer.5.6からVer.5.7へとマイナー・バージョンアップにとどまっている。
>実はWSHは今後メジャー・バージョンアップされない運命にあるのだ。

バージョンアップされないってホント?

245 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 22:30:32 ]
うそ

246 名前:デフォルトの名無しさん [2010/05/28(金) 22:47:28 ]
>>244
なんか困るの?
つか、他の手段への以降してるんじゃないの?

247 名前:デフォルトの名無しさん [2010/05/28(金) 22:50:33 ]
移行だね。


248 名前:デフォルトの名無しさん mailto:sage [2010/05/29(土) 16:07:55 ]
バージョンアップしなくてもよいからインラインスクリプトをサポートしてほしいな

249 名前:デフォルトの名無しさん mailto:sage [2010/05/29(土) 21:25:33 ]
exec("cmd",0) も


250 名前:デフォルトの名無しさん mailto:sage [2010/06/14(月) 11:44:46 ]
質問です。
例えば、sample01.exeという単一ファイルに対して、コンテキストメニューでavast!の"検査(S) sample01.exe"を実行することは
FolderItems→FolderItem→InvokeVerbでできます。
一方、ファイルが複数選択された状態では、コンテキストメニューは、"選択した領域のウィルス検査(S)"となり、
これを実行すると選択された全てのファイルに対してまとめて処理が行われます。
この例のようにファイルを複数選択した状態で、"選択した領域のウィルス検査(S)"をWSHで実行するにはどうすればよいですか?



251 名前:デフォルトの名無しさん mailto:sage [2010/06/14(月) 15:20:04 ]
set items=folder.items
items.filter SHCONTF_NONFOLDERS,"*.exe"
items.invokeverbex "選択した領域のウィルス検査(S)"

252 名前:デフォルトの名無しさん mailto:sage [2010/06/14(月) 15:22:56 ]
ashQuick.exeを呼べばいいんじゃないの

253 名前:デフォルトの名無しさん mailto:sage [2010/06/14(月) 16:29:09 ]
>>251-252
ありがとうございます。

252のサンプル、大変参考になりました。



254 名前:デフォルトの名無しさん mailto:sage [2010/06/14(月) 16:31:01 ]
>>253
失礼。まちがえました。
× 252のサンプル、大変参考になりました。
○ 251のサンプル、大変参考になりました。

255 名前:デフォルトの名無しさん mailto:sage [2010/06/20(日) 19:09:05 ]
JavaScriptを使ったWSHでIEを操作してハイパーリンクをクリックさせるってどうやってる?

256 名前:デフォルトの名無しさん mailto:sage [2010/06/20(日) 20:36:09 ]
>>255
自己解決した


と思ったら次の問題が発生した

<form action="..." method="post" >
<input type="text" name="text">
<input type="submit" name="exec" value="test">

のフォームをVBSで操作したいんだが
objIE.Document.Forms(0).test.value = test
objIE.Document.Forms(0).exec.click
だとエラーになる

objIE.Document.Forms(0).test.value = test
objIE.Document.Forms(0).exec.click
objIE.Document.Forms(0).Action="./_msg_post"
objIE.Document.Forms(0).Method="POST"
objIE.Document.Forms(0).Submit
でも同じようにエラーになるんだけどなぜ?

257 名前:デフォルトの名無しさん mailto:sage [2010/06/20(日) 21:36:56 ]
>>256
エラーの質問の時は環境とエラー詳細を書け

まさか
×test
○text
なんてことはないよね

258 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 18:54:32 ]
>>257
Windows7
エラーは詳細不明 エラー番号が8004005

259 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 19:11:02 ]
>>258
80004005だよ・・・orz

260 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 19:43:57 ]
Dim K As Long

For K = 0 To 5
MsgBox "今" & K & "周目"
Next K

これ
7で動かないんだけど7以外で動く人いる?



261 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 19:52:13 ]
>>260
それは vba の書き方じゃないの?
vbscript なら以下

Dim K

For K = 0 To 5
MsgBox "今" & K & "周目"
Next

262 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 14:23:24 ]
>>260
いない

263 名前:デフォルトの名無しさん mailto:sage [2010/06/24(木) 18:25:10 ]
JavaScriptのWSHにVBScriptで取得した文字列を渡す方法ってある?

264 名前:デフォルトの名無しさん mailto:sage [2010/06/24(木) 19:29:43 ]
つwsf

265 名前:デフォルトの名無しさん mailto:sage [2010/06/24(木) 20:06:17 ]
sss="xxx"
createobject("wscript.shell").run "aaa.js " & sss

266 名前:デフォルトの名無しさん mailto:sage [2010/06/24(木) 20:11:05 ]
runするならプロセス環境変数で渡してもOKだな

267 名前:デフォルトの名無しさん mailto:sage [2010/06/24(木) 22:20:36 ]
ちょっと難しい質問


WSHで起動したExcelのInputBoxに入力された数値を別のWSHに渡すことはできる?


WSH1.vbsでExcelのInputBoxを起動して数値を入力
その数値を
WSH2.vbsに渡す




268 名前:デフォルトの名無しさん mailto:sage [2010/06/24(木) 23:27:10 ]
>>267
普通にできる
逆に「どーやったらできない」のか聞きたいくらいだ

269 名前:デフォルトの名無しさん mailto:sage [2010/06/24(木) 23:59:10 ]
>>268
どうやればいいんだ…orz

270 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 00:24:25 ]
sss=inputbox()
createobject("wscript.shell").run "wsh2.vbs " & sss




271 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 00:36:54 ]
wsh2.vbsにも指定したsssにはwsh1で入力した数値が入ってるんだね?
参考になった!本当にありがとう!

272 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 00:45:02 ]
sssに入ってるというより、sssに渡したい値を引数として入れて
別のスクリプトを起動するっつうことだろ。
その結果、受けるほうはWScript.Argumentsで引数として受け取る。
またはWScript.CreateObject("WScript.Shell").Environment("Process")で渡して、受け取る。
テキストファイルを使っても渡せることは渡せる。

273 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 00:48:40 ]
「〜できる?」
  ↓
「どうやればいいんだ…orz」
  ↓                 ←今ココ
「全部ソース書いて」

274 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 00:52:37 ]
JScriptは永遠に不滅です!

275 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 11:46:42 ]
>>272
Processに入力されたデータを入れるには?

276 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 15:27:41 ]
それはとっても難しい質問だね

277 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 15:41:12 ]
どうやればいいんだ…orz

278 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 16:20:56 ]
>>275
> ○○に入力された××を入れるには?

「誤字」と言うよりは「理解不足」だと思う
って言うか、もう少し「人間としてのレベル」を上げて来い



以下に示す程度のガキは相手にされないことが多い
・どこまで分かるのか書かない        ←「オレが分かるように答えろ」というレベル
・「どうやればいいんだ…orz」を多用     ←「助けてママ〜」というレベル
・スレ内を検索できない
・ググれない
・scd56jp.exeをDLしてマニュアルを読むことができない

279 名前:デフォルトの名無しさん mailto:sage [2010/06/25(金) 22:46:06 ]
>>278
>scd56jp.exeのマニュアル見てやっとわかった ありがとう

280 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 11:09:02 ]
>>279
そうか。具体的にどう解決できた?サンプルを書いてみて。



281 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 12:51:16 ]
>>280
WSH = WScript.CreateObject("WScript.Shell").Environment("Process")a = Inputbox
WSH = Item("A") = a

282 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 13:30:20 ]
>>281
ごめん携帯からあわてて書いたからおかしくなったわ

1.vbs
WSH = WScript.CreateObject("WScript.Shell")
env = WSH.Environment("Process")
A = InputBox()
env.Item("a") = A

2.vbs
WSH = WScript.CreateObject("WScript.Shell")
env = WSH.Environment("Process")

A = + env.Item("a")
WScript.echo(A)

283 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 14:13:16 ]
WSHのコードやよく使う関数をdllにできたらすごく便利だね うふ

284 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 14:17:06 ]
classでまとめておくのはやってる。

285 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 14:25:54 ]
>>282
vbsだからset 使わんと駄目なんだろう。あとWSHもオブジェクトだからたぶん駄目だろ。あとはrun付け足せばいいはず。
WScript.CreateObject("WScript.Shell").Run "wscript.exe " & WScript.CreateObject("ファイルシステムなんちゃら").GetParentなんちゃら(WSH.ScriptFullName) & "\2.vbs"

vbs全然つかってねえやw

286 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 14:39:49 ]
>>285
だってこれJScript用だし

287 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 14:56:09 ]
>>286
>>だってこれJScript用だし
>>282 に >>1.vbs
って書いてあるのに、それはねえべよ〜w こんな後だしジャンケンは初めてみたわw

288 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 15:16:12 ]
>>287
うん
そりゃね
VBSで動作実験してからJScript用に変えたから…



先にそれを書いておくべきだった すまない

289 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 15:39:06 ]
今回は >>278 の忠告を聞かない>>287が悪い。

290 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 16:08:30 ]
wscript.exe //e:jscript 2.vbs
で起こすから…



291 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 17:35:03 ]
審判長「ただ今の協議について説明いたします。
行事は、忠告を聞かなかった>>287の右足が俵を割ったと判定して
>>286に軍配を上げましたが、
>>290 のカウンターが>>287のあごにヒットしたため、
>>290の勝ちと判定いたします。」

292 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 20:10:52 ]
ttp://memoofwork.seesaa.net/article/13976209.html

のリンク数分回すのがうまく動かない


Length はリンク個数を取得してるのはわかるんだが・・・
なんで次へ のリンクに飛ばないんだ?

293 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 20:31:48 ]
>>292
わすれてた
リンクの場所はGoogleの検索結果です


294 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 20:47:07 ]
>>292
ちょっと見た感じ、元のページの内容が怪しそう
hrefってURLを表してるんじゃないの?

×If objIE.Document.links(i).href = "次へ" Then
○If objIE.Document.links(i).innerText = "次へ" Then
これならどう?


295 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 20:58:08 ]
>>294
できました!ありがとうございます!


296 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 22:05:16 ]
ごめんなさい 追加で質問です・・・
>>292をJScriptで同じようなことをさせてみようと思ったんですけどうまくできないんです

var IE,i,a
IE=new ActiveXObject('InternetExplorer.Application');IE.Visible=true;
IE.navigate2("www.google.co.jp/search?hl=ja&source=hp&q=amazon&aq=0&aqi=g7g-r3&aql=&oq=a&gs_rfai=");
WScript.sleep(1000);
a = IE.Document.links.length;
for (i = 0; i < a; i++) {
IE.Document.links(i).innerText=("次へ");
IE.Document.links(i).Click();};

これだと動かないんですがどうしたらいいでしょうか・・・

297 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 22:26:35 ]
>>297
これで動いた

var IE,i,a
IE=new ActiveXObject('InternetExplorer.Application');IE.Visible=true;
IE.navigate2("www.google.co.jp/search?hl=ja&source=hp&q=amazon&aq=0&aqi=g7g-r3&aql=&oq=a&gs_rfai=");
WScript.sleep(1000);
a = IE.Document.links.length;
for (i = 0; i < a; i++) {
if ((""+IE.Document.links[i].innerText)==("次へ")) {
IE.Document.links[i].click();
break;
}
};


298 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 22:33:41 ]
>>298
ありがとうございました

299 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 22:59:09 ]
>>297
>if ((""+IE.Document.links[i].innerText)==("次へ"))
このような方法は知りませんでした

もっと勉強します ありがとうございました!

300 名前:デフォルトの名無しさん mailto:sage [2010/06/26(土) 23:03:25 ]
ああ、失礼
最初の ""+ はなくてもよいかも
オブジェクトが null になる可能性がある場合、これをいれておくととりあえあず文字列になって
エラーにならないので入れてみた(最初に>>296を起動したときエラーになったので念のために)
正しくオブジェクトが取得できる前提なら不要




301 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 00:13:58 ]
>>300
エラーになったみたいです・・・
一行目の1文字目の文字が正しくないって・・・
どういうことなんでしょうか

302 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 03:19:22 ]
1行目1文字目はいくらなんでもおかしい

文字が全角になってるとか、
ファイルがBOM付きのUTF-8になってるとか、
構文以前の基本的な個所でエラーになってる可能性がないか?

303 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 03:00:29 ]
WSHでOperaやFireFoxにURLを渡すのは不可能なんだろうか…


スレイプニルはできるのになぁ

304 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 03:14:35 ]
bugbrowser や Nilbrowserも出来るね。

305 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 03:15:26 ]
>>303
釣りとしか思えないなぁ・・・

バカが「OperaやFireFoxにURLを渡すのは不可能なんだろうか」って言うようなソースを晒してくれ

306 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 03:33:17 ]
>>305
ActiveXがないからWSHが使えないだけでActiveXがあればWSHが使えるんだからOperaやFireFoxにもActiveXが搭載できればいいんじゃないかと思うんだが

307 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 03:47:18 ]
>>306
コレは完全に釣りだな
面白いからソース晒せ

308 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 03:56:58 ]
>>307
RunでOpera.exeだのFireFox.exeを起動させただけのソースコードがみたいとは奇っ怪な

309 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 04:07:27 ]
>>308
「Sleipnirではできる」のに「OperaやFireFoxではできない」って言う奇怪なソースを早く晒せ

釣りには「ノリ」も必要だぞ

310 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 09:43:40 ]
恥ずかしい後釣り宣言来ました



311 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 14:35:12 ]
つDDE

312 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 14:44:54 ]
>>303
で何したいン?ただ外部のスクリプトからFirefoxでURLを開ければいいのか、FireFoxをスクリプトでいろいろ制御したいのか?

313 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 19:25:00 ]
IEで開いたページにあるリンクのURLをSendKeyを使ってメモ帳に書き込むコードを作ってみたのですが

一括で書き込んでるから途中で内容がぐちゃぐちゃになってしまいます


0.01秒ごとに書き込みすることはできないでしょうか?

以下 ソースコード

var ie,i,a,aaa,d,s;
var WSH;WSH = WScript.CreateObject("WScript.Shell");
IE=new ActiveXObject('InternetExplorer.Application');
IE.Visible=true;
aaa = "";
s = WScript.sleep(100);
d = 0;
while(d < 10){
d = d + 1;
ie.navigate2("★");
WScript.sleep(3000);
a = ie.Document.links.length;
for (i = 0; i < a; i++) {
if ((ie.Document.links[i].innerText)==("★")) {
test = ie.Document.links[i].search;
aaa = aaa + test~";
break;}};};

WSH.AppActivate("無題");
WSH.SendKeys(aaa);

314 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 19:31:11 ]
>>313
なんでSendKeys?
FSO使えばいいだろ
あと変数名が酷いなw

315 名前:デフォルトの名無しさん [2010/06/28(月) 19:37:26 ]
個人で作って使ってんだ。
変数名なんて本人の好きで構わんだろ。


316 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 19:45:00 ]
これは難読化されたコードなんだよ

317 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 19:47:44 ]
>>314
FSOですか・・・それは知りませんでした

あと 変数名は適当に決めています


318 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 19:52:35 ]
変数と言うぐらいだから変な名前で何が悪い!

319 名前:デフォルトの名無しさん [2010/06/28(月) 20:40:07 ]
変な名前では無いと思うが。w

320 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 21:08:39 ]
FSOに変えてみました

var IE,i,a,t,aaa,d,abc,test;
var WSH;WSH = WScript.CreateObject("WScript.Shell");
var FSO;FSO = WScript.CreateObject("Scripting.FileSystemObject");
IE=new ActiveXObject('InternetExplorer.Application');
IE.Visible=true;
aaa = "";
d = 0;
while(d < 2){
d = d + 1;
IE.navigate2("★");
WScript.sleep(3000);
a = IE.Document.links.length;
for (i = 0; i < a; i++) {
if ((IE.Document.links[i].innerText)==("★")) {
test = IE.Document.links[i].search;
aaa = aaa + test;
break;}};};

abc = FSO.OpenTextFile("abc.txt", 8, true);
abc.WriteLine(aaa);
abc.Close();


これだと改行をしてくれないようです
Write.Line は改行をしてくれるはずだったんですが・・・



321 名前:デフォルトの名無しさん mailto:sage [2010/06/28(月) 21:52:44 ]
>>320
WriteLine()は最後に1つだけ改行する

aaa="";
while(...) {
aaa = aaa+なんとか;
}
の代わりに以下のようにすればよい
aaa=[]; // 配列にする
while(…) {
aaa.push(なんとか); //配列への要素の追加
}

abc.WriteLine(aaa.join("\r\n")); // 配列の各要素を改行で連結し、それを書き込み

322 名前:デフォルトの名無しさん mailto:sage [2010/06/29(火) 21:01:01 ]
SeraphyScriptDialogは新しいのが出て64bitWindows7にも対応してた。AutoItXも更新してる。
みなさんは使ってますか?

323 名前:デフォルトの名無しさん mailto:sage [2010/06/29(火) 22:43:15 ]
いいえ

324 名前:デフォルトの名無しさん mailto:sage [2010/06/29(火) 22:46:49 ]
いいえ

325 名前:デフォルトの名無しさん mailto:sage [2010/06/29(火) 23:02:55 ]
つかってるがぜよ

326 名前:デフォルトの名無しさん mailto:sage [2010/06/30(水) 14:04:56 ]
>>312
後者

327 名前:デフォルトの名無しさん mailto:sage [2010/06/30(水) 16:32:44 ]
大変だから止めた方がいい

328 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 05:52:09 ]
Opera,FireFoxも「JavaScript系で簡単に制御」できる
WSHじゃないのでスレチ


>>322
レジストリ使う時点で糞なので使わんだろ
汎用GUIからScriptControlでWSHを使うのが普通だな

329 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 07:39:59 ]
>>328
そのスレはどこに?

330 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 09:26:23 ]
>>329
「何をしたい」のか明記せずに糞みたいな質問ばかりすんな
とりあえず >>278 を読み直して内容を理解しろ
そして質問し直せ

それが出来なければ、自分でスレを探せ



331 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 16:13:45 ]
糞みたいなレスばかりすんな

332 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 12:40:39 ]
>>328
XPのmanifest使えばインストール無しでもDllは使える。
起動時のwscript.exeは、マニフェストがあるパスのwscript.exeを使わなきゃいけないけど。
システムを汚さなくても使うことは出来る。
エディタのマクロやブラウザのマクロのjscriptでも同じように使える。
システムへのインストールはいらない。

お前ら、wsh使ってますか? Part7
pc12.2ch.net/test/read.cgi/win/1190548945/715

715 名前:名無し~3.EXE[sage] 投稿日:2009/12/05(土) 17:35:36 ID:/VdO4Ha3
XPとWScriptのJscriptで、manifest使ってレジストリ登録なしでAutoItXが使えたんでメモしとく。
まずWScript.ExeとCScript.Exeをコピーして適当なフォルダに入れとく。
AutoItX3.dllも同じところに入れとく。
同じ場所にテキストファイルを3つ作る。
wscript.exe.manifest
cscript.exe.manifest
AutoIt.AutoItX3.manifest


333 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 14:05:58 ]
>>332
ソレ知ってる
SeraphyScriptDialogとAutoItXは「機能不足なので使わない」って方が正しい
>>328 を分かりやすくしておく

 レジストリ使う時点で糞なので使わんだろ
    ↓
 レジストリ使わなくても鼻糞なので使わんだろ

334 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 16:03:24 ]
>>333
ならそう書けよ。後出しジャンケン好きはプライドだけは高いから困るんだw
会社でもそういわれてるだろ?違うかい?
それで低機能ならSFCminiでも使ってみりゃいいさ。

335 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 16:09:06 ]
会社でも近所でも鼻つまみ者です

336 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 02:10:03 ]
>>334
自作の汎用GUIは「GUI/DLL絡みは外部テキストファイル定義」で、WSHからもコントロール可能にしてある
だから SeraphyScriptDialog,AutoItX,SFCmini のような「WSHにベース機能を提供するもの」は使わんよ

「他人がする評価」については否定も肯定もしない
因みにオレは未成年で学生だ
社会人扱いは止めてくれ

337 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 13:51:54 ]
>>336
ちなみにwin32APIにアクセスしたいときはどうしてるん?プロセス間通信とか、外部のアプリにメッセージ投げたいときとか?

338 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 16:10:54 ]
学校でも家庭でも鼻つまみ者です

339 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 18:29:24 ]
わざわざ外部ソフト入れんでも.NETやPowerShell使えばええやん

340 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 22:24:23 ]
>>339
標準語でおk



341 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 23:33:34 ]
またPowerShellかよw このスレの意味がない。

342 名前:デフォルトの名無しさん [2010/07/03(土) 23:55:49 ]
>>337へのレスが無いね。
質問しといて遊び呆けて無ければ良いが…

343 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 00:41:11 ]
2chは煽るばっかりで難しい質問には答えられません

344 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 01:14:33 ]
VBScript コマンドから Windows PowerShell コマンドへの変換

345 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 11:21:04 ]
GUIはHTAでもいいかも。
足りない部分は外部のDll使おうが、PowerShell使おうが、
そこを関数化しておけばいいんじゃないの?
あとで簡単に置換え出来るでしょ。
Postmessageが使えるだけでもWSHやHTAから出来ることは大きく広がる。

346 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 15:46:37 ]
TextStreamオブジェクトをFunctionとかで呼んで戻すことができない・・

347 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 16:40:06 ]
>>346
あほにはできない・・

348 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 19:22:33 ]
>>346
できるよ・・

349 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 21:33:20 ]
そういやPowerShellのスレはないんだな

350 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 08:54:52 ]
win板にあるあるよ



351 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 19:50:29 ]
ボタンのあるHTMLをieオブジェクトで開いた時、
ボタンクリックのイベントをWSH側で拾うことは
可能ですか?

352 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 20:09:42 ]
はい

353 名前:351 mailto:sage [2010/07/07(水) 08:05:20 ]
ヒントちょうだい

354 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 12:34:28 ]
JScriptでimportもどきって、こんなんでいいのかな?

function require(module){
  if(typeof this[module] == "undefined"){
    var  fso = new ActiveXObject("Scripting.FileSystemObject");
    eval(fso.OpenTextFile(module + ".js").ReadAll());
    this[module] = eval(module);
  }
}

355 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 12:56:52 ]
>>354
それだと不便だろ?
ScriptControl使え

356 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 14:32:00 ]
>>354
それだと不便だろ?
WSF使え

357 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 17:10:21 ]
// wsfでいいんじゃねえの?.wsf
// scriptControlつかおうが、readallでeval使おうが、どっちみち
// スクリプトの中からファイル読込みしてやらんと駄目だろ。
// それならwsfのほうが楽だ。
// エディタのマクロには使えんけどな。
//
// <job id='main'> <script language='JScript' src='./subinclude.js'>
WScript.Echo('wsf');
// </script></job>

358 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 17:55:12 ]
スクリプトを動的に変更する場合は、一般的にScriptControlを使用する

>>354 は必要なときにスクリプトを後付けする構造なので
何でもできるScriptControlにする方がベストだと思う

>>357 のやり方はスクリプトの一括読み込みなので構造が違う
無駄なスクリプトも全部読み込みたい場合はwsfでも良いけど
ファイル構成も異なるので使い難い

359 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 18:04:38 ]
>>358
スクリプトコントロールを使うっていっても、その元になるスクリプトを書かれたファイルを読み込まなくていいのか?
たとえばどうやって書くわけよ?
vbsのinput使うみたいな形で、scriptcontrol使ってる例はあるわな。
どうしてもその言語じゃ処理できない場合に使う方法として。
その場合は、スクリプトのなかで記述しちゃってるよね。
>>354は、メインのスクリプトファイルから外部の関数やクラスをimportしたいんだろうから、
その都度読み込もうが、wsfでも何の問題もないと思うんだが。
ScriptControlを使う場合の方法と、そのメリットを判り安く解説してみてくれ。

360 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 18:12:49 ]
vbsからjsならscriptcontrolかもしれんが、jsからjsならevalでええ、scriptcontrolつかうなんてあほくさ



361 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 18:16:58 ]
だいたいimportしたいってのは、ファイル構成をわけて、
過去に作った関数を再利用しやすくするためのもんだと思うんだが・・・
ファイル構成をわけたくなきゃ、同じファイルにその関数をコピペすりゃいいだけだが、
それやってくと、それはそれで面倒臭いこともある。

362 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 18:34:23 ]
scriptcontrolつかいたければつかえば? どうぞどうぞ とめないよ

363 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 19:57:08 ]
importしたい奴にScriptControlのほうがいいと薦めるのか?
意味がわからん。誰か解説ヨロ

364 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 21:34:04 ]
断る

365 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 21:41:20 ]
<?xml version="1.0"?><package><job id="fso"><script language="VBScript"><![CDATA[
rem objIEに走っているスクリプトを入れて関数を呼び出す Unicode で保存
Function obj(jobName) :Set Container = GetObject("new:{C08AFD90-F2A1-11D1-8455-00A0C91F3880}")
CreateObject("Wscript.Shell").Run "Cmd.exe /c Cscript.exe //Nologo " & _
"""" & Wscript.ScriptFullName & """" & " //job:" & jobName & " " & Container.HWND & _
" || (echo Error In JobInitialize. & pause) ", 6
On Error Resume Next :Do :Err.Clear:Set objScript = Nothing
Set objScript = Container.GetProperty(Container.HWND)
Loop While objScript Is Nothing : On Error Goto 0
If Err.Number <> 0 Then : Err.Raise Err.Number : End If
Set obj = objScript : Container.Quit : Set Container = Nothing :End Function
]]></script><script language="VBScript"><![CDATA[rem *** FUNCTIONS ***
Function objSelf() : Set objSelf = CreateObject("Scripting.FilesystemObject").GetFile(WScript.ScriptFullName)
End Function ]]></script><script language="VBScript"><![CDATA[If WScript.Arguments.Count = 0 Then
Set fso = obj("fso") : msgbox fso.objSelf.Path ,32 : fso.Quit
End If]]></script><script language="VBScript"><![CDATA[If WScript.Arguments.Count = 1 Then
PutPropertyMyself() : Zzz() : Sub PutPropertyMyself() : PropertyID = Wscript.Arguments(0) + 0
For Each objIE In CreateObject("Shell.Application").Windows : If objIE.HWND = PropertyID Then
objIE.PutProperty PropertyID, Me : Exit For
End if : Next : End Sub : Sub Quit() : WScript.Quit : End Sub : Sub Zzz() : Wscript.StdOut.WriteLine "id: " & WScript.Arguments(0)
Do : Wscript.Sleep 1000 : Wscript.StdOut.Write "Zzz..." : Loop : End Sub
End If]]></script></job></package>


366 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 22:46:31 ]
つまらん

367 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 13:33:47 ]
IEのハンドル調べて、オブジェクトとプロパティのやり取りしていろいろやるのか。凄いな。
で何が凄いんだが、解説ヨロ

368 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 19:10:09 ]
面倒だからやだ

369 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 21:27:57 ]
複数ジョブを走らせると
終了時にcmd.exe が成仏しないことに
気がつきましたので
差し替えさせていただきます

どーも すみません

370 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 21:28:51 ]
<?xml version="1.0"?><package><job id="fso"><script language="VBScript"><![CDATA[
rem よそのスクリプトの関数を呼ぶ.wsf Unicodeで保存
Function obj(jobName) : Set container = GetObject("new:{C08AFD90-F2A1-11D1-8455-00A0C91F3880}")
CreateObject("Wscript.Shell").Run "Cmd.exe /c Cscript.exe //Nologo " & _
"""" & Wscript.ScriptFullName & """" & " //job:" & jobName & " " & container.HWND & _
" || (echo Error In JobInitialize. & pause) ", 6 : On Error Resume Next : Do : Err.Clear
Set script = Nothing : Set script = container.GetProperty(container.HWND) : Loop While script Is Nothing
On Error Goto 0 : If Err.Number <> 0 Then : Err.Raise Err.Number : End If
Set obj = script : container.Quit : Set container = Nothing : End Function
]]></script><script language="VBScript"><![CDATA[Function objHere()
Set objHere = CreateObject("Scripting.FilesystemObject").GetFile(WScript.ScriptFullName).ParentFolder
End Function]]></script><script language="VBScript"><![CDATA[If WScript.Arguments.Count = 0 Then
Set fso = obj("fso") : msgbox fso.objHere.Path, 32 : fso.Quit = TRUE
End If]]></script><script language="VBScript"><![CDATA[Dim Quit
If WScript.Arguments.Count = 1 Then : PutPropertyMyself() : Zzz() : End If
Sub PutPropertyMyself() : PropertyID = Wscript.Arguments(0) + 0
For Each objIE In CreateObject("Shell.Application").Windows
If objIE.HWND = PropertyID Then : objIE.PutProperty PropertyID, Me : Exit For : End if : Next : End Sub
Sub Zzz() : Do : Wscript.Sleep 1000 : Wscript.StdOut.Write Typename(Quit)
If Quit Then : Exit Do : End If : Loop : End Sub]]></script></job></package>



371 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 17:55:11 ]
GetObject("new:つかってみたかったのか?
CreateObject(ie)でよかろうもん

372 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 18:28:23 ]
どっちもいらんけどな

373 名前:デフォルトの名無しさん mailto:sage [2010/07/16(金) 21:18:50 ]
おまいらWSHのデバッグどうしてる?
エラーダイアログ見て直す?あと個別に変数表示させる?
またはスクリプトデバッガいれてレジストリ直して//xでやってる?
もっと他にいい方法あるかな?
自分でツール作ってやってる人いるかな?

374 名前:デフォルトの名無しさん mailto:sage [2010/07/16(金) 22:43:29 ]
>>373
いわゆる printf デバッグ

ただ、WScript.Echo() のままでは面倒なので、
msgout("a={0}, b={1}", [a, b])
みたいに使えるヘルパ関数は自作してる

375 名前:デフォルトの名無しさん mailto:sage [2010/07/16(金) 22:53:26 ]
よく使うのは
msgbox escape()
msgbox typname()
だね

376 名前:デフォルトの名無しさん mailto:sage [2010/07/16(金) 23:09:08 ]
正規表現とかの文字列処理は組み込んでからデバッグするんじゃなくて
該当部分だけ先にインタプリタ系ツールで試して問題ないことを確認してから
プログラムの本体に組み込む

377 名前:デフォルトの名無しさん mailto:sage [2010/07/17(土) 00:36:58 ]
なるほどなるほど・・・
MSのスクリプトデバッガつかってるひとはいないのか。
試してみて、使いやすいとは思えなかったんでエディタと連携させて
自分で適当な関数を作ったほうがいいのかもしれんと思ったのだが・・・

デバッグに絡んで、関数の中で、実行中のその関数の名前を取得したいと思って
いろいろ試してるんだが、
functest=function(a){
s1=arguments.callee.toString() ;//だとfunction以降の中身が表示されて、関数の名前は表示されない。
s2=arguments.callee.name;// だとnetscapeでは関数の名前が表示されるらしいがJscriptでは使えない。
WScript.Echo(s1 +"\n"+ s2);
};
functest();

ということでいろいろ聞きたかったんだが
function functest(a){
とやることで名前を取得できるメドが立ちましたw
一応チラ裏ってことでメモ。

378 名前:デフォルトの名無しさん mailto:sage [2010/07/17(土) 13:59:43 ]
IE8に標準のデバッガ使うのはどうだ?ラッパー関数つかって誤魔化せばどうにかなりそうだが。

379 名前:デフォルトの名無しさん mailto:sage [2010/07/20(火) 00:33:11 ]
JScript(HTA)で
20→"\x20\00\00\00" // 32bitリトルエンディアン
みたいな変換をする方法があったら教えてください
バイナリ列を扱おうとして詰まった・・・(´・ω・`)

380 名前:デフォルトの名無しさん mailto:sage [2010/07/20(火) 01:05:23 ]
>>379
20 => "\x14\x00\x00\x00" でよいのかな?
それでよいなら無理やりだけど以下

function SaveBin(filename, bin) {
var stm = new ActiveXObject("ADODB.Stream");
stm.Type = 1; // 1=adTypeBinary;
stm.Open();
stm.Write(bin);
stm.SaveToFile(filename, 2); // 2=adSaveCreateOverWrite
}
function CodeToBinary(code) {
var uc1 = String.fromCharCode(code & 0xffff);
var uc2 = String.fromCharCode((code >> 16) & 0xffff);
var stm = new ActiveXObject("ADODB.Stream");
stm.Type = 2; // 2 = adTypeText
stm.Charset = "UNICODE";
stm.Open();
stm.WriteText(uc1);
stm.WriteText(uc2);
stm.Position = 0;
stm.Type = adTypeBinary;
stm.Read(2);
return stm.Read(4);
}
SaveBin("binary1.dat", CodeToBinary(20))
SaveBin("binary2.dat", CodeToBinary(65536))



381 名前:379 mailto:sage [2010/07/20(火) 02:32:44 ]
>>380
レスありがとうございます
>20 => "\x14\x00\x00\x00" でよいのかな?
そうです。>>379は誤りですorz
そのような力業しかないのですか・・・
がんばってみます

382 名前:デフォルトの名無しさん mailto:sage [2010/07/20(火) 03:45:38 ]
こういうのじゃだめなん?

function toString32LE(code){
  var s = "";
  for (var i = 0; i < 4; ++i) {
    var  n = code & 0xff;
    code = code >> 8;
    s += String.fromCharCode(n);
  }
  return s;
}

function parseString32LE(str) {
  return (
    str.charCodeAt(0) +
    (str.charCodeAt(1) << 8) +
    (str.charCodeAt(2) << 16) +
    (str.charCodeAt(3) << 24)
  ) >>> 0;
}


383 名前:380 mailto:sage [2010/07/20(火) 13:13:50 ]
>>382
以前試したとき、文字列で保持するとファイル読み書きが
うまくできなかった気がした
バイナリファイルの解析みたいなものだとそれがネックになる

逆にいえば、それを気にしないか、あるいは読み書きがクリアできるなら
確かに文字列の方が楽だと思う
JavaScriptで画像解析みたいなネタもどこかで見たので、
ひょっとするとそもそもそんな難しい問題ではないのかもしれないが

384 名前:デフォルトの名無しさん mailto:sage [2010/07/21(水) 03:22:23 ]
JScriptのバイナリファイルアクセスは鬼門だよな。
書き出しはADODB.Streamをlatin-1で使えばいいとして、読み込みがしんどい。
バイナリタイプでは手も足も出ないからテキストタイプを使うしかないけど、
latin-1で読み込むと0x80-0x9fがutf-16の対応する文字に変換されちゃうし(逆変換で対応)、
utf-16で読み込むと先頭がBOMに一致する場合の対処が必要だし、
他のキャラクタセットだともっとめんどいし。

385 名前:デフォルトの名無しさん mailto:sage [2010/07/21(水) 15:29:48 ]
そうかなぁ
ADODB.Stream使えば読むのも書くのも自由自在だけど
バイナリを1バイト置きにコピーしてUnicodeで見ればよい。

386 名前:デフォルトの名無しさん mailto:sage [2010/07/22(木) 00:54:32 ]
結局テキストファイルほど簡単にはいかなくて、>>380みたいな変換処理が必要になるのか。

387 名前:デフォルトの名無しさん mailto:sage [2010/07/22(木) 02:41:08 ]
00-ffを透過するコードページを使う

388 名前:デフォルトの名無しさん mailto:sage [2010/07/22(木) 19:15:04 ]
ADODB.Streamはマカフィーが問答無用で警告を出すのでちょっと使いにくい(特にスクリプトを配布する場合)

389 名前:デフォルトの名無しさん mailto:sage [2010/07/22(木) 19:49:06 ]
HTML+JavaScriptでアプリ作成の決め手になるの?Titaniumってやつ。
Windows, Linux, Mac, Andoroid,iPhoneまで同じ技術でカバー出来るらしいが。
HTAみたいなもんか? オマイらどう思う?

ここはAppcelerator Titaniumの日本語情報を整備するためのプロジェクトです。
クロスプラットフォームのアプリ開発としては非常に敷居が低く、javascriptだけでなくpythonやruby、phpなどを利用する事で、
webサービス系ライブラリの流用も可能であり、手軽なツールからサービスクライアントの作成が非常に容易になります。 * 2010/03/22 o 公開
ttp://www.appcelerator.com/products/download/

Titanium Desktopでアプリケーション開発中
ttp://blog.livedoor.jp/takabrk/archives/52647017.html

Appcelerator Titanium DesktopでRuby,Python,PHPを使ったお手軽デスクトップアプリ開発その1
ttp://d.hatena.ne.jp/yuichi_katahira/20100219/1266605194

390 名前:デフォルトの名無しさん mailto:sage [2010/07/24(土) 09:49:36 ]
謎のオブジェクトを発見

rem a.vbs
msgbox WSH Is WScript



391 名前:デフォルトの名無しさん mailto:sage [2010/07/24(土) 15:39:44 ]
>>390
ほれ

謎のオブジェクトを発見.js

for(var o in this){WScript.Echo(o);}

392 名前:デフォルトの名無しさん mailto:sage [2010/07/27(火) 11:04:47 ]
//なるほど。その方法でも関数の名前が取得できるね。

getfunctionname=function(obj){
var sname;for(sname in obj){;};
return(sname);
};

funtest=function(s){
var sret=getfunctionname(this);
WScript.Echo('1 '+ function(){var s='';for(var o in this){s=o;};return(s); }() );
return(sret);
};

WScript.Echo('この関数の名前は '+ funtest() );

393 名前:デフォルトの名無しさん mailto:sage [2010/07/28(水) 10:14:25 ]
ログをExecelシートに貼り付け〜なんて非生産的な作業があって、これをKeyLoggerみたいなので
自動化できればと思いまして、WSHで作れるかなと思ったのですが。
あまり詳しくないんだけども、イベントを追跡してってソフトの起動、ボタンクリック等の操作を記録で
きますでしょうか?それが無理ならキーボードのキーやマウス操作を記録して操作の再現ができますか?


394 名前:デフォルトの名無しさん mailto:sage [2010/07/28(水) 10:52:32 ]
Excelのオブジェクトを操作するんじゃなくて、キー操作でうにゃうにゃしたいなら
UWSCでいいんじゃないの?日本語HELPもある。ポータブルでも動くし。
途中で複雑な判断いらない処理なら、UWSCでキー操作を記録して片付けるのがいい。
WSHに詳しくて、その技術を使って途中でいろいろ処理を分けたほうがいいとしたら、
他のソフトに絡むとこだけUWSCで記録しといたマクロをRunさせてまぜて使うとか。
またはAutoItXのDLL使って、ほかのソフトと絡む部分だけ処理させる。
USBのフォルダにシステムからコピーしたWScript.ExeやCscript.exeとmanifestとDLL使えば
UWSCと同じようにポータブルでも使える。

395 名前:デフォルトの名無しさん mailto:sage [2010/07/28(水) 16:58:13 ]
excelでやれば

396 名前:デフォルトの名無しさん mailto:sage [2010/07/28(水) 22:50:48 ]
ありがとうございますAutoItにUWSCですね。これはしかし動作を指定する必要がありますね。

癖とかありそうで結構手間がかかりそう。。

単純にWindows上の操作を一定期間記録して後で再現とか、できないんですかね。


397 名前:デフォルトの名無しさん mailto:sage [2010/07/29(木) 02:52:53 ]
すれ違いだよ

398 名前:デフォルトの名無しさん mailto:sage [2010/07/29(木) 02:59:51 ]
ソフト板で聞け

399 名前:デフォルトの名無しさん mailto:sage [2010/07/29(木) 03:21:57 ]
謎のオブジェクトを発見

rem a.vbs
msgbox typename(me)

400 名前:デフォルトの名無しさん [2010/07/29(木) 05:19:19 ]
>>396
こいつ、UWSCについて調べずに書き込んだな。



401 名前:デフォルトの名無しさん mailto:sage [2010/07/29(木) 08:02:10 ]
>>単純にWindows上の操作を一定期間記録して後で再現とか、できないんですかね。
UWSCってそういうことするためのソフトなんだが・・・

402 名前:デフォルトの名無しさん mailto:sage [2010/07/29(木) 09:52:25 ]
ゴメンさらっと見てそういう事ができると思わなかった。UWSC便利ですね。
複数のソフトをダウンロード&自動インストールなんて事もできるんだろうか・・
ちょっと使ってみます。どうも。

403 名前:デフォルトの名無しさん mailto:sage [2010/07/31(土) 17:11:20 ]
Document.body.innerTextでWeb上の文字列を取得し
その文字列に含まれるキーワードを検索して
発見した場合の処理と見つからなかった時の処理をするにはどうしたらいいでしょうか


if ((IE.Document.body.innerText)==("文字列")) { //処理1 } else { //処理2 };

これだと動かないのです

404 名前:デフォルトの名無しさん mailto:sage [2010/07/31(土) 18:31:36 ]
vbscriptならinstr()だな

405 名前:デフォルトの名無しさん mailto:sage [2010/07/31(土) 19:08:06 ]
>>404
ありがとうございます
JavaScriptではどうなのでしょうか


406 名前:デフォルトの名無しさん mailto:sage [2010/07/31(土) 19:21:28 ]
Stringオブジェクトのメソッドに同じようなものがあるだろ

407 名前:デフォルトの名無しさん mailto:sage [2010/07/31(土) 19:33:28 ]
match()?

408 名前:デフォルトの名無しさん mailto:sage [2010/07/31(土) 21:22:20 ]
if( /hogehoge/i.test(IE.Document.body.innerText)){ / * true * /;  ;}else{ / * false * / ;};

//正規表現のtestじゃだめか?

409 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 15:41:46 ]
>>403
自分は、この方法で逃げている。

if ((IE.document.body.innerText).indexOf("文字列") != -1) { // 処理1} else { // 処理2 };

VBSはシラネ


410 名前:409 mailto:sage [2010/08/03(火) 15:53:02 ]
match()を使うなら、

if ((IE.document.body.innerText).match(/文字列/) != null) { // 処理1 } else { // 処理2 };




411 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 17:43:08 ]
Webページを操作するなら、スクリプト使うのが前提の
NilとかBugとかプニルつかって、そっちのオブジェクトつかったほうがいいんじゃない?
どうしてもIE使ったほうがいいの?

412 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 20:15:08 ]
>>409のついでに質問してみる

innerHTMLで文字列を発見した時その行のリンクをクリックするのは可能?

413 名前:409 mailto:sage [2010/08/03(火) 20:51:08 ]
>>412
可能だとは思う。
該当するinnerHTMLが含まれている、"a"タグを特定して、.click()で出来るのでは。

自分は泥臭い方法でやってるけど、スマートな方法が有ったら教えて欲しい。

自分がやっている方法:

for (var i = 0; i < IE.document.all.tags("a").length; i++) {
if ((IE.document.all.tags("a")[i].outerHTML).indexOf("文字列") != -1) {
IE.document.all.tags("a")[i].click();
// リンクをクリック後に行う処理
break;
}
}


414 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 20:54:03 ]
>>412
リンクからたどればよい

for (i=0; i<ie.document.links.length; i++) {
if (ie.document.links[i].innerText=="リンク文字列") {
ie.document.links[i].click(); break;
}
}

もし、リンク文字列ではない文字列から近隣のリンクを探したいってことならもっと面倒になる

415 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 21:55:44 ]
>>414
>もし、リンク文字列ではない文字列から近隣のリンクを探したいってことならもっと面倒になる
それがやりたいけど方法が思いつかないのよね

>>413のように
IE.document.all.tags("a")[i].click();
を使えばできるかもしれないけど
これだと 目的のリンクをクリックしてくれるとは限らないというね

416 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 21:59:15 ]
>>415
indexOfで文字列を発見した所より前の文字列でIE.document.all.tags("a")[i].click();
を使う・・・あ できるかも

ちょっとソースコード書いてみる

417 名前:409 mailto:sage [2010/08/03(火) 22:09:17 ]
>>415
>>もし、リンク文字列ではない文字列から近隣のリンクを探したいってことならもっと面倒になる
>それがやりたいけど方法が思いつかないのよね

文字列が、aタグの外に有る場合なの?
文字列0<a href="...">文字列1</a>文字列2
で、文字列1ではなく、文字列0や文字列2を探してクリックとか。

確かに面倒だね。
.parentNodeとか、.previosSiblingや.nextSiblingとか、ゴチャゴチャ使わないと駄目そうだね。


418 名前:409 mailto:sage [2010/08/03(火) 22:10:27 ]
もう眠い。
今日は寝る。


419 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 22:13:23 ]
>>417
<a href="...">文字列1</a>文字列2

文字列2を検索するのは
if ((IE.document.body.innerText).indexOf("文字列2") != -1)
文字列1を検索するには 文字列2より前の文字列を検索する必要がある




420 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 22:20:14 ]
>>419
調べてみたら使えそうなものがあった
lastIndexOf

これでソースコードを完成できるよ みんなありがとう




421 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 22:43:38 ]
for (i=0;i< IE.document.all.tags("a").length; i++) {
if ((IE.document.all.tags("a")[i].outerHTML).lastIndexOf("文字列2") != -1) {
IE.document.all.tags("a")[i].click();

これじゃだめなのか・・・

422 名前:409 mailto:sage [2010/08/04(水) 06:50:25 ]
>>421
それ、後方から文字列を探すやつ。
前方から探すより、後方から探す方が探す時間が短い場合が有るから、そういう時に自分は使っている。
例えば、文字列1と文字列2が、非常に酷似していて、最後の数文字だけが異なる様な場合、比較回数が多分少ないのではないかと…

<a href="...">[文字列A][文字列1][文字列B][文字列2][文字列C]</a>

とかの場合。


423 名前:409 mailto:sage [2010/08/04(水) 15:22:56 ]
>>421
HTMLのタグ構造がどうなっているか示さないと、一体何をしたいのか分からないと思うよ。

(1) <div><a href="...">文字列1</a>文字列2</div>
となっているのか、
(2) <a href="...">文字列1</a><p>文字列2</p>
となっているのか等。

(1) の場合、
for (var i = 0; i < IE.document.all.tags("a").length; i++) {
if ((IE.document.all.tags("a")[i].parentNode.indexOf("文字列2") != -1) {
IE.document.all.tags("a")[i].click();
break;
}
}


(2) の場合、
for (var i = 0; i < IE.document.all.tags("a").length; i++) {
if ((IE.document.all.tags("a")[i].nextSibling.outerHTML).indexOf("文字列2") != -1) {
IE.document.all.tags("a")[i].click();
break;
}
}

とかじゃ駄目かな?
試してないから分からないけど。


424 名前:409 mailto:sage [2010/08/04(水) 15:29:47 ]
それより、JScriptからファイルをランダムアクセスする事って出来ないのかなぁ?
JScriptから利用出来るフリーのDLLとか有れば良いんだけど。

Perl等のファイルにランダムアクセス可能なスクリプトからIE操作すれば、一番良いんだろうけど、
PerlもVBも分かんねーし。


425 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 18:06:24 ]
>>ファイルをランダムアクセスする
???

426 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 21:24:12 ]
>>424
adodb.streamは?

427 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 08:18:18 ]
IEのボタンクリック
VBSだとちゃんとできるのにJScriptだとできないなぜだぁぁぁぁ


<form action="." method="post" >
<input type="hidden" name="...." value="..." class="">
<input type="hidden" name="..." value="..." class="">
<input type="hidden" name="..." value="..." class="">
<input type="hidden" name="..." value="..." class="">
<input type="hidden" name="..." value="..." class="">
<input type="hidden" name="..." value="...." class="">
<center>
<input type="submit" value="..." class="...">
</center>
</form>

VBS : IE.Document.Forms(0).Item(6).click
JScript : IE.Document.forms(0).Item(6).click();



428 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 09:31:37 ]
これも反応しない

<input type="text" value="" size="20" class="test">

IE.Document.forms(0).Item(0).value = "あああ"

429 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 10:22:11 ]
そういうことなら、その部分だけとりあえずはスクリプトコントロールで逃げといて、あとでじっくり考えるw

430 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 22:30:49 ]
JScriptで普通にいけるんじゃないの?

ie = new ActiveXObject('InternetExplorer.Application');
ie.visible = true;
ie.navigate('www.google.co.jp/')
WScript.Sleep(2000);
ie.document.forms(0).item(2).value='WSH';
ie.document.forms(0).item(3).click();




431 名前:デフォルトの名無しさん mailto:sage [2010/08/06(金) 08:25:47 ]
>>430
どうもそのページだけできないんだ

入力フォームをクリックするとフォームの横に文字が表示されるものだから Inputタグのclassが怪しいと思うんだが


432 名前:409 mailto:sage [2010/08/06(金) 12:13:20 ]
>>431
nameやclassの属性がformsになっていたりしない?


433 名前:デフォルトの名無しさん mailto:sage [2010/08/06(金) 12:30:33 ]
>>432
なってない
さすがにそんなミスはない



434 名前:デフォルトの名無しさん [2010/08/06(金) 13:04:00 ]
wshでツールチップを指定した座標位置に表示させることは可能ですか?

435 名前:デフォルトの名無しさん mailto:sage [2010/08/06(金) 13:16:46 ]
AutoItX使えば出来る。
oAutoIt = new ActiveXObject( "AutoItX3.Control.1" );
oAutoIt.ToolTip("WSH★★★こんばんみ★★★Part7",500,500);

436 名前:デフォルトの名無しさん mailto:sage [2010/08/08(日) 11:53:00 ]
if文でWEB上にボタンがある時の処理とない時の処理をする方法ってある?



437 名前:409 mailto:sage [2010/08/08(日) 19:39:00 ]
>>436
outerHTMLを取得して、解析すれば良いだけでは?
ボタンがFlashとか、HTML以外だと厄介だけど。
見た目がボタンでも、 type = "button" の場合と、 type = "image" の場合が有るから、また厄介だけどね。


438 名前:デフォルトの名無しさん mailto:sage [2010/08/08(日) 21:17:28 ]
>>437
なるほどそれがあったか・・・
と なると

if ((IE.Document.body.outerHTML)==(IE.Document.forms[0])) {
WScript.echo("YES")} else{WScript.echo("No")}

こうかな・・・

439 名前:409 mailto:sage [2010/08/08(日) 21:33:13 ]
>>438
それだと、うまくいかないでしょ。


440 名前:デフォルトの名無しさん mailto:sage [2010/08/08(日) 21:58:08 ]
>>439
となると

if ((IE.Document.body.innerText)==(IE.Document.body.innerText.indexOf("form"))){ //処理 } else { //処理2 }

こう・・・でもないな



441 名前:デフォルトの名無しさん mailto:sage [2010/08/08(日) 22:07:32 ]
innerTextでページ内のHTMLを・・・

・・・あれ?


if ((IE.Document.body.innerHTML)==(IE.Document.body.innerHTML.indexOf("form")))
これでもだめ?


442 名前:デフォルトの名無しさん mailto:sage [2010/08/08(日) 22:13:58 ]
innerHTMLでページ内のHTMLを全部取り出すんだから
innerHTML.indexOf("文字列") で検出した文字列とinnerHTMLのソースと照らし合わして処理・・・じゃないのか?
ならなんで動かないのかと

443 名前:409 mailto:sage [2010/08/08(日) 22:15:05 ]
>>441
その条件式では、左辺値と右辺値は永遠にイコールにはならないから。


444 名前:デフォルトの名無しさん mailto:sage [2010/08/08(日) 22:22:21 ]
>>443
IE.Document.body.innerHTML.indexOf("form")は文字列を検出して表示するんじゃないのか?

文字列があるならその文字列を表示してなければ-1だったはずだが
それと左辺値を比較して左辺値の文字列の中に右辺値の検出した文字列があれば処理1 なければ処理2じゃないのか?



445 名前:デフォルトの名無しさん mailto:sage [2010/08/08(日) 22:33:22 ]
あぁ・・・そういうことね

左辺値からすでに間違えていたのか俺は

if((IE.Document.body.innerHTML.match("form")==("form"))

左辺値がソース全体だったら右辺値はformだけでソースとまったく一致しない
ならば左辺値をソース全体からformだけを検出し なければnull それを右辺値と比較

こんな簡単なことに気付かなかった自分が恥ずかしいわ。。。


446 名前:409 mailto:sage [2010/08/08(日) 22:39:18 ]
>>444
indexOfの説明を良く読んだ方がいいと思う。

ttp://www.microsoft.com/downloads/details.aspx?familyid=e74494d3-c4e1-4e18-9c6c-0ea28c9a5d9d&displaylang=ja
から、 scd56jp.exe をダウンロードし、インストールすればヘルプファイルがインストールされると思う。

直リンクはこちら
ttp://download.microsoft.com/download/winscript56/Install/5.6/W98NT42KMe/JA/scd56jp.exe

結構役に立つ。
あと、 IE Developer Toolbar も便利。
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=e59c3964-672d-4511-bb3e-2d5e1db91038&displaylang=en


447 名前:デフォルトの名無しさん mailto:sage [2010/08/09(月) 01:17:32 ]
www.mbga.jp/.pc/_u?u=14965811&_root=msg_list
www.mbga.jp/.pc/_dia_list?u=14965811&_from=u_dia
この子ね

>>403 と全く同じ質問しててワラタ
ポイント稼ぐために、必死こいてスクリプト組んでるみたいよw

448 名前:デフォルトの名無しさん mailto:sage [2010/08/09(月) 09:59:26 ]
>>447
ワロタ
なんだこのハゲ リアルでのハゲなのか?w

449 名前:デフォルトの名無しさん mailto:sage [2010/08/09(月) 13:35:23 ]
IEで
document.location.reload() はできて
document.location.back() はできないんだな

450 名前:デフォルトの名無しさん mailto:sage [2010/08/09(月) 13:51:43 ]
document.histry が使えないって・・・



451 名前:409 mailto:sage [2010/08/09(月) 18:45:15 ]
ところで、WSH使いって、仕事の案件等の為に使っている人と>>447みたいな人とどっちが多いの?

自分は>>447の様な理由でやってるだけだけどさ。
プログラムは20年近く昔に学生の頃に授業でFortran77とLispのS式を習った程度。
学生時代、一緒だった人は何だか未踏のスーパークリエイターで表彰台に上っている写真がIPAのサイトに掲載されてたけどさ。

楽天のメルマガが1週間で2千通を超えるので、メルマガ解除用のスクリプトでも書くか…


452 名前:デフォルトの名無しさん [2010/08/11(水) 17:17:28 ]
過疎だなぁ

WSHってそんなにマイナーかな

453 名前:デフォルトの名無しさん mailto:sage [2010/08/11(水) 17:25:57 ]
作者タンがカキコしてくれないからな。

454 名前:デフォルトの名無しさん mailto:sage [2010/08/11(水) 17:40:27 ]
ハゲでも誰でもいいから来てくれ…

455 名前:デフォルトの名無しさん mailto:sage [2010/08/13(金) 01:19:09 ]
みんな暇そうだから質問投下


VBSで多重起動を防止するのをJSでできるか


FSOだとロックファイルの作成と削除はできるけど 重複した時の処理が分からない

456 名前:デフォルトの名無しさん mailto:sage [2010/08/13(金) 04:56:28 ]
>VBSで多重起動を防止するのをJSでできるか
この意味が分からないけど、
単純に多重起動を抑止するなら、

1. アプリ起動時にロック用フォルダを作成
2. アプリ起動時にロック用フォルダを削除

1. のフォルダ作成に失敗したらほかのインスタンスが起動中なので、メッセージを表示して終了
でダメなの?

457 名前:デフォルトの名無しさん mailto:sage [2010/08/13(金) 17:11:53 ]
blogs.msdn.com/b/ie/archive/2010/08/04/html5-modernized-fourth-ie9-platform-preview-available-for-developers.aspx

Nanalich 5 Aug 2010 7:50 PM
Is it still possible to use the new JScript engine with ECMAScript 5 features outside of IE?
Like in WSH and/or HTA?

EricLaw [MSFT] 6 Aug 2010 6:55 AM
JScript9.dll is not presently supported for use outside of IE9, HTAs, and Web Browser controls,
so no, it won't be loaded by WSH.



もしかしてWSH切り捨て?

458 名前:455 mailto:sage [2010/08/14(土) 20:10:13 ]
VBSでいう Err.Number はJSではどういう使い方?


VBSでの二重起動防止の方法をJSに直してみたんだけど Err.Numberだけ使えないんだ

459 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 20:57:05 ]
VBScript
何らかの処理
If Err.Number <> 0 Then
エラーの処理
End If

JScript
try {
何らかの処理
} catch (e) {
エラーの処理
}

vbs ではオプションによるが、エラーが発生したときでも、
処理は継続し、その代りにエラーコードが Err.Number にセットされる
js ではエラーが発生すると例外が発生し、try〜catchで捕まえないとアプリケーションが終了する


460 名前:455 mailto:sage [2010/08/14(土) 21:23:35 ]
>>459
サンクス
ScriptControlで on error resume next を呼び出してErr.Numberの代わりにすることにした


あと
FSOでファイルを削除するプログラムをmakeexeでexeにすると うまく動かないのは俺だけ?


Test.js
(略)
FSO.DeleteFile("Test.exe",true)


これをexeにして起動しても削除できないようです



461 名前:デフォルトの名無しさん mailto:sage [2010/08/16(月) 13:57:47 ]
>>457
つまりWSHの進化はこれで止まって、枯れた技術になり、仕様の変更とかややこしいこと考えなくて済むようになるってことか?

462 名前:デフォルトの名無しさん mailto:sage [2010/08/16(月) 20:21:32 ]
馬鹿っぱやいJScriptのHTAとかは作ってみたかったかも

463 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 19:42:58 ]
IEオブジェクトを使ってスクリプトとスクリプトの間で共有メモリみたいな感じで通信=相互にデータのやり取りしようと思ってます。
データのやり取り専用のIEオブジェクトを最初に1つ作っといて、終了せずにずっと使い続けるって形です。
Shell.ApplicationでそのIEのオブジェクトを探して、そこにプロパティ付けて通信するってことです。
XPとIE8だと、new ActiveXObject('InternetExplorer.Application')でIEオブジェクトをつくって
そこにプロパティを付けて、値を設定すればスクリプト間でデータのやり取りができました。
で、Vistaでも試したら問題なく動きました。
ところが、XPとIE6の古いPCではすぐにIEオブジェクトが消えてしまうようでうまく行きません。
ウィンドウを開いた普通のブラウザのIEオブジェクトに対してならデータのやり取りは出来ましたが、
ユーザーが何の気なしにそのウィンドウを閉じたらオシマイです。
ウィンドウなしのIEオブジェクトならそんな心配がないのでいい方法だと思ったんですが、
うまくいかない環境があるようです。結局、このPCはWindowsUpdateしてIE8の環境にまであげたらIEオブジェクトは消えずに通信できました。
となると、この先もなんらかのUPDATE次第で、IEオブジェクトを使った通信は出来たり出来なくなったりするのでしょうか?
簡単に動いたから勿体ない気持ちもあるけど、こんな方法は邪道だから辞めた方がいいのかなw
テキストファイルを使うか、SFCminiを使って共有メモリの関数作っちゃったほうがいいんでしょうかね?

464 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 20:08:54 ]
>となると、この先もなんらかのUPDATE次第で、IEオブジェクトを使った通信は出来たり出来なくなったりするのでしょうか?

yes

>簡単に動いたから勿体ない気持ちもあるけど、こんな方法は邪道だから辞めた方がいいのかなw

yes

>テキストファイルを使うか、SFCminiを使って共有メモリの関数作っちゃったほうがいいんでしょうかね?

no

465 名前:デフォルトの名無しさん mailto:sage [2010/08/22(日) 13:32:25 ]
>となると、この先もなんらかのUPDATE次第で、IEオブジェクトを使った通信は出来たり出来なくなったりするのでしょうか?

yes

>簡単に動いたから勿体ない気持ちもあるけど、こんな方法は邪道だから辞めた方がいいのかなw

yes

>テキストファイルを使うか、SFCminiを使って共有メモリの関数作っちゃったほうがいいんでしょうかね?

no

そのものズバリのオブジェクトを公開するコンポーネントってのがある。こっちのほうが簡単。
>>このコンポーネント(COMサーバー)は、指定した COMオブジェクトを外部に公開し、
>>他のアプリケーションからアクセス出来るようにするものです。
RunObj.exe /RegServer で40KBのファイルを入れるだけ。
var ro = new ActiveXObject('Hyon.RunObject');
ttp://hyons.hp.infoseek.co.jp/#RunObjectComponent
これでオブジェクトを作った側のプロセスが生きてる限り、オブジェクトのプロパティを共有できる。
相互に通信したいならこれで行ける。

466 名前:デフォルトの名無しさん mailto:sage [2010/08/23(月) 13:36:56 ]
DDE通信なら田楽サーバと田楽DLLでもいいんじゃね?

467 名前:デフォルトの名無しさん mailto:sage [2010/08/24(火) 11:31:25 ]
質問。 ScriptControlのAddObjectって一回に1つのオブジェクトしか追加できないんですか?

468 名前:デフォルトの名無しさん [2010/08/24(火) 23:05:27 ]
IScriptControl.AddObjectの定義を見ると1つだけのようだ。
[id(0x000009c4), helpstring("Add an object to the global namespace of the scripting engine"), helpcontext(0x00113f4d)]
void AddObject(
[in] BSTR Name,
[in] IDispatch* Object,
[in, optional, defaultvalue(0)] VARIANT_BOOL AddMembers);

469 名前:デフォルトの名無しさん mailto:sage [2010/08/25(水) 14:01:43 ]
サンクスです。ScriptControl AddObject でググッても多くの資料は出てこないようですが、
どこかに判りやすい解説をしてるページはありますか?

470 名前:デフォルトの名無しさん [2010/08/26(木) 00:28:57 ]
ググッたんなら↓見たろ? これじゃダメかい?
スクリプト コントロールの AddObject メソッドを使用する方法
ttp://support.microsoft.com/kb/185697/ja




471 名前:デフォルトの名無しさん mailto:sage [2010/08/26(木) 01:01:56 ]
そもそもCOMに可変長引数ってあるの?

472 名前:デフォルトの名無しさん [2010/08/26(木) 01:25:28 ]
ScriptControl.Run("Name", arg1, arg2, ... argn) とか、ふつうにやるじゃんか。
MIDL上はSAFEARRAY(VARIANT)になってるみたいね。
[id(0x000007d3), vararg, helpstring("Call a procedure defined in the global module"), helpcontext(0x00113f09)]
VARIANT Run(
[in] BSTR ProcedureName,
[in] SAFEARRAY(VARIANT)* Parameters);

473 名前:デフォルトの名無しさん mailto:sage [2010/08/30(月) 22:05:56 ]
WSHShell.Environment("Process");

でItemを作って他のファイルに変数を渡そうとしてるんだけど 文字化けして
-1.#IND
になってしまうのですがどうすればいいでしょうか

474 名前:デフォルトの名無しさん mailto:sage [2010/08/30(月) 22:43:40 ]
>>473
他のファイルってのが何かわからないけど、
環境変数はプロセス毎のもので子プロセスにしか
引き継がれないからではないだろうか

475 名前:デフォルトの名無しさん [2010/09/04(土) 20:46:22 ]
てs

476 名前:デフォルトの名無しさん [2010/09/04(土) 20:47:30 ]
Open OfficeのプログラムIDってありますか?

477 名前:デフォルトの名無しさん mailto:sage [2010/09/04(土) 20:49:32 ]
サゲ進行なんですかね
失礼

478 名前:デフォルトの名無しさん mailto:sage [2010/09/04(土) 21:04:18 ]
>>476
やったことないけどこのへん参考になるのかな
wiki.services.openoffice.org/wiki/Documentation/DevGuide/ProUNO/Bridge/Automation_Bridge

479 名前:467 mailto:sage [2010/09/04(土) 21:13:49 ]
>>478
ありがとうござます
公式にページがあったんですね。

エクセルよりめんどくさそう…

480 名前:デフォルトの名無しさん [2010/09/14(火) 06:26:28 ]
WMIか何かで、起動中のプロセスのコマンドラインオプションを得る方法はないでしょうか?
Win32_Process では取得できないみたいで…



481 名前:デフォルトの名無しさん mailto:sage [2010/09/14(火) 06:48:14 ]
Win32APIのならわかるが

482 名前:デフォルトの名無しさん mailto:sage [2010/09/14(火) 07:05:10 ]
SFC miniとか使ってやるのでしょうか?
Win32APIは使ったことがないので、教えてください

483 名前:デフォルトの名無しさん mailto:sage [2010/09/14(火) 10:50:32 ]
>>480
XP以降ならWin32_ProcessのCommandLineで取れるよ

484 名前:デフォルトの名無しさん mailto:sage [2010/09/14(火) 13:49:05 ]
ありがとうございます。それで取れました。
www.anchorsystems.jp/anchor/ashp/netmon/samples/wmi_os.html#Win32_Process.htm
に載ってなかったので、そもそも無いのかと思ってました。

485 名前:デフォルトの名無しさん mailto:sage [2010/09/14(火) 14:19:09 ]
ttp://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/oct04/hey1006.mspx


486 名前:デフォルトの名無しさん mailto:sage [2010/10/09(土) 17:41:15 ]
Windows Script Host のエラーダイアログを非表示にすることはできませんか?

487 名前:デフォルトの名無しさん mailto:sage [2010/10/09(土) 17:56:45 ]
try catchとかon error resume nextとかやればいいんでないの

488 名前:デフォルトの名無しさん mailto:sage [2010/10/09(土) 18:19:36 ]
try catchでもエラーが出るようなんです

underfined はNull またはオブジェクトではありません


489 名前:デフォルトの名無しさん mailto:sage [2010/10/09(土) 18:53:24 ]
そりゃ underfined はそうだろうね。

490 名前:デフォルトの名無しさん mailto:sage [2010/10/10(日) 20:06:36 ]
そうだね、ごめん。



491 名前:デフォルトの名無しさん mailto:sage [2010/10/24(日) 14:40:44 ]
001.txtから150.txtまでの空のテキストファイルを任意のフォルダに一括作成する方法を教えてください


492 名前:デフォルトの名無しさん mailto:sage [2010/10/24(日) 14:48:19 ]
そんなのをWSHでやるのは面倒臭い

493 名前:デフォルトの名無しさん mailto:sage [2010/10/24(日) 14:48:55 ]
set fso = wsh.CreateObject("Scripting.FileSystemObject")
for i = 1 to 150
 fso.CreateTextFile(right("00" & i, 3) + ".txt")
next


494 名前:デフォルトの名無しさん [2010/10/24(日) 14:49:15 ]
>>492
何でやれば楽なんですか?
よろしけば教えてください

495 名前:491 mailto:sage [2010/10/24(日) 14:54:40 ]
>>493
できました。
ありがとうございます。

496 名前:デフォルトの名無しさん mailto:sage [2010/10/24(日) 14:56:47 ]
逝ってヨシ

497 名前:デフォルトの名無しさん [2010/10/24(日) 15:00:14 ]
コマンドプロンプトのバッチでやるとかどう?

498 名前:デフォルトの名無しさん mailto:sage [2010/10/24(日) 15:14:20 ]
>>497
スレ違い
hibari.2ch.net/test/read.cgi/tech/1277465356/

499 名前:デフォルトの名無しさん mailto:sage [2010/10/24(日) 23:36:14 ]
30分くらいのやり取りで完結してしまうとかスタックオーバーフロー並だな
過疎スレの癖にw

500 名前:デフォルトの名無しさん mailto:sage [2010/10/24(日) 23:38:44 ]
m9

くやしいのう くやしいのう



501 名前:デフォルトの名無しさん mailto:sage [2010/10/25(月) 00:39:32 ]
>>493
right("00" & i, 3)
コレに気づかず
if a < 100 then gyoubangou = "0" + a
if a < 10 then gyoubangou = "00" + a
なんて事してた。
サンクス。

502 名前:デフォルトの名無しさん mailto:sage [2010/10/25(月) 01:24:06 ]
2ch は心の荒んだ人の溜り場だな

503 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 13:54:53 ]
△心の荒んだ人の溜り場
○ヒトが心の歪みを、吐き出す場所。

504 名前:デフォルトの名無しさん mailto:sage [2010/11/01(月) 20:30:07 ]
32bitで動いてるか64bitで動いてるかどうやって判定する?

505 名前:デフォルトの名無しさん mailto:sage [2010/11/01(月) 20:38:35 ]
wscript.fullname

506 名前:デフォルトの名無しさん mailto:sage [2010/11/01(月) 21:41:24 ]
タスクマネージャ見れば32bitで動いてるプロセスは
firefox.exe * 32
みたいになってる

507 名前:デフォルトの名無しさん mailto:sage [2010/11/01(月) 22:18:52 ]
貧乏人は32bit。所得が高い人は64bit。顔を見れば判る。

508 名前:デフォルトの名無しさん mailto:sage [2010/11/02(火) 01:07:29 ]
>>504
ttp://blog.livedoor.jp/otonagecom/archives/2903082.html

509 名前:デフォルトの名無しさん mailto:sage [2010/11/02(火) 01:13:13 ]
if( typeof( koumuin ) == "object" ){
WScript.Echo("あなたは勝ち組64bitです")
}else{
WScript.Echo("あなたは消費とは無縁な32bitです")
}

510 名前:デフォルトの名無しさん mailto:sage [2010/11/02(火) 16:54:11 ]
32bit winの32bit ieと64bit winの64bit ieが区別でけんな



511 名前:デフォルトの名無しさん mailto:sage [2010/11/02(火) 18:11:28 ]
folderexist("c:\windows\syswow64")

512 名前:デフォルトの名無しさん [2010/11/22(月) 21:12:19 ]
WindowsXPでコマンドプロンプトを使用しています。
colorコマンドや、cmd /t:である程度色は変更可能ですが、
ショートカットファイルでの設定
ttp://cmd-pro.com/pro_color.html
のように、もっと色を細かく指定したいと考えています。

WSHのCreateShortcutで、色を指定したショートカットファイルを作ることはできないでしょうか?
よろしくお願いします。

513 名前:デフォルトの名無しさん mailto:sage [2010/11/22(月) 23:48:36 ]
\HKEY_CURRENT_USER\Console
の中に ColorTable00 〜 ColorTable15 っていうのがデフォルト 16 色

個別の設定は標準の cmd.exe なら
\HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe

C:\hoge\fuga\hage.exe なら
\HKEY_CURRENT_USER\Console\C:_hoge_fuga_hage.exe

に ColorTableNN を追加

514 名前:512 mailto:sage [2010/11/23(火) 06:35:27 ]
>>513
ありがとうございます。
いけました。

515 名前:デフォルトの名無しさん mailto:sage [2010/11/23(火) 09:08:57 ]
Vistaだとうまくいかないみたいだけどwindows7ではどうなんだろう?

516 名前:デフォルトの名無しさん mailto:sage [2010/11/23(火) 09:43:25 ]
\HKEY_CURRENT_USER\Console\ショートカット名(.lnkを除く)

の ColorTableNN を上書き
で逝けました

517 名前:デフォルトの名無しさん mailto:sage [2010/11/23(火) 10:10:12 ]
ありがとうございます。
いけました。

518 名前:デフォルトの名無しさん mailto:sage [2010/11/23(火) 11:14:45 ]
>>516
それWindows7での話?

519 名前:デフォルトの名無しさん mailto:sage [2010/12/04(土) 19:35:44 ]
cscriptから起動してるときにウィンドウのタイトルをjscriptから変えるにはどうしたらいいんだろ?

520 名前:デフォルトの名無しさん mailto:sage [2010/12/05(日) 03:46:26 ]
new ActiveXObject("WScript.Shell").Exec("cmd.exe /c title newtitle")



521 名前:デフォルトの名無しさん mailto:sage [2010/12/05(日) 13:39:12 ]
ありがとうございました。いけました。

522 名前:デフォルトの名無しさん mailto:sage [2010/12/06(月) 22:47:48 ]
IEをバージョンアップしてjscript.dllが新しくなったらWSH上のJScriptも早くなるの?

523 名前:デフォルトの名無しさん mailto:sage [2010/12/06(月) 23:07:55 ]
IE9からはJSscriptがIE内臓になって、COMの形で提供されなくなるらしい

524 名前:デフォルトの名無しさん mailto:sage [2010/12/06(月) 23:18:07 ]
それならそれでいいや。htaの動作や仕様はそこで固まるってことでいいわけ?

525 名前:デフォルトの名無しさん mailto:sage [2010/12/08(水) 13:59:36 ]
vbscriptも?

526 名前:デフォルトの名無しさん mailto:sage [2010/12/11(土) 19:29:48 ]
スクリプトエラーがexitcodeで判定できないの?

527 名前:デフォルトの名無しさん mailto:sage [2010/12/12(日) 16:48:40 ]
スクリプトでは0以外返せば、0ならエラーと分るな

528 名前:デフォルトの名無しさん mailto:sage [2010/12/14(火) 16:51:05 ]
なるほど 裏をかくわけですね

529 名前:デフォルトの名無しさん mailto:sage [2010/12/15(水) 05:58:57 ]
「ファイル名を指定して実行」をコマンドから起動したいのですが、
方法が解りません。なにか方法はないでしょうか?


530 名前:デフォルトの名無しさん mailto:sage [2010/12/15(水) 07:48:11 ]
send,#r



531 名前:デフォルトの名無しさん mailto:sage [2010/12/15(水) 12:59:41 ]
「ファイル名を指定して実行」をコマンドから起動でぐぐれ

ttp://scripting.cocolog-nifty.com/blog/2006/11/r_77cc.html

532 名前:デフォルトの名無しさん mailto:sage [2010/12/15(水) 13:41:54 ]
すれ違いだろ このすれではshell.filerunだろ

533 名前:デフォルトの名無しさん mailto:sage [2010/12/15(水) 14:35:13 ]
なんでそんな事したいのか解んねw

534 名前:デフォルトの名無しさん mailto:sage [2010/12/15(水) 19:39:35 ]
コマンドでもスクリプトでもどっちでもよいが、コマンドラインを「ファイル名を指定して実行」に送れるとよいのだが、無理だろな

535 名前:デフォルトの名無しさん mailto:sage [2010/12/15(水) 20:51:29 ]
startじゃだめなん?

536 名前:デフォルトの名無しさん mailto:sage [2010/12/15(水) 21:29:54 ]
昔はsendtoxがあったけどな

537 名前:デフォルトの名無しさん mailto:sage [2010/12/16(木) 12:19:40 ]
うほおお
ありがとう!>>530-536

538 名前:デフォルトの名無しさん mailto:sage [2010/12/17(金) 17:36:46 ]
>>534
MRU書き換えてから開けば?

539 名前:デフォルトの名無しさん [2010/12/18(土) 18:41:41 ]
今は Send To Toys 2.6 てえのがある

540 名前:デフォルトの名無しさん mailto:sage [2010/12/27(月) 21:43:22 ]
wshからexcelブック開いて
あるシートの最終行を取得したいんだけど
どうしたらいいかな?
LastRow = objExcel.Range("$A$1").End(xlDown).Rowとか
.objExce.Cells.SpecialCells(xlLastCell).Address とかやると
rangeプロパティのcellsオプションがとってこれねぇ!
って怒られるんだけど。(objExcelはエクセルオブジェクトね)



541 名前:デフォルトの名無しさん mailto:sage [2010/12/27(月) 21:57:35 ]
work(current)book,work(current)sheetの指定が必要


542 名前:デフォルトの名無しさん mailto:sage [2010/12/27(月) 22:51:31 ]
ありがとう
そして今度はまた違うエラーが出るんだが

objExcel.workbooks("C:\test.xlsm").worksheets("data").Range("A5").End(xlDown).Row

未知の実行時エラー 800A03EC

マイクロソフトのページによるとアカウントの権限が
なんちゃらかんちゃら
よくわからんのだが

543 名前:デフォルトの名無しさん mailto:sage [2010/12/27(月) 23:04:56 ]
馬鹿には無理

544 名前:デフォルトの名無しさん mailto:sage [2010/12/27(月) 23:05:14 ]
すんまそん

545 名前:デフォルトの名無しさん mailto:sage [2010/12/27(月) 23:16:08 ]
UsedRangeが使えなかったっけ?
ってか、WSH?

546 名前:デフォルトの名無しさん mailto:sage [2010/12/27(月) 23:17:38 ]
ってか釣り

547 名前:デフォルトの名無しさん mailto:sage [2010/12/27(月) 23:32:52 ]
悲しいかな釣りではない
今オブジェクトライブラリの設定してる

548 名前:デフォルトの名無しさん mailto:sage [2010/12/27(月) 23:39:52 ]
UsedRange.Rowで開始位置はとれた。
なんでEnd(xlDown)が使えないの…

お前らの反応からしてかなりあほな原因なんだろうな

549 名前:デフォルトの名無しさん mailto:sage [2010/12/27(月) 23:42:59 ]
xlDownに値が入ってないんだろうな

550 名前:デフォルトの名無しさん mailto:sage [2010/12/27(月) 23:53:15 ]
とれた。
ありがとう
いいヒントだった



551 名前:デフォルトの名無しさん mailto:sage [2010/12/28(火) 01:00:42 ]
予想通りかなりあほな原因だったな

552 名前:デフォルトの名無しさん mailto:sage [2010/12/28(火) 15:27:59 ]
でもさ、いろんなサイトで
(xlDown)ってそのまま使ってるんだぜ?
何あれ、エクセルマクロVBA専用なのか?

553 名前:デフォルトの名無しさん mailto:sage [2010/12/28(火) 15:36:19 ]
>>545
これってWSHっぽくない書き方なの?

554 名前:デフォルトの名無しさん mailto:sage [2010/12/28(火) 15:40:56 ]
>>553
option explicitを知らんのか

555 名前:デフォルトの名無しさん mailto:sage [2010/12/28(火) 15:52:25 ]
>>554
上のほうについちょるよ。
馬鹿で申し訳ないんだけど
explicitステートメントとWSHぽくない
関係がよくわからんのだけど

556 名前:デフォルトの名無しさん mailto:sage [2010/12/28(火) 18:43:44 ]
>>552
Yes, we can.

557 名前:デフォルトの名無しさん mailto:sage [2010/12/28(火) 22:37:37 ]
>>556
but I can't

まぁ、でも実家帰る前に解決してよかったわthx
じゃあお前らまた来年ノシ

558 名前:デフォルトの名無しさん [2010/12/29(水) 18:11:24 ]
wshって将来なくなるの?

559 名前:デフォルトの名無しさん [2010/12/29(水) 20:52:26 ]
powershellになるんじゃね?

560 名前:デフォルトの名無しさん mailto:sage [2010/12/29(水) 20:54:36 ]
psつまらん



561 名前:デフォルトの名無しさん mailto:sage [2010/12/30(木) 13:01:55 ]
そんな簡単にはなくならんだろ
趣味で使ってるヤツらは切ってしまえばグチグチいいながらもなんか他のに移るだろうけど
業務で使ってるヤツがごろごろしてるだろうからいきなり切ったらそういう人種が大騒ぎするぞ

562 名前:デフォルトの名無しさん mailto:sage [2010/12/30(木) 16:39:44 ]
cmd.exeがなくなったか?
command.comがなくなったか?

563 名前:デフォルトの名無しさん mailto:sage [2010/12/30(木) 17:26:20 ]
エントロピーは増大する

564 名前:デフォルトの名無しさん [2010/12/30(木) 18:19:46 ]
VBSなんですけど、例えばIEオブジェクトに自作のメソッドを追加することってできますか?


565 名前:デフォルトの名無しさん [2010/12/31(金) 04:17:17 ]
IEコンポーネント使ってます。
通常、ボタンのclickで新しいウインドウが開くページなのですが
「ポップアップはブロックされました。Ctrlキーを押しながら...」とステータスバーに表示されます。
ポップアップを表示させるにはどうすればよいでしょうか?
ちなみにそのポップアップは無視したままで構いません。

566 名前:デフォルトの名無しさん mailto:sage [2010/12/31(金) 11:20:25 ]
馬鹿か?

567 名前:デフォルトの名無しさん mailto:sage [2011/01/02(日) 08:54:18 ]
どうすれば良いと?

568 名前:デフォルトの名無しさん [2011/01/04(火) 14:42:43 ]
https://www.miraiz.bz/Template/Index/
にあるテンプレートを全て一括してダウンロードしたいです。wshでできますか?誰か作ってくれませんか?


569 名前:デフォルトの名無しさん mailto:sage [2011/01/04(火) 22:01:34 ]
馬鹿か?

570 名前:デフォルトの名無しさん mailto:sage [2011/01/05(水) 13:35:18 ]
>>569
貴方ほどバカではありません。



571 名前:デフォルトの名無しさん mailto:sage [2011/01/05(水) 14:53:33 ]
五十歩百歩ってこと?

572 名前:デフォルトの名無しさん mailto:sage [2011/01/05(水) 21:01:56 ]
言いたいだけだろうよ

573 名前:デフォルトの名無しさん mailto:sage [2011/01/07(金) 08:31:25 ]
バカですか?
YES→なら帰れ
NO→なら自分で作れ

574 名前:デフォルトの名無しさん mailto:sage [2011/01/07(金) 16:25:20 ]
サイトからリンクたどってダウンロードしてくれるソフトなんて、山ほど有るのに、wshでやりたいバカで、自分で作れないバカ。
馬鹿面ライダーダブルってカンジ?

575 名前:デフォルトの名無しさん mailto:sage [2011/01/07(金) 16:42:11 ]
>>574
途中でフォームの入力があるよ。
馬鹿?

576 名前:デフォルトの名無しさん mailto:sage [2011/01/07(金) 19:53:56 ]
お前ら罵り合ってないで
タイピングにいそしめよ

577 名前:デフォルトの名無しさん mailto:sage [2011/01/07(金) 21:55:30 ]
タイピストかよw

578 名前:デフォルトの名無しさん mailto:sage [2011/01/07(金) 23:40:40 ]
罵りあうのにタイピングしてる件

579 名前:デフォルトの名無しさん mailto:sage [2011/01/16(日) 09:47:06 ]
みんなWindows7つかってる?
WSHとかってXPの頃と変りなく使えてる?

580 名前:デフォルトの名無しさん mailto:sage [2011/01/16(日) 10:10:46 ]
Cygwinの動きがおかしい



581 名前:デフォルトの名無しさん [2011/01/16(日) 17:06:03 ]
>579
自分も知りたいです。
PCのハードが不調で、ついでに7に移行しようか検討中...

582 名前:デフォルトの名無しさん [2011/01/16(日) 17:34:08 ]
>>579
Windows 7 64bitでWSHもHTAも特に問題なく使えてる。

583 名前:デフォルトの名無しさん mailto:sage [2011/01/17(月) 01:10:43 ]
>>582
サンクス
HTAも問題ないってのは朗報だね。

でも、IEのバージョンが上がると
HTAの方で出来ることも変わったりするから
油断は出来ねぇ

584 名前:デフォルトの名無しさん mailto:sage [2011/01/17(月) 03:41:06 ]
でも、IEのバージョンが上がると
WSHの方で出来ることも変わったりするから
油断は出来ねぇ



585 名前:デフォルトの名無しさん mailto:sage [2011/01/17(月) 20:43:56 BE:1455989478-PLT(23456)]
IE9beta入れてるけど大抵のことはできること変わんないと思うよ。
あまり凝ったものは組んだことないけど、今までのものは普通に動いてる。

586 名前:583 mailto:sage [2011/01/18(火) 17:35:11 ]
ごめん別にWSHがIEの影響を受けるって意味じゃなくて
WSH使ったプログラム書くときに
IEに関係する機能を利用してると って事で。

587 名前:デフォルトの名無しさん mailto:sage [2011/01/18(火) 18:59:58 ]
ビスタから7はあまり変わらんかもしれんがxpからビスタや7は大変よ
ie.navigate 保護モード無効のサイト
が初っ端から動かんからな


588 名前:デフォルトの名無しさん mailto:sage [2011/01/20(木) 00:36:46 BE:2105984399-PLT(23456)]
>>586
そういうことか。申し訳ない。

589 名前:デフォルトの名無しさん mailto:sage [2011/01/29(土) 18:13:04 ]
お前らプログラム組む時どんな感じなの?
サンプルコピペでちょっと変えて…
の繰り返しって感じ?

590 名前:デフォルトの名無しさん mailto:sage [2011/01/29(土) 18:49:18 ]
アプリケーションプログラムではそれもあるけど、スクリプトはほぼベタ書き
精々コードスニペットから自前の雛形引っ張ってくるくらい
スクリプトなんて、サンプル探すより自前で書いた方が早いようなことにしか使わないし



591 名前:デフォルトの名無しさん mailto:sage [2011/01/29(土) 20:40:41 ]
>>589
最初に、まずダーっと書く。
自分で用意してある関数群は使う場合があるけど
小さいプログラムやスクリプトの場合は使わない。

で、ある程度書いてから整理の方針を決めて
全体像を決めてから整理する。
主にGUI作るときはこんなん。

592 名前:デフォルトの名無しさん mailto:sage [2011/01/29(土) 23:56:31 ]
>>589
サンプルって言うか、自分の書き溜めたコードを雛形にして
書き起こしていくことが多いな・・・

593 名前:デフォルトの名無しさん mailto:sage [2011/01/30(日) 05:40:13 ]
書き捨て用のものと再利用を考慮したものでは書き方も変わってくる

594 名前:デフォルトの名無しさん mailto:sage [2011/01/30(日) 19:34:34 ]
WSHではあまり書き捨てはやらんな。
常に使っていればいいけど、
たまにしか使わなくなるとなると、メソッドとか思い出すのにちょっとめんどい。

595 名前:デフォルトの名無しさん mailto:sage [2011/02/06(日) 15:56:59 ]
最近、VBScript で書き上げても、移植性のなさ、この先のサポートを考えると、一抹の不安が残る今日この頃。

596 名前:デフォルトの名無しさん mailto:sage [2011/02/06(日) 17:50:26 ]
移植性のなさって具体的に何?

597 名前:デフォルトの名無しさん mailto:sage [2011/02/06(日) 18:17:44 ]
power shellに移行だな

598 名前:デフォルトの名無しさん mailto:sage [2011/02/07(月) 00:45:34 ]
>>595
移植性なんか心配してるヒマがあったら、
未来のおまいのために、コードをきれいに仕上げてコメント付けとけ。

599 名前:デフォルトの名無しさん mailto:sage [2011/02/07(月) 14:56:34 ]
言語を変えるのを移植とは言わんだろ

600 名前:デフォルトの名無しさん mailto:sage [2011/02/07(月) 17:08:00 ]
convertibility



601 名前:デフォルトの名無しさん mailto:sage [2011/02/08(火) 10:09:16 ]
>>599
うーん…
簡単にプログラミング言語を変えられない現状を鑑みれば、移植と言って良いと思うな。
そもそも、キミの言う移植がアセンブラレベルの意味合いっぽいじゃん?
もう、誰も、そんな事してないじゃん?

602 名前:デフォルトの名無しさん mailto:sage [2011/02/08(火) 14:59:27 ]
あたまわるそう

603 名前:デフォルトの名無しさん mailto:sage [2011/02/28(月) 16:37:18.39 ]
index=folderitem.getlink.geticonlocation(path)
pathはbyref string
wshでpathを得るにはどうすればよいのですか?
wshでは不可能ですか?

604 名前:デフォルトの名無しさん mailto:sage [2011/02/28(月) 16:47:28.84 ]
普通にやればいいだけだと思うけど

605 名前:デフォルトの名無しさん mailto:sage [2011/02/28(月) 18:53:40.12 ]
無理だろ 諦めろ

606 名前:デフォルトの名無しさん mailto:sage [2011/03/01(火) 18:50:09.10 ]
wshじゃ内部型stringのvariant型の参照渡しだもんな

607 名前:デフォルトの名無しさん mailto:sage [2011/04/17(日) 00:11:31.36 ]
IEが起動しているかどうか調べる方法ってございませんか?
起動してない場合に特定の処理したいので・・・

608 名前:デフォルトの名無しさん mailto:sage [2011/04/17(日) 00:14:59.65 ]
>>607
WMI使えば出来るよ

WMIはWSH専用ではない汎用ライブラリで
WSHとは別物でありスレ違いになるので、ここでの詳細解説は伏せる

609 名前:デフォルトの名無しさん mailto:sage [2011/04/17(日) 00:59:27.00 ]
>>607
shell.applicationのshellwindows

610 名前:デフォルトの名無しさん [2011/04/17(日) 12:43:48.33 ]
AppActivateでChromeをアクティブにしてSendkeysでF5を押してページをリロードしたいのですが、F5が効きません
IEとFirefoxは問題なくできました。
ただ、appActivateでChromeをアクティブにしてsleep 5000ぐらい待機させて、その間にアドレスバーにフォーカスを手動で移して晩生SendkeysでF5で更新ができました
なのでALT+Dを送信してからF5を押せばいいのかと思い"%D"を送ってみたのですがアドレスバーにフォーカスが移りません
Chromeでページをリロードできるところまで何とかやりたいのですが解決方法ございませんか?



611 名前:デフォルトの名無しさん mailto:sage [2011/04/17(日) 12:44:34.31 ]

晩生は打ち間違えですので読み飛ばしてください

612 名前:610 mailto:sage [2011/04/18(月) 00:19:37.81 ]
どうやらF5が効かないのではなくてアクティブになってないようでした
ただ、コードを実行するとChromeが前面に表示されるのですが(Chromeを最小化した状態でも)、どうもChromeの上の青い箇所が薄くなってました(メモ帳で言えば灰色の状態)
Chromeの仕様上WSHでは無理なんでしょうか?


613 名前:デフォルトの名無しさん mailto:sage [2011/04/18(月) 15:21:08.85 ]
メモ帳だってappactivate直後のsendkeysは受付ねーが?
適当にsleepしろ


614 名前:デフォルトの名無しさん mailto:sage [2011/04/18(月) 15:22:38.38 ]
↑sleep 5000って書いてあんぞ

615 名前:デフォルトの名無しさん mailto:sage [2011/04/18(月) 16:15:39.03 ]
それがどうした?

616 名前:デフォルトの名無しさん mailto:sage [2011/04/18(月) 16:29:18.91 ]
質問者はsleep書いてるのにsleepしろは矛盾している

617 名前:デフォルトの名無しさん mailto:sage [2011/04/18(月) 17:57:39.92 ]
質問者はsleepしてsendkeysしたと書いてるかバカめ

618 名前:デフォルトの名無しさん mailto:sage [2011/04/18(月) 18:49:42.87 ]
>ただ、appActivateでChromeをアクティブにしてsleep 5000ぐらい待機させて、その間にアドレスバーにフォーカスを手動で移して晩生SendkeysでF5で更新ができました
>ただ、appActivateでChromeをアクティブにしてsleep 5000ぐらい待機させて、その間にアドレスバーにフォーカスを手動で移して晩生SendkeysでF5で更新ができました
>ただ、appActivateでChromeをアクティブにしてsleep 5000ぐらい待機させて、その間にアドレスバーにフォーカスを手動で移して晩生SendkeysでF5で更新ができました
>ただ、appActivateでChromeをアクティブにしてsleep 5000ぐらい待機させて、その間にアドレスバーにフォーカスを手動で移して晩生SendkeysでF5で更新ができました
>ただ、appActivateでChromeをアクティブにしてsleep 5000ぐらい待機させて、その間にアドレスバーにフォーカスを手動で移して晩生SendkeysでF5で更新ができました
>ただ、appActivateでChromeをアクティブにしてsleep 5000ぐらい待機させて、その間にアドレスバーにフォーカスを手動で移して晩生SendkeysでF5で更新ができました


619 名前:デフォルトの名無しさん mailto:sage [2011/04/18(月) 20:45:09.98 ]
>その間にアドレスバーにフォーカスを手動で移して晩生
これが見えぬか

620 名前:デフォルトの名無しさん mailto:sage [2011/04/18(月) 21:14:18.24 ]
手動にしないとF5が効かないって意味じゃないか。
>>619お前ずっと書き込みしてる人?静観してたけどお前がレスすると話がおかしくなるから黙ってがいいよ。



621 名前:610 mailto:sage [2011/04/18(月) 22:43:31.43 ]
解決できました

622 名前:デフォルトの名無しさん mailto:sage [2011/04/18(月) 23:39:08.17 ]
FireFoxなら指定時間毎の自動更新が出来るけどChromeにはそういう機能はないの?

623 名前:デフォルトの名無しさん mailto:sage [2011/04/19(火) 19:04:50.94 ]
SendKeysはいいんだけどマウス動かす方法ないの?

624 名前:デフォルトの名無しさん mailto:sage [2011/04/19(火) 23:40:59.55 ]
MouseでなくWindowを動かせば?相対的なもんだろ?

625 名前:デフォルトの名無しさん [2011/04/19(火) 23:52:03.13 ]
Windows 転送ツールを使ってユーザープロファイルをコピーするのを、
WSHで定期的にタスクで自動実行したいのですが、簡単な方法はありますか?
代替えでAIKつかってコマンドでできるそうなのですが、
うまくイメージがとれませんでした。

626 名前:デフォルトの名無しさん mailto:sage [2011/04/20(水) 11:52:54.52 ]
>>624
windowの中をSendKeysで処理したい場合でTABキー移動もできない場合は?

627 名前:デフォルトの名無しさん mailto:sage [2011/04/21(木) 01:18:09.34 ]
sendkeys "% m{right}"

628 名前:デフォルトの名無しさん mailto:sage [2011/04/21(木) 07:49:23.22 ]
>>627
いや、だから…
例えばブラウザでサイト閲覧してて
SendKeysで入力フォームを自動入力させる処理があるとする
普通ならTABをSendKeysで送ってやれば入力フィールドから次のフィールドにフォーカスが当たる
しかし、FlashやTAB遷移できない要素はマウスでonFocusやonClickする必要がある
これをWSHでどうやればいいだろうかと

629 名前:デフォルトの名無しさん mailto:sage [2011/04/21(木) 09:44:55.12 ]
チーター乙

630 名前:デフォルトの名無しさん mailto:sage [2011/04/21(木) 11:50:47.68 ]
>>629
ゲーム等のbotプログラムをわざわざWSHでやろうとは思わんよ
業務自動化の使用範疇だよ



631 名前:デフォルトの名無しさん mailto:sage [2011/04/22(金) 18:27:34.48 ]
口調が気に食わない

632 名前:デフォルトの名無しさん mailto:sage [2011/05/17(火) 19:23:55.22 ]
wsh で c:\Program Files のように標準のプログラム保存フォルダを取得ってできないの?
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
見てみたけど無いんだよね。

633 名前:デフォルトの名無しさん mailto:sage [2011/05/17(火) 19:39:21.95 ]
%ProgramFiles%

634 名前:デフォルトの名無しさん mailto:sage [2011/05/17(火) 19:56:48.72 ]
>>633
ありがとうございます。

635 名前:デフォルトの名無しさん [2011/05/21(土) 21:38:02.65 ]
下記コードのhtmlにアクセスしたら、
指定のURLにリダイレクトさせたいんですが、
どうすればできるでしょうか?
『例』
<SCRIPT LANGUAGE="VBScript">
<!--
// リダイレクト先のパス指定
www.yahoo.co.jp/
-->
</SCRIPT>

636 名前:デフォルトの名無しさん mailto:sage [2011/05/21(土) 22:52:30.15 ]
スレ違い・・・・・じゃなかった板違い

637 名前:デフォルトの名無しさん mailto:sage [2011/05/22(日) 13:00:28.56 ]
ツールチップを表示したいのですが参考になるページございませんか?

638 名前:デフォルトの名無しさん [2011/05/23(月) 10:32:32.56 ]
Win7デスクトップで[並び替え]→[名前]を二回連続で繰り返すwshください

639 名前:デフォルトの名無しさん mailto:sage [2011/05/23(月) 17:54:38.56 ]
1回ものはどこかで見たがなぜ2回?

640 名前:デフォルトの名無しさん mailto:sage [2011/05/23(月) 20:50:52.50 ]
sendkeys



641 名前:デフォルトの名無しさん mailto:sage [2011/05/26(木) 03:41:37.18 ]
>>639
降順じゃね?

642 名前:デフォルトの名無しさん [2011/05/30(月) 05:54:47.25 ]
ファイル名を全角→半角にリネームする際にリネーム後のファイル名が重複した場合に
aaa(1).txtというように番号をふって対処したいのですがどのように書いたら良いでしょうか?

〜〜〜
function rename(f) {
var new_name = full_to_half(f.Name);
var new_path = f.ParentFolder.Path + "\\" + new_name;



643 名前:デフォルトの名無しさん mailto:sage [2011/05/30(月) 05:57:15.06 ]
つづきです。

if (new_name != f.Name) {
if (fso.FolderExists(new_path) || fso.FileExists(new_path)) {
???
}
〜〜〜

644 名前:デフォルトの名無しさん mailto:sage [2011/05/30(月) 08:41:00.90 ]
パスをカンマより前とカンマ以降に分けて変数に格納
c:\hoge\aaa.txt
なら
前="c:\hoge\aaa"  後=".txt"

次に連番化用の変数作って

var 連番文字変数 = "";
var 連番カウンタ変数 = 1;

あとはループ作って

new_path = 前 + 連番文字変数 + 後;
Exists(new_path) //がfalseなら抜け
連番文字変数 = "(" + 連番カウンタ変数 + ")";
連番カウンタ変数 += 1;

ループ抜けたらnew_pathにリネーム

これだけ


最初の「前 + 連番文字変数 + 後」では、連番文字変数が空だから
「"c:\hoge\aaa" + "" + ".txt"」=「c:\hoge\aaa.txt」

二回目は「連番文字変数」に「"(" + 連番カウンタ変数 + ")"」が入っているから
「"c:\hoge\aaa" + "(1)" + ".txt"」=「c:\hoge\aaa(1).txt」


645 名前:642 mailto:sage [2011/05/30(月) 13:51:29.91 ]
>>644
ご丁寧にレスを下さり有難うございます。
早速試してみたのですが、
この場合だと全角のaaa.txtを半角へとリネームする際に
既にaaa.txtとaaa(1).txtが存在しているとaaa(2).txtとはならずに
aaa(1).txで重複のエラーになってしまいます。
このような場合に無限に連番で処理することは出来ないのでしょうか?

646 名前:デフォルトの名無しさん mailto:sage [2011/05/30(月) 13:59:34.54 ]
new_path = 前 + 連番文字変数 + 後;
Exists(new_path) //がfalseなら抜け
連番文字変数 = "(" + 連番カウンタ変数 + ")";
連番カウンタ変数 += 1;

はループ内に入れたか?
ループ内に入れてあれば
> 無限に連番で処理
されるはずだが、というか実際にされているが

647 名前:642 mailto:sage [2011/05/30(月) 22:09:05.71 ]
>>646
すいません、できました。
親切にお答えいただき有難うございました。

648 名前:デフォルトの名無しさん mailto:sage [2011/06/07(火) 13:53:05.03 ]
質問します。
IEのキャッシュを削除するスクリプトを使用したいと思っています。
そこで、下の URL のスクリプトを実行してみましたが、

C:\Documents and Settings\(ユーザー名)\Local Settings\Temporary Internet Files

内のファイルは一切削除されませんでした。
Temporary Internet Files フォルダ自体を削除することを試してみましたが、
「書き込みできません」とエラーが発生しました。
WSHでIEのキャッシュを削除する方法をご存じの方は、ご教示ください。

(環境)
Windows XP SP3
IE 8



649 名前:デフォルトの名無しさん mailto:sage [2011/06/07(火) 14:45:35.02 ]
エクスプローラのツリーからは何故か見えないんだけど
実際には Temporary Internet Files\ の下に更に Content.IE5\
というフォルダがあって更にその中の複数のサブフォルダの中にファイルがある

下の URL のスクリプト ってどれよ?

650 名前:648 mailto:sage [2011/06/07(火) 15:49:30.04 ]
>>649
レスありがとう。そして間違えました。
URLのつもりがキャッシュフォルダのパスを書きました。
正しくは下のやつです。

gallery.technet.microsoft.com/scriptcenter/ffcb9491-3df6-4540-a378-a7c61f0b707e/

なお、Content.IE5 以下のフォルダを WSHで削除しようとしても、
「書き込みできません」とエラーが発生します。

何卒、お知恵をお貸しください。



651 名前:デフォルトの名無しさん mailto:sage [2011/06/07(火) 16:34:27.94 ]
確かに出るね
IEを終了させたら出なくなったから
使用中のキャシュは消せないんだろうね

652 名前:デフォルトの名無しさん mailto:sage [2011/06/07(火) 18:03:52.91 ]
Scripting Guy!はあほじゃね?
cache.vbsとかみたほうがよくね?

653 名前:デフォルトの名無しさん mailto:sage [2011/06/07(火) 18:28:31.84 ]
>>651-652
レスありがとうございます。

こちらではIEの起動の有無にかかわらず
「書き込みできません」のエラーがでました。

また、cache.vbs の CacheClear.VBS を試してみましたが、
同スクリプトの17行あたりで
「エラーを特定できません」とのエラーダイアログ表示され、
エクスプローラーでキャッシュフォルダが開かれるだけでした。

そこで該当部分をコメントアウトして実行してみたところ、
エラーは表示されないものの、キャッシュフォルダ内のファイルなどは
一切消されないままでした。

引き続きご教示をよろしくお願いします。

654 名前:デフォルトの名無しさん mailto:sage [2011/06/07(火) 19:02:11.42 ]
cacheclear.vbsパッケージのcacheclear2.vbsなんかどう?

655 名前:650 mailto:sage [2011/06/07(火) 19:36:13.03 ]
>>654
ありがとうございました。
CacheClear2.VBS でうまく削除できました。
あぁ、本当に助かりました。4日くらい試行錯誤しまくっていました。

656 名前:デフォルトの名無しさん mailto:sage [2011/06/07(火) 20:49:47.42 ]
C.C.クリーナーみたいなソフトはインストールしたくない、或いは、サクっとキャッシュだけ削除したいから、スクリプトなのかな?
なんか、必死なワリにはググる事しないんで、なんか変だなと思って。w

657 名前:デフォルトの名無しさん mailto:sage [2011/06/07(火) 23:42:55.23 ]
Scripting Guy!が出鱈目書いてると思わなかったんだろ
さっさとこっちで聞けば教えてやったのに

658 名前:デフォルトの名無しさん mailto:sage [2011/06/08(水) 01:13:27.47 ]
なるほど…

659 名前:デフォルトの名無しさん mailto:sage [2011/06/13(月) 19:56:37.20 ]
ぽるぽと…

660 名前:デフォルトの名無しさん mailto:sage [2011/06/17(金) 22:30:04.22 ]
InternetExplorer.Applicationオブジェクトで質問なのですが、
・JavaScriptを実行させる
・ページの一番下までスクロールさせる
にはどうやればいいでしょうか?



661 名前:デフォルトの名無しさん mailto:sage [2011/06/17(金) 23:34:40.57 ]
Document.Scriptか
Document.parentWindowがwindowオブジェクトなので
そこからevalか何かでどうぞ

662 名前:デフォルトの名無しさん mailto:sage [2011/06/18(土) 00:13:12.39 ]
スクロール
ie.document.parentWindow.scrollTo(0, ie.document.body.scrollHeight)

JavaScript実行
ie.document.parentWindow.eval("alert(123)")
または
ie.document.parentWindow.execScript("alert(456)")

なお、該当ページにもともと一切のスクリプトが含まれていない場合、
ie.document.parentWindow.eval()
は失敗するので注意のこと
(IE8 with Windows7 で確認)

663 名前:デフォルトの名無しさん mailto:sage [2011/06/18(土) 00:16:32.38 ]
scrollIntoView


664 名前:デフォルトの名無しさん mailto:sage [2011/06/18(土) 23:42:29.48 ]
>>662
execScriptはスクリプト無効で使えんよ

665 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 02:13:51.98 ]
>>664
意味が分からない

自分の環境では、下のスクリプトの実行結果が SUCCESS, SUCCESS, ERROR, SUCCESS ってなるんだけど
使えないってどういうこと?

function foo(url) {
ie.navigate(url);
WScript.Sleep(3000);
ie.document.parentWindow.WScript = WScript;
try {
ie.document.parentWindow.eval("WScript.Echo('eval() SUCCESS');");
} catch(e) {WScript.Echo("eval() ERROR");}
try {
ie.document.parentWindow.execScript("WScript.Echo('execScript() SUCCESS');");
} catch(e) {WScript.Echo("execScript() ERROR");}
}
ie = new ActiveXObject("InternetExplorer.Application");
ie.visible = true;
foo("www.yahoo.co.jp/");// scriptが含まれるページ
foo("www.jaipa.or.jp/ipv6day/");// scriptが含まれないページ


666 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 03:32:32.70 ]
そのまんまスクリプト無効のゾーンでは使えん

667 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 07:49:43.41 ]
ADODB.Steam.LoadFromFile()てファイル全部メモリに読み込むんだな
XPsp3(32bit 4GB)で1.8GB弱のバイナリファイル読ませたらメモリ不足になることがあった
wshでこういうファイルを扱ういい方法はないものか

668 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 08:10:54.77 ]
部分的に読み込んだらいいんじゃない?

669 名前:デフォルトの名無しさん mailto:sage [2011/06/19(日) 15:26:18.02 ]
細かく分割してファイルにして書きだして後から操作する。
ちょっと時間かかるがしょうがない。

670 名前:デフォルトの名無しさん mailto:sage [2011/06/20(月) 08:29:44.73 ]
>>666
だったらスクリプト有効にすればいいだろ



671 名前:660 mailto:sage [2011/06/20(月) 09:31:05.44 ]
>>661 >>662
できました。ありがとうございます。

672 名前:デフォルトの名無しさん mailto:sage [2011/06/21(火) 17:59:22.78 ]
>>670
ことわる

673 名前:デフォルトの名無しさん mailto:sage [2011/06/21(火) 21:03:48.56 ]
>>672
断れません

674 名前:デフォルトの名無しさん mailto:sage [2011/06/21(火) 22:30:20.28 ]
スクリプト無効でもできる方法あるのに断ればいいじゃん

675 名前:デフォルトの名無しさん mailto:sage [2011/06/22(水) 14:09:25.19 ]
どうやるのどうやるの

676 名前:デフォルトの名無しさん mailto:sage [2011/06/22(水) 15:57:15.71 ]
>>675
ことわる

677 名前:デフォルトの名無しさん mailto:sage [2011/07/03(日) 15:43:12.47 ]
WScript.Echoって、真偽値を"true" "false"みたいに
文字列で表示してくれないの?


WScript.Echo(func()); #=> 0 or -1

こうじゃなくって、trueかfalseで表示してほしいんだけど

678 名前:デフォルトの名無しさん mailto:sage [2011/07/03(日) 16:14:23.83 ]
trueかfalseで表示するようにすればいいだけじゃん

679 名前:デフォルトの名無しさん mailto:sage [2011/07/03(日) 16:50:06.25 ]
>>678
いちいち?

680 名前:デフォルトの名無しさん mailto:sage [2011/07/03(日) 16:56:59.72 ]
WScript.Echo(func()?'true':'false');



681 名前:デフォルトの名無しさん mailto:sage [2011/07/03(日) 22:14:30.52 ]
WScript.Echo(func().toString());
または
WScript.Echo(""+func());


682 名前:デフォルトの名無しさん mailto:sage [2011/07/03(日) 22:29:51.52 ]
>>681
ハラショー
EchoをラップしてtoStringの結果を出力する関数使うわ
ありがとう

683 名前:デフォルトの名無しさん mailto:sage [2011/07/04(月) 11:13:20.06 ]
1バイト分の16進数を10進数に直接変換する方法ってないかな?
現在、下のような処理を513行書いて凌いでるが、長すぎる…
X = objText.Read(2)'テキストファイルから16進数を呼び出してます
Select Case X
Case "FE"
Y = 254

684 名前:デフォルトの名無しさん mailto:sage [2011/07/04(月) 12:18:46.24 ]
Eval("&H"+X)

685 名前:デフォルトの名無しさん mailto:sage [2011/07/04(月) 12:37:20.28 ]
>>684
513行かかった処理が1行で終わるとは…感激したっす。激しく感謝!

686 名前:デフォルトの名無しさん mailto:sage [2011/07/10(日) 02:58:11.11 ]
NASにおいてある.jsファイルをダブルクリックすると出てくるセキュリティ警告がテラウザイ・・・
なんか良い警告の抑止方法はないですかね?

687 名前:デフォルトの名無しさん mailto:sage [2011/07/10(日) 06:59:26.13 ]
おまいらFileSystemObjectとかWScript.Shellとか使うとき
どんなオブジェクト名にしとる?
objFSOとかが多いみたいだけど。
俺は oFs、oWs みたいな感じ

688 名前:デフォルトの名無しさん mailto:sage [2011/07/10(日) 07:13:03.17 ]
FSO, WShellにしてる

689 名前:デフォルトの名無しさん mailto:sage [2011/07/10(日) 09:03:35.98 ]
>>687
俺は oFs、oSh な感じ
oWsはExcelのワークシートにしてる

690 名前: 忍法帖【Lv=7,xxxP】 mailto:sage [2011/07/10(日) 09:12:23.42 ]
なでしこ勝利おめこ



691 名前:デフォルトの名無しさん mailto:sage [2011/07/10(日) 09:14:28.05 ]
スクリプトはエディタでの色分けの関係で、未だにハンガリアンでやってる
数値や文字列などの値型変数と、オブジェクトなどの参照型変数を色分けしたいのだが
FSOやWScript.Shellみたいに、1個作れば事足りるものばかりなら、単語登録すれば良いが
XML、HTTP、ADOStreamなどは複数のインスタンスを同地に使う場合もあるし
FSOでも下位のFile、Folderオブジェクトとかは複数作ることも多いので
やはり決まったプレフィックス付けて正規表現で色分けするのが手っ取り早いからな

普通のプログラム言語では、もうハンガリアン使ってないけど、
昔はプログラム言語もハンガリアンでやっていて、ハンガリアンはすっかり身に浸みているから、
スクリプトとプログラム言語で記法を変えても混乱はしない

692 名前:デフォルトの名無しさん mailto:sage [2011/07/10(日) 21:31:53.75 ]
要約して

693 名前:デフォルトの名無しさん mailto:sage [2011/07/11(月) 00:59:08.69 ]
2chの1レスの文字数制限無いに収まるカキコすら読めないような奴に
スクリプト、プログラム言語を扱うのは無理じゃね?

694 名前:デフォルトの名無しさん mailto:sage [2011/07/11(月) 05:47:33.80 ]
スクリプト、プログラムにしろ、無意味な長文は苦痛なだけ

695 名前: 忍法帖【Lv=8,xxxP】 mailto:sage [2011/07/11(月) 08:31:19.23 ]
そうだぬ

696 名前:デフォルトの名無しさん mailto:sage [2011/07/11(月) 11:52:25.84 ]
意味のある文章や処理の意味を見いだせない奴を無能と呼ぶ

697 名前:デフォルトの名無しさん mailto:sage [2011/07/11(月) 15:21:58.39 ]
意味のない文章や処理をだらだら書く奴を無能と呼ぶ


698 名前:デフォルトの名無しさん mailto:sage [2011/07/12(火) 06:04:47.91 ]
自己紹介?

699 名前:デフォルトの名無しさん mailto:sage [2011/07/12(火) 10:40:10.94 ]
菅ガンス

700 名前:デフォルトの名無しさん mailto:sage [2011/07/13(水) 11:34:10.87 ]
米倉



701 名前:デフォルトの名無しさん mailto:sage [2011/07/13(水) 20:38:22.49 ]
向かい側に座ってる女の人のスカートが短か過ぎて困る

702 名前:デフォルトの名無しさん mailto:sage [2011/07/14(木) 00:23:47.87 ]
>>691
エディタ何使ってんの?
俺はemacs系エディタ
色分けは最低限でよくね?慣れだとは思うけど

変数名はFOやwsって感じで2文字が多いかなぁ

703 名前:デフォルトの名無しさん mailto:sage [2011/07/14(木) 20:37:27.84 ]
>>685
clng使えよ

704 名前:デフォルトの名無しさん mailto:sage [2011/07/19(火) 20:03:10.02 ]
parseInt使えよ

705 名前:デフォルトの名無しさん [2011/08/03(水) 22:26:40.15 ]
VBSで、ドライブ上のテキストファイル全てを対称に、キーワードを検索する処理を行う
処理としては、対象ファイルを一時ファイルにコピーして、一時ファイルから読み込んで検索、という感じ

ところが、現実に存在していて、アクセス中でも隠しファイルでもない普通のファイルが「見つからない」といって53のエラーをはき出す事が頻繁に発生する。

どんな理由が考えられる?
訳あって、コードは載せれないけど。

すごく困っているので教えて!! いや、教えて下さい。


706 名前:デフォルトの名無しさん mailto:sage [2011/08/03(水) 22:40:40.59 ]
ファイル名くらい載せろ

707 名前:デフォルトの名無しさん mailto:sage [2011/08/04(木) 02:36:09.08 ]
考えられることはコードが間違ってるってことだな
13行目7桁目を調べろ

708 名前:デフォルトの名無しさん mailto:sage [2011/08/04(木) 05:40:59.53 ]
>>705
アクセス権

つか、エラー発生行ぐらい載せられるだろ
みんなエスパーじゃねえんだ

709 名前:デフォルトの名無しさん mailto:sage [2011/08/04(木) 22:42:01.24 ]
見られたらまずいんだろ

710 名前:デフォルトの名無しさん mailto:sage [2011/08/06(土) 13:52:56.48 ]
>>705
フォルダー名が違うとか、そんなんじゃないの?

Pathの組み立てに、
Path = Folder & "\" & Filename
とか、安易にやっちゃってんじゃないの?
Path = FSO.BuildPath(Folder, Filename)
ってやった方がいいよ




711 名前:デフォルトの名無しさん mailto:sage [2011/08/06(土) 14:29:32.35 ]
えすパー自慢?

712 名前:デフォルトの名無しさん mailto:sage [2011/08/07(日) 01:47:18.64 ]
>>686
これどうよ?
journal.mycom.co.jp/column/winvista/005/index.html

713 名前:デフォルトの名無しさん mailto:sage [2011/08/11(木) 08:54:36.23 ]
CopyHereって、失敗しても何も言わないの?
zipファイルの中にコピーしようとしてるんだけど、
コピーできてないのになんのエラーも出さずに終わる

ちゃんと圧縮待ちはしてるのに

714 名前:713 mailto:sage [2011/08/11(木) 10:05:47.92 ]
追記
圧縮待ちは、下の2通りをためしました
・Items().Countが増えるまで待つ
 →いくら待っても増えなかった
・1秒待ってからOpenTextFile(zipfile,8,FALSE)でエラーなく開けるまで待つ
 →すぐに開けてしまった

715 名前:デフォルトの名無しさん mailto:sage [2011/08/11(木) 21:22:37.44 ]
まっそういうもんだな

716 名前:705 [2011/08/13(土) 18:07:34.54 ]
えーと、705です。

社のPCにあるので、コード全文はのせられないん(持ち出せない)だけど、ファイルを検索する部分は
ttp://md1000.cocolog-nifty.com/blog/2008/09/wsh-5d65.html
のコードを流用しています。
ファイルが見つかったら、のところで、

For Each temp2 In f.Files
Ext = LCase(FS.GetExtensionName(FoundFile))

Next


アクセス権にも問題はありません。



717 名前:705 [2011/08/13(土) 18:15:11.57 ]
途中で書き込んでしもた

For Each temp2 In f.Files
Ext = LCase(FS.GetExtensionName(FoundFile))
if Ext="txt" then
TextCheck(temp2)
enf if
Next

みたいな感じで、このTextCheckというのが、テキストの全文検索ルーチンです。

引数のテキストファイルを一時ファイルにコピーして内容を検査する、という処理ですが、アクセス権にも問題が無く、実際に存在しているのに「書き込めません」とかってエラーになる。
でも、実際には一時ファイルはその都度作成しています。
いくつか検証したら、xpの場合、必ず同じフォルダでエラーを起こす。また、7の場合だと、"Application Data\Application Data...."の無限ジャンクションで処理を勝手に辞めてしまって終了してしまいます。
とにかく、ドライブ中の、アクセス権があるテキストファイルをまんべんなく検索して処理する、というのがうまくいっていないみたいです。

このTextCheckルーチン自体を単体のスクリプトとして動作させた場合には問題がないので、原因とは考えられません。

718 名前:デフォルトの名無しさん mailto:sage [2011/08/13(土) 18:32:10.65 ]
>>717
「GetExtensionNameで拡張子をとってみてtxtだったら
 TextCheck() というサブルーチンに投げてる」
ってだけ?
エラー内容の方が大事なんだが

>現実に存在していて、アクセス中でも隠しファイルでもない
>普通のファイルが「見つからない」といって53のエラーを
>はき出す事が頻繁に発生する。
どこでエラーが出てるか確認してみたら?
GetExtensionNameの時にエラーが出てるんか?
取ろうとしてるフォルダは普通の場所なんだよね。
Application Data とか普通じゃない雰囲気がぷんぷんするんだが。

719 名前:デフォルトの名無しさん mailto:sage [2011/08/14(日) 21:06:52.69 ]
FoundFileに何を設定してんのかな?

720 名前:705 [2011/08/15(月) 11:14:29.92 ]
あ、失礼。Foundfileはtemp2。




721 名前:デフォルトの名無しさん mailto:sage [2011/08/15(月) 16:11:15.08 ]
temp2のデフォルトプロパティはなんだっけ?

722 名前:デフォルトの名無しさん mailto:sage [2011/08/15(月) 17:34:31.19 ]
つーか、書き込めないって事は、テンポラリーフォルダーへのコピーに失敗してるんじゃないの?

TextCheckのルーチン内に原因があったりしてな


723 名前:デフォルトの名無しさん mailto:sage [2011/08/15(月) 21:41:07.64 ]
圧縮ファイルをテンポラリに解凍して、解凍ファイルを読みに行く処理を書いた時
「ファイルが見つからない」ってなるユーザーがいて、その時はウエイトを掛けて
回避した。

724 名前:デフォルトの名無しさん mailto:sage [2011/08/16(火) 15:40:06.08 ]
>>716
>ttp://md1000.cocolog-nifty.com/blog/2008/09/wsh-5d65.html
>のコードを流用しています。

みたけどやめとけ ましなサイトがあるだろ 

725 名前:デフォルトの名無しさん mailto:sage [2011/08/16(火) 16:03:46.63 ]
>>717
いたるところにログを書き出すルーチン組み込んでみれ。

726 名前:デフォルトの名無しさん mailto:sage [2011/08/16(火) 19:22:32.45 ]
ファイル列挙中のフォルダの配下のファイルを操作したせいで、
列挙処理がおかしくなってるとか


727 名前:デフォルトの名無しさん mailto:sage [2011/08/17(水) 09:07:29.77 ]
一つ疑問なんだが、一時コピーする必要はあるのか?
本体そのものにアクセスするんじゃまずいわけがあるの?

もしかして他のアプリが開いてる可能性のあるログファイルの類なんじゃ…
ロックされててアクセスできないとか。

728 名前:705 [2011/08/18(木) 21:25:22.77 ]
皆さん、ありがとうございます。取り急ぎ、レスへの回答です。

>>727
えーと、一時コピーする理由は、本体を必要とする他のアプリに影響を与えないようにスナップショットを取るためです。
ただし、この処理を行うときは、他の常駐アプリやサービスはウィルス検査等も含め、停止させています。

>>726
それはないです。過去に作成したきりで、全くアクセスしていないファイルでも同じように発生します。

>>725
ログじゃないですが、stopでデバッガが起動する、という事らしいのですが私の環境ではデバッガのデの字も起動しません。
もちろん、デバッガ本体はインスコしてますが、7には非対応とか?

>>723
ウェイトと、あと無限ループでファイルのコピーが終わったら次の処理、というのは試してみましたが、結果は同じでした。

729 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 09:34:14.95 ]
>>728
起動しないデバッガで、何をするつもりなの?
甘えてないで、ログ取れば?


730 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 10:27:26.30 ]
>>705
そもそもどんなエラーメッセージが出力されているかもわからず回答できるわけが無い。
デバッガを起動できないならログ出力の関数を自作してデバッグすればいいだけのこと。
ログ出力の関数のコードすら書けないということなら論外。

もしかしてalertさえも使ったこと無いのか?



731 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 21:53:28.77 ]
見てて、あると思うか?

732 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 06:47:48.55 ]
>>731
無いと思うw

733 名前:705 [2011/08/20(土) 11:29:25.11 ]
>>729
処理の至る所にログ吐き出し処理を入れてみました。やはり、ちゃんと存在していて、アクセスされていないディレクトリをを削除しようとしているときに「書き込みできません」になったりしてます。
でも、そのディレクトリを削除するためだけのスクリプトを別に作って削除したらちゃんと削除できるんですよね。
つまり、[削除前処理]→[フォルダ削除]ってやろうとしているときに、じつは[削除前処理]が終わっていないって事なんでしょうか。

>>730
alertは使ったことないですが、msgboxでErr.Descriptionを表示させてます。

734 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 16:19:24.86 ]
いつからディレクトリ削除の話になったんだ?
それなら十中八九まるまるに決まってるじゃん
でも問題を後出しにするような奴には教えん

735 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 17:34:34.61 ]
>>705
自分で解決しようっていう意思が全く無いなw
ここで嘘でもいいからそうだって言われれば安心するならあえて言おう。

甘ったれるなw

736 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 19:30:19.14 ]
サイトの自己宣伝だろw
他人が参考にするようなもんじゃないもの

737 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 19:31:23.31 ]
そうだな レベルが合ってる 偶然にしては出来過ぎだな

738 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 23:06:12.16 ]
>>733
>>710が、すげーヒントをくれてるのに、何で無視してるん?
まじ、自分でやる気がないのな

739 名前:デフォルトの名無しさん mailto:sage [2011/08/21(日) 00:49:16.37 ]
そういえば、処理完了前に次の処理をしようとしたせいで上手くいかないって状態の時に
原因解明のためにMsgBox出したら、それによって処理かぶりが無くなってしまい
「観測すると現象が起きなくなる」
という、まるで量子力学かのような状態になって アルェー って成ったことが
みんな一度はあるんじゃないか?

直ぐ気づくというか、こうなった時点で答えが分かるようなもんだけど。

740 名前:デフォルトの名無しさん mailto:sage [2011/08/21(日) 04:20:17.43 ]
HDDの"ディスクの書き込みキャッシュを有効にする"って設定は関係あったりするの?



741 名前:デフォルトの名無しさん mailto:sage [2011/08/21(日) 05:21:42.24 ]
関係ないと思うが。

742 名前:デフォルトの名無しさん mailto:sage [2011/08/21(日) 05:27:57.08 ]
聞 く 前 に 何 で 試 さ な い の か ?

743 名前:デフォルトの名無しさん mailto:sage [2011/08/23(火) 13:50:48.70 ]
め ん ど う だ か ら

744 名前:デフォルトの名無しさん mailto:sage [2011/08/25(木) 12:58:23.99 ]
つまりそれは、出来ないんじゃなくて
やらないだけだな

もういいだろ

745 名前:デフォルトの名無しさん mailto:sage [2011/08/26(金) 10:52:22.28 ]
t

746 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 17:53:14.02 ]
WindowsXPを使用しています。

WSHから外部アプリケーション(例えばメモ帳)を起動するときに
起動位置を座標指定して起動することはできないのでしょうか?
できるようであれば方法を教えて下さい。

747 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 18:31:55.20 ]
>>746
Win32使えばできる
WSHじゃないけど、ここが参考になるかも
dobon.net/vb/dotnet/process/movewindow.html

748 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 20:16:04.41 ]
Win32って、Win32APIのことかな?
わざわざWin32APIなんて使わなくても、WMIで出来るよ
そもそもWin32APIはWSHから直接使えないしw

749 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 20:53:02.38 ]
うそだろ

750 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 20:54:12.05 ]
WSHからPowerShellをキックすりゃえーよ



751 名前:746 mailto:sage [2011/09/05(月) 21:32:39.78 ]
レスありがとうございます。

>>747
WSHからWin32APIを使用する方法がわからず、参考URLを元に
VB.NETで作っているところです。

>>748,750
PowerShellからもできるんですね。WSHというこだわりはないので
(ショートカットをダブルクリックしたら指定プログラムを指定座標で起動したい)
PowerShellでの方法も調べてみます。
WMIの存在もはじめて知りました。こちらも調べてみます。

752 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 21:37:04.60 ]
>>750
それ「直接」じゃないでしょ。

753 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 21:49:57.56 ]
>>750
WSHやめてRubyやPythonにした方がいいね


754 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 22:08:49.01 ]
>>749
何が嘘だと?
WMIで出来るのは事実だし、WSHからWin32APIが直接呼べないのも間違いじゃないだろ。

755 名前:デフォルトの名無しさん mailto:sage [2011/09/06(火) 12:40:38.37 ]
>752
WSHで「直接」なんて意味ないでしょ。なんだって間接でしょ?

756 名前:デフォルトの名無しさん mailto:sage [2011/09/07(水) 00:16:33.27 ]
WSH から PowerShell は、「直接」呼べるけど、PowerShell スクリプトは、PowerShell を
通して「間接」的に実行するってことでしょ。

WSH は、どっかで Win32API の CreateProcess( ) { かどうかはわからんが、似たような
API } を使ってるから間接だという主張なの?

757 名前:デフォルトの名無しさん mailto:sage [2011/09/07(水) 02:44:28.20 ]
間接的に、呼び出した何かでどうこうするって話なら
なんぼでもやりようあるからな。

758 名前:デフォルトの名無しさん mailto:sage [2011/09/07(水) 12:52:38.10 ]
WindowsXpにて手動でデスクトップのアイコンを全て表示/非表示に切り替える事ができますが、
これでWSHで実装する事は可能でしょうか?

手動だとデスクトップで右クリック→i→dでできる操作をWSHで実装し、ショートカットアイコンにショートカットキーを
設けてキー操作で簡単に行いたいのです。
最悪SendKeysで、と思ったのですが、デスクトップ上で右クリックする際デスクトップアイコンにフォーカスが当たっていると
失敗してしまいます。因みに右クリックはSendKeys でShift+F10を実行している。

759 名前:デフォルトの名無しさん mailto:sage [2011/09/07(水) 14:34:39.36 ]
選択" "
解除"^ "

760 名前:デフォルトの名無しさん mailto:sage [2011/09/07(水) 14:58:23.96 ]
f5



761 名前:758 mailto:sage [2011/09/07(水) 18:41:42.93 ]
>>759
意味不明なり

>>760
更新じゃないです
アイコン非表示は手動でやれば直ぐ消えます
F5とか不要です

762 名前:デフォルトの名無しさん mailto:sage [2011/09/07(水) 20:22:40.18 ]
デスクトップアイコンにフォーカスが当たっていると
失敗してしまいます。

759 :デフォルトの名無しさん:2011/09/07(水) 14:34:39.36
選択" "
解除"^ "


760 :デフォルトの名無しさん:2011/09/07(水) 14:58:23.96
f5


763 名前:デフォルトの名無しさん mailto:sage [2011/09/07(水) 21:03:39.56 ]
ShellFolderView.SelectItem

764 名前:デフォルトの名無しさん mailto:sage [2011/09/07(水) 21:37:41.23 ]
hideicons

765 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 08:27:21.55 ]
>>762-763
個人的にはSendKeysは使いたくなかったので理解できませんでした。すいません

>>764
レジストリをすっかり見落としていました
有り難う御座います
無事解決しそうです


766 名前:758 mailto:sage [2011/09/08(木) 10:14:52.72 ]
ダメだできない。分からない
>>759ってどう言う事なんでしょうか?
F5でアイコンフォーカスを外せる事は分かったのですが

767 名前:758 mailto:sage [2011/09/08(木) 10:17:29.55 ]
すいません、理解できました
sendkeysで実装するしかないんですかね、やっぱ

768 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 14:28:25.53 ]
現状
var ws = WScript.CreateObject('WScript.Shell');
//デスクトップをを表示(こいつが上手く機能してくれない)
ws.run('C:\\hoge\\desktop.lnk');
WScript.Sleep(1000);
ws.SendKeys('{F5}');
WScrip.Sleep(1000);
ws.SendKeys('+{F10}');
WScript.Sleep(200);
ws.SendKeys('i');
WScript.Sleep(200);
ws.SendKeys('d');
しかもこれだとデスクトップ表示中には使えない
デスクトップ表示切り替えいい方法ないですかね?


769 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 15:19:54.35 ]
なにが死体ん?

770 名前:758 mailto:sage [2011/09/08(木) 16:16:01.50 ]
>>768>>758です
すいません
やりたい事は>>758
結局sendkeysで実装中
で、問題が1点
デスクトップ上で>>768を実行すると上手くいきますが
別のウィンドウが立ち上がっているとアクティブウィンドウ上で>>758を走らせるだけなので失敗します
アクティブウィンドウがあるか?今現在デスクトップを表示しているのか?
を判定する術はありますでしょうか?



771 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 16:22:30.35 ]
If ws.AppActivate("program manager") Then

772 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 21:07:23.51 ]
レジストリ変えても反映されんな なんか方法ない?

773 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 21:22:38.81 ]
面倒だから、vc++にしちゃいなよ。
#include <Windows.h>

int main(int argc, char* argv[])
{
HWND hWnd;
BOOL status;
hWnd = FindWindow("ProgMan",NULL);
status = ShowWindow(hWnd,SW_HIDE);
if(!status){
ShowWindow(hWnd,SW_SHOW);
}

return 0;
}

774 名前:デフォルトの名無しさん mailto:sage [2011/09/09(金) 01:09:48.28 ]
thx!

775 名前:デフォルトの名無しさん mailto:sage [2011/09/09(金) 14:57:24.17 ]
「デスクトップアイコンの表示」を切り替える。
ttp://scripting.cocolog-nifty.com/blog/2011/09/post-fa65.html

776 名前:758 mailto:sage [2011/09/10(土) 00:03:58.12 ]
>>775
有難う御座いました。目的が達成できました。
ソース内容がさっぱり理解できないのでググッて勉強致します。
日付的に考えて、ここを見ている方のブログか、>>775様本人のブログだと思いますが、
フィード登録させて頂きました。シンプルで見易いし、
私の欲しい情報と色々マッチする良いブログだと思いました。

ご存知かとは思いますが、
ブログにはデスクトップにアイコン置くと戻せないと、ありますが、
デスクトップにショートカットキーを設定したショートカットアイコンを設置しておくと
気軽にアイコン表示/非表示切替ができますよ。

因みにWindows7でも問題なく動きました。


777 名前:デフォルトの名無しさん mailto:sage [2011/09/12(月) 12:51:06.81 ]
>>775
オブジェクトねぇよってエラーになる
Administratorじゃなきゃダメ?

778 名前:デフォルトの名無しさん mailto:sage [2011/09/13(火) 15:12:01.15 ]
D&Dされたファイルを、特定ディレクトリ下にあるファイル名と前方一致するディレクトリに移動させて
ディレクトリ名の末尾に付いてる数字を+1するスクリプトを書きたいんだがどうすればいいのか、何から学べばいいのか分からない。

779 名前:デフォルトの名無しさん mailto:sage [2011/09/13(火) 15:21:08.72 ]
VBScript
FileSystemObject

780 名前:デフォルトの名無しさん mailto:sage [2011/09/13(火) 22:42:03.47 ]
JScriptにしとけ



781 名前:デフォルトの名無しさん mailto:sage [2011/09/14(水) 20:47:13.58 ]
はーい

782 名前:デフォルトの名無しさん mailto:sage [2011/09/15(木) 23:35:50.18 ]
教えてください。
今、写真ファイルに適当な名前がついていて、
これのファイル名を、
写真ファイル右クリック→プロパティ→詳細
で進んだ先の「タイトル」と同じものに変更したいと思っています。
そこで、GetFileで写真ファイルのオブジェクトを作った後に
どのようなプロパティで「タイトル」を取得すればよいですか?
よろしくお願いします。

win7 homeです

783 名前:デフォルトの名無しさん mailto:sage [2011/09/16(金) 01:10:33.97 ]
FolderItem.ExtendedProperty("System.Title")


784 名前:デフォルトの名無しさん mailto:sage [2011/09/16(金) 20:28:47.97 ]
ありがとうございます。
試してみます。

785 名前:デフォルトの名無しさん mailto:sage [2011/09/23(金) 18:45:42.41 ]
糞仕様、来んな

786 名前:デフォルトの名無しさん mailto:sage [2011/09/28(水) 23:48:14.94 ]
>>785
何が糞仕様なん?

787 名前:デフォルトの名無しさん mailto:sage [2011/09/29(木) 04:26:24.31 ]
来なかったから気にせんでもええ

788 名前:デフォルトの名無しさん mailto:sage [2011/09/30(金) 02:07:35.36 ]
来たよ

789 名前:デフォルトの名無しさん mailto:sage [2011/10/04(火) 21:40:59.02 ]
こっちくんな

790 名前:デフォルトの名無しさん mailto:sage [2011/10/05(水) 02:48:43.15 ]




791 名前:デフォルトの名無しさん mailto:sage [2011/10/10(月) 14:52:27.46 ]
テキスト変換で行き詰まってるんだけど、
たとえば、あ→こ、こ→て、て→あ、って処理をやろうとすると、
全部巡り巡って「あ」になってしまう現象を防いで置換するにはどうすればいい?
処理する量が膨大故に、あ→つ といった一時待避方法は使わずにできれば…

792 名前:デフォルトの名無しさん mailto:sage [2011/10/10(月) 16:23:12.60 ]
replaceで分けてやるからだろ
regexpで一度にやればええだろ

793 名前:デフォルトの名無しさん mailto:sage [2011/10/10(月) 17:14:00.83 ]
ううむ…すみません、Replaceさえ使わずに置換してた上、正規表現が判らない…
ネット見ながら書き直してみたけど、思った通りに動かない…

794 名前:デフォルトの名無しさん mailto:sage [2011/10/10(月) 18:20:30.32 ]
text.replace('a|b|c|d','g',function(a)
{
var ans='';
switch(a)
{
case 'a' :
ans='A';break;
case 'b' :
ans='B';break;
・・・
default:
ans='baka';
}
return ans;
});

795 名前:794 mailto:sage [2011/10/10(月) 19:20:12.25 ]
コッチの方が簡単か。
var map=[];
map['a']='A';
map['b']='B';
text.replace('a|b','g',function(a){return map[a];});

796 名前:デフォルトの名無しさん mailto:sage [2011/10/11(火) 09:30:25.79 ]
tr/// みたいなのが JS にもあればなあ

797 名前:デフォルトの名無しさん mailto:sage [2011/10/12(水) 03:58:23.22 ]
あるよ

798 名前:デフォルトの名無しさん mailto:sage [2011/10/13(木) 18:21:32.26 ]
>>794-795
動かんが?

799 名前:デフォルトの名無しさん mailto:sage [2011/10/13(木) 20:27:43.50 ]
こうか
text.replace(/a|b/g, function(a){return map[a];})

800 名前:デフォルトの名無しさん mailto:sage [2011/10/13(木) 20:33:49.25 ]
>>798
>>795じゃないけど正規表現の書き方が間違ってるので勝手に修正
テストはしていない

//textに処理対象文字列
var map=[];
//['置換したい文字']='置換後文字';
map['a']='A';
map['b']='B';
//hogeに置換後文字列値
hoge=text.replace(/a|b/ig,function(a){return map[a];});




801 名前:795 mailto:sage [2011/10/13(木) 21:00:47.60 ]
>>798-800
ごめんね。
DMonkeyで使えるから、Jscriptでも使えると思っていた。


802 名前:デフォルトの名無しさん mailto:sage [2011/10/13(木) 21:41:35.95 ]
var map={a:'A',b:'B'};


803 名前:デフォルトの名無しさん mailto:sage [2011/10/13(木) 22:09:27.16 ]
>>801
ドンマイ
正規表現を複雑にせずに置換処理する連想配列を使うこの方法は個人的に好きです
改修も簡単だしね

804 名前:デフォルトの名無しさん mailto:sage [2011/10/13(木) 22:26:26.37 ]
vbscriptがほとんどでjscriptはあんまり使ってなかったけど
無名関数が使えるのか…知らなかったorz

805 名前:デフォルトの名無しさん mailto:sage [2011/10/13(木) 23:03:37.97 ]
ドキュメント読め
msdn.microsoft.com/ja-jp/library/cc391867.aspx
function(x){return x*x;} // 関数リテラルです。


806 名前:デフォルトの名無しさん mailto:sage [2011/10/18(火) 17:31:58.84 ]
すいません、質問なんですが、例えばURLが
www.atmarkit.co.jp/fwin2k/tutor/?????/cformwsh01_01.html
までしか分かってない場合でも、WSHから飛ぶことって出来ますか?

ちなみに?????はcformwsh01だったりするのですが
ここに規則性がなく分からない場合でも飛べるようになりたいと思っています。
可能であれば何かヒントを頂けると嬉しいです。

これからWSHを学んでいきたい初心者ですが、どうかよろしくお願いします。

807 名前:デフォルトの名無しさん mailto:sage [2011/10/18(火) 17:47:15.88 ]
WSH以外で飛べるならWSHでも飛べるんじゃないか

808 名前:デフォルトの名無しさん mailto:sage [2011/10/18(火) 17:56:36.85 ]
WSHの上に立って膝をゆっくり曲げて瞬間的に伸ばせ

809 名前:デフォルトの名無しさん mailto:sage [2011/10/18(火) 20:57:07.77 ]
?はだめだけどrun urlで飛ばないか?

810 名前:デフォルトの名無しさん mailto:sage [2011/10/18(火) 21:29:07.79 ]
>>806
スレ違い

もし一部不明でも飛ばしてくれるとしたら
飛ばすのはWSHではなくサーバーがやってるので
WSHスレで聞くべき内容じゃない



811 名前:デフォルトの名無しさん mailto:sage [2011/10/18(火) 22:10:43.82 ]
WSHから飛ぶことって出来ますか?
という質問はスレ違いじゃなかろう?

812 名前:デフォルトの名無しさん mailto:sage [2011/10/18(火) 23:54:40.20 ]
>>806
var hoge='';
//unique process
window.open('www.atmarkit.co.jp/fwin2k/tutor/'+hoge+'/cformwsh01_01.html','_self');

ユニーク処理はrandomでやるの?

813 名前:デフォルトの名無しさん mailto:sage [2011/10/19(水) 00:38:53.73 ]
方法としては、URL候補をまず調べ、その結果からワード検索してURLをリストアップし、順次実行。

URL候補は、分かっている部分からweb検索するといい。
(例 googleに対して、2つの検索ワード指定 www.atmarkit.co.jp/fwin2k/tutor cformwsh01_01するとか)

814 名前:デフォルトの名無しさん mailto:sage [2011/10/19(水) 00:58:23.06 ]
ユニーク処理って?


815 名前:デフォルトの名無しさん mailto:sage [2011/10/19(水) 03:58:10.09 ]
ここはブルートフォースで行きましょうか

816 名前:デフォルトの名無しさん mailto:sage [2011/10/19(水) 08:21:47.84 ]
>>815でやっと気付いた
結局、それ系がやりたいっぽいね
納得したわw
BFAよりレインボーテーブル使った処理のが早くない?
合わせ技が1番いいんだろうけどアルゴリズム云々でなく運だからなー

でも>>806読んだ感じidテーブルは入手済みで後は蓮だけっぽいね

817 名前:806 mailto:sage [2011/10/19(水) 17:57:12.32 ]
皆様ありがとうございました。紹介頂いた方法をいくつか試してみましたが
私にはまだスクリプトがしっかり書けていないためもあり
成功することが出来ませんでした。

しかし、どれも大変為になるレスばかりでしたので
何度も見直して調べてみようと思います。
まずはユニーク処理を頑張ってみます。どうもありがとうございました。







例えば?????を.*なんかの正規表現に出来るなら
もしくは、ホームページの仕組みが/というのがWindowsでいう\と同じ感じだったら
それをbatに当てはめて考えられないかなぁと思っていたんですが違うみたいですね。
例えばcformwsh01_01.htmlのURLが完全に分かっている場合にcformwsh01_02.htmlを探すとき
カレントディレクトリを1階層上げて、そこからcformwsh01_02.htmlを全てのフォルダで探して

しかし、実際はテーブルでしたりハッシュでしたり、そーいった概念とは違うのですね。
ほんと無知ですいません。並行してホームページの仕組みをjavascriptでjscriptと一緒に学んでいこうと思います。
どうもありがとうございました。


818 名前:806 mailto:sage [2011/10/19(水) 17:59:41.01 ]
すいません、改行で空いた下の文章なんですが
これは前に書き途中で削除し忘れた駄文になりますので、気にしないで下さい。
失礼しまいた。

819 名前:デフォルトの名無しさん mailto:sage [2011/10/19(水) 19:05:29.19 ]
>>817
batで正規表現は使えない
やるならjscriptかvbscript
てか、そもそも正規表現いらない
if文でやればいい
AだったらBかCか…をランダムに表示はできる
階層も関係なくできる


820 名前:デフォルトの名無しさん mailto:sage [2011/10/19(水) 19:10:15.39 ]
>>819
うそこくな findstr知らんあほか?



821 名前:デフォルトの名無しさん mailto:sage [2011/10/19(水) 19:51:50.69 ]
>>817
>例えばcformwsh01_01.htmlのURLが完全に分かっている場合にcformwsh01_02.htmlを探すとき
その方法で良いなら、cformwsh01_01.htmlのページにあるcformwsh01_02.htmlのリンクから飛ぶじゃ駄目なの?
まあ、俺はやり方分からないんであれだけど。

822 名前:806 mailto:sage [2011/10/19(水) 20:40:11.86 ]
>>819
>AだったらBかCか…をランダムに表示はできる
そのような方法もあるのですね。ありがとうございます、参考にしてみます。

>>821
それでも全然大丈夫です。その方法に気付きませんでした、ありがとうございます。

823 名前:806 mailto:sage [2011/10/19(水) 20:42:53.53 ]
WSHで入力したURLから、そのURL自体のスクリプト(ソースコードと呼べばよいのでしょうか?)を
展開するにはどうればよいのでしょうか?キーワードだけでも教えて頂けないでしょうか?

もしそれが可能であれば、例えば先の例でリンクはここにあったので
<body>
 <div id="main">
  <div id="centercol">
   <taable width=大きさ>
    <tbody>
     <tr>
      <td>
       <div align="right">
        <font size="2">
         Page1
         <a href="cformwsh01_02.html">Page2</a>
正規表現からここを検索して取得できるように頑張ります。
(ここがhttp;//から始まるURLになっている場合を想定しています)
(ここであればURLは完全に表示されれている場合を想定しています)

824 名前:デフォルトの名無しさん mailto:sage [2011/10/19(水) 21:11:32.03 ]
>>820
findstr使ったこと無いだろ…

あんなの正規表現もどきのワイルドカードだよ

825 名前:デフォルトの名無しさん mailto:sage [2011/10/19(水) 21:44:13.96 ]
ワイルドカードと正規表現の別もわからないのか?

826 名前:デフォルトの名無しさん mailto:sage [2011/10/19(水) 23:40:16.92 ]
>>820
正規表現知らない小僧は黙ってた方がいいぞw


827 名前:デフォルトの名無しさん mailto:sage [2011/10/19(水) 23:40:31.39 ]
お前正規表現が何かもわかってないでしょ

828 名前:デフォルトの名無しさん mailto:sage [2011/10/19(水) 23:53:52.87 ]
findstrのマッチングは正規表現を軽く齧った程度の代物で
例えばA又はBといった表現は出来ないし
行のどこにマッチしたかというようなことはわからんな。

829 名前:デフォルトの名無しさん mailto:sage [2011/10/19(水) 23:57:24.32 ]
>>823
もう突っ込みどころ多すぎるから少しは自分で調べて勉強しろ

>展開するにはどうればよいのでしょうか?
file:///c:\hoge.js
http:でやりたいならhttp:をfile:/で置換しろw

>もしそれが可能であれば、例えば先の例でリンクはここにあったので
何の話だよwもうエスパーでいくぞw
<a href="#" onclick="window.open('cformwsh01_02.html','_self')">Page2</a>

お前に正規表現はまだ早過ぎる
Jscriptの基本を勉強しろ

830 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 00:01:42.68 ]
>>827
否定論理和の否定の戻り読みはどうやんの?findstrでできんだろ?w
さっさとコード貼れよw




831 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 00:10:25.03 ]
秒単位で被ったけど>>827>>825へのレスだよ…

832 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 00:29:45.70 ]
>>831
そんな気はちょっとしてた
でも、レス番号なるべくいれようぜ

833 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 00:33:27.70 ]
>>831
あれ?>>825は正規表現とfindstrは別モノ
ワイルドカードは正規表現じゃねーよ派だろ
やっぱりお前は間違ってる

834 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 01:10:27.04 ]
ワイルドカードは正規表現のサブセットじゃねーよ おバカさん
どんな正規表現でもワイルドカードにはならんわ

835 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 04:57:20.27 ]
正規表現は、文字列のパターンを表現する表記法なので
ワイルドカードも正規表現
ところで、findstrはワイルドカードじゃないんだね?
www.k-tanaka.net/cmd/findstr.php
>>828
A又はBは出来るみたいだよ
findstr "test char" sample.txt //sample.txtの中から"test"もしくは"char"が含まれる行を表示する

836 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 08:04:17.56 ]
>>835
排他的論理和の否定戻り読みも書いてみて下さいね

837 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 08:24:41.02 ]
var hoge='hoge';

string type変数に値が入った瞬間、それは正規表現ですってバカかよw
そんな事誰も言ってねーだろw
>>820はstring型変数に値入れることを正規表現でやるって言うの?

838 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 11:07:05.56 ]
technet.microsoft.com/ja-jp/library/cc755405(WS.10).aspx
ヘルプには正規表現で検索するって書いてあるな
使えるパターン少ないけどww

839 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 12:59:22.00 ]
そもそもcmdってWSHなん?

840 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 17:37:21.63 ]
正規表現オタクはすれ違いだしうざいよ



841 名前:デフォルトの名無しさん [2011/10/20(木) 18:00:54.25 ]
>batで正規表現は使えない
>あんなの正規表現もどきのワイルドカードだよ
九州電力佐賀県知事執行役員みたいだな

842 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 20:55:47.22 ]
うん

843 名前:デフォルトの名無しさん mailto:sage [2011/10/20(木) 22:34:28.06 ]
否定戻り読みが無いと正規表現とは言わないっていう宗教にはまっているのだろう

844 名前:デフォルトの名無しさん mailto:sage [2011/10/21(金) 00:07:44.46 ]
宗教じゃないよ 粘着質由来の強迫神経症だろ

845 名前:デフォルトの名無しさん mailto:sage [2011/10/21(金) 08:19:56.60 ]
一般的にワイルドカード程度で正規表現なんて言わない
wordの検索もexcelの式もExplorerの検索も正規表現できるなんて言ったら笑われるぞ
そしてcmdはスレ違い

846 名前:デフォルトの名無しさん mailto:sage [2011/10/21(金) 08:30:42.81 ]
例えサブセットだろうと正規表現を使って検索するとMSは説明に明記してるんだから
単なるワイルドカードとは一線を画しておかなきゃね。

847 名前:デフォルトの名無しさん mailto:sage [2011/10/21(金) 11:57:39.84 ]
>>844
ニダ

848 名前:デフォルトの名無しさん mailto:sage [2011/10/21(金) 16:13:03.28 ]
>>845
Explorerの検索が正規表現だと誰か言ってるのか?
幻聴まで聞こえるのはやばいよ 悪いことは言わん 病院行けよ

849 名前:デフォルトの名無しさん [2011/10/22(土) 02:27:17.58 ]
うん

850 名前:デフォルトの名無しさん mailto:sage [2011/10/22(土) 17:01:32.86 ]
>>848
MSが間接的に言ってる
*でワイルドカード検索できるからね
それは正規表現でしょ?w



851 名前:デフォルトの名無しさん mailto:sage [2011/10/22(土) 17:22:23.69 ]
>>850
神が早く病院に行けって言ってないか?

852 名前:デフォルトの名無しさん mailto:sage [2011/10/22(土) 17:37:41.00 ]
もうどうしようもないレベル

853 名前:デフォルトの名無しさん mailto:sage [2011/10/22(土) 17:59:07.56 ]
>>799
VBSでは?

854 名前:デフォルトの名無しさん mailto:sage [2011/10/22(土) 18:17:15.96 ]
VBSなんぞ窓から投げ捨てろ

855 名前:デフォルトの名無しさん mailto:sage [2011/10/22(土) 18:18:49.01 ]
>>853
そういうことは知らない ワイルドカードと正規表現のことだけ聞いて

856 名前:デフォルトの名無しさん mailto:sage [2011/10/22(土) 18:22:39.71 ]
>>854
VBSを持って病院に行ったほうがいいよ

857 名前:デフォルトの名無しさん mailto:sage [2011/10/22(土) 20:46:58.88 ]
>>850
>MSが間接的に言ってる

どこで言ってるかURL教えて

858 名前:デフォルトの名無しさん mailto:sage [2011/10/22(土) 21:26:48.57 ]
ダイレクトにアタマの中で聞こえるだろ?

859 名前:デフォルトの名無しさん mailto:sage [2011/10/23(日) 15:40:37.61 ]
患者の主張は分裂してないか?
ワイルドカードは正規表現
findstrの正規表現はワイルドカード

860 名前:デフォルトの名無しさん mailto:sage [2011/10/23(日) 15:51:10.61 ]
うにぁ
1 findstrの正規表現はワイルドカード
2 ワイルドカードは正規表現
3 findstrの正規表現は正規表現
という三段論法かも



861 名前:デフォルトの名無しさん mailto:sage [2011/10/23(日) 16:30:59.08 ]
つーかVBAがVB6基調である限り、VBSも残るだろうな

862 名前:デフォルトの名無しさん mailto:sage [2011/10/23(日) 17:04:49.41 ]
>>861
つーかそれがどうしたってーの

863 名前:デフォルトの名無しさん mailto:sage [2011/10/23(日) 17:26:54.64 ]
なんか勘違いしてんだろ

864 名前:デフォルトの名無しさん mailto:sage [2011/10/23(日) 20:53:17.96 ]
>>857
technet.microsoft.com/ja-jp/library/cc755405(WS.10).aspx

865 名前:デフォルトの名無しさん mailto:sage [2011/10/23(日) 23:27:22.78 ]
正規表現は元々UNIXコマンドが発祥でPerlで発展して、他はそれ準拠ってうたったりしてるようなもんだから、MSでどーのこーのいってもしょうがない。

866 名前:デフォルトの名無しさん mailto:sage [2011/10/24(月) 00:16:56.92 ]
>>864
.がワイルドカードだって所の事か?

867 名前:デフォルトの名無しさん mailto:sage [2011/10/24(月) 08:10:30.16 ]
>>866
はい
Explorer.exeの検索も*がワイルドカードなのでMSKK的には正規表現
WordやExcelも同様

因みに私はこれらを正規表現と認めたくない派です

868 名前:デフォルトの名無しさん mailto:sage [2011/10/24(月) 10:46:52.48 ]
>>867
>>864のリンクはfinfstrの説明であり、そこには正規表現の説明で
*は「繰り返し : 直前の文字またはクラスのゼロ個以上」
とある。
これがワイルドカード(としての*の説明)だと思う人はいないだろう。

また、ページエクスプローラの検索では良いリンク先が見つからなかったが、
windows.microsoft.com/ja-JP/windows7/Advanced-tips-for-searching-in-Windows
ここでは、
  注
  任意の 1 文字を表すワイルドカードとして、疑問符 (?) を使用できます。
  また、任意の数の文字を表すワイルドカードとして、アスタリスク (*) を使用できます。
とあり、正規表現だとは言ってないし、
*の意味も上記のfindstrとは異なる。

869 名前:デフォルトの名無しさん mailto:sage [2011/10/24(月) 12:22:37.41 ]
>>867
おまいが、findstrで*をワイルドカードだと思って使ったら、
自分の思った動作をしないだろうし、その時はバグだとでも騒ぐ気なのかね?

また、word,excelの検索は独自でこれも正規表現とはMSは言ってないだろ。
まあ、検索オプションに[ワイルドカードを使用する(U)]というものは存在するがな。

870 名前:デフォルトの名無しさん mailto:sage [2011/10/24(月) 12:25:47.22 ]
>>868
なるほど
でもfindstrが正規表現ってのも何だかなー
Wordのトリッキーな検索も似非正規表現っぽいし

まぁWSHじゃないからスレ違いなんだけどねw



871 名前:デフォルトの名無しさん mailto:sage [2011/10/24(月) 12:47:11.58 ]
>>867
ワイルドカードを使って検索するにチェック入れといて何言ってんの君?

872 名前:デフォルトの名無しさん mailto:sage [2011/10/24(月) 13:04:29.14 ]
ワイルドカードを使って検索するー>ワイルドカードを使用する
だね

873 名前:デフォルトの名無しさん mailto:sage [2011/10/24(月) 16:58:28.87 ]
なあんだ直らない病気だったのか

874 名前:デフォルトの名無しさん mailto:sage [2011/10/24(月) 17:39:40.90 ]
>>848
幻聴じゃなくて幻視だろ
おまいこそ病院逝け

875 名前:デフォルトの名無しさん mailto:sage [2011/10/24(月) 18:00:21.79 ]
なに幻視が聞こえるのか?そりゃ大変だな

876 名前:デフォルトの名無しさん mailto:sage [2011/10/24(月) 18:01:13.07 ]
何言ってんの君?

まあ、「言う」じゃなくて「書く」だろとかのたまうんだろうな。

877 名前:デフォルトの名無しさん mailto:sage [2011/10/24(月) 18:08:48.31 ]
口が滑ったんじゃなく手が滑ったんだとか

878 名前:デフォルトの名無しさん mailto:sage [2011/10/24(月) 18:09:11.69 ]
正気表現でw

879 名前:デフォルトの名無しさん mailto:sage [2011/10/24(月) 19:31:25.64 ]
やめて!私のために争わないで!

880 名前:デフォルトの名無しさん mailto:sage [2011/10/24(月) 21:21:24.28 ]
正気狂言だろw



881 名前:デフォルトの名無しさん mailto:sage [2011/10/24(月) 23:36:57.71 ]
findstrが正規表現じゃないなら
grepとかも正規表現じゃないって事にならないか?
どっちも.の意味同じだよね

882 名前:デフォルトの名無しさん mailto:sage [2011/10/25(火) 00:07:56.96 ]
g/RE/p
edの作者が何の気なしに作ったg/正規表現/p
がちょー便利すぎるって外だしコマンドgrepになったのが正規表現の産声なんだよ。unixのmanに誇らしげに当時のストーリーが書いてある。
findstrはMS社員の劣化コピー。



883 名前:デフォルトの名無しさん mailto:sage [2011/10/25(火) 00:16:49.56 ]
findstrがあまりに機能が低くて正規表現と言いたくないというのは分かる。
が、それを根拠にエクスプローラの検索がワイルドカード指定できるからこれも正規表現だ
という主張は3段論法でも無ければ風が吹いたら桶屋がもうかるの論理でも無く、
あまりにも突飛すぎて誰もついていけない。

884 名前:デフォルトの名無しさん mailto:sage [2011/10/25(火) 00:24:18.05 ]
>>883
そう書くと、言葉通りに受け取って、誰もそんなこと言ってないぞ、とか言われるぞ。
まあ俺はバカじゃないからそんなことは言わないが。

885 名前:デフォルトの名無しさん mailto:sage [2011/10/25(火) 00:35:07.53 ]
否定戻り読みが無いと正規表現とは言わないなら
findstrだけじゃなくてVBSやJSのRegExpも正規表現じゃないって事になっちゃうんだが

886 名前:デフォルトの名無しさん mailto:sage [2011/10/25(火) 08:02:36.81 ]
>>883
Explorerのワイルドカードが正規表現でない根拠は?
正規表現とはある文字xで多種類文字列が取得できる表現の事だよ?
要は1:nの関係が成り立つ変数として確立できれば正規表現

887 名前:デフォルトの名無しさん mailto:sage [2011/10/25(火) 10:50:59.85 ]
>>886
じゃあfindstrも正規表現でいいよね

888 名前:デフォルトの名無しさん mailto:sage [2011/10/25(火) 17:20:11.35 ]
>>853

889 名前:デフォルトの名無しさん mailto:sage [2011/10/25(火) 18:44:44.14 ]
>>887
そうだね

890 名前:デフォルトの名無しさん mailto:sage [2011/10/25(火) 19:47:43.77 ]
どっかにAddToFavoriteみたいなAddToHistoryってなかったっけ?



891 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 00:53:14.24 ]
>>890
ie.navigate

892 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 07:35:26.31 ]
だれもWikipediaとかで調べてないのか?
*と(|)に相当する機能がない奴は正規表現じゃないだろ

893 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 08:20:50.75 ]
>>892
wikipediaなんて正式的じゃないし
正規表現の正確な決まりなんてない
言ったモン勝ち状態
正規表現はバズワード

894 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 08:54:07.01 ]
Microsoftは、findstrの検索は正規表現と言ってるが、explorerの検索を正規表現と言ってる記述は無い。
他人が正規表現をどう規定しよう(例えばPOSIX準拠とか、パターンを使ってればワイルドカードもOK)が
勝手ではあるが、少なくともMicrosoftはワイルドカードと正規表現は一緒にはしていないことは確か。

895 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 09:28:01.68 ]
>>892
>*と(|)に相当する機能がない奴は正規表現じゃないだろ

Wikipediaにはそんなこと書いてないぞ
ja.wikipedia.org/wiki/%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE

896 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 10:49:17.58 ]
横からレスすると、

一般化した形式言語理論での正規表現なら載ってるね。
1) Σのメンバーは正規表現である。
2) emptyは正規表現である。
3) X, Yが正規表現のとき、連接(X・Y)と合併(X+Y)とKleeneスター(X*)は正規表現である。
4) 以上の手順で得られるものだけが正規表現である。

2つの2項演算子と1つの単項演算子だが、実際はXY, X|Y, X*だから、
*と|の2つと言っても間違いじゃないよね。
で、findstrはこれに該当するわけで立派に正規表現と言えるし、
explorerの検索は該当しないので正規表現とは言えない。

というのが、>>892の主張だろう。

897 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 10:57:04.28 ]
補足
単項演算しKleeneスターは

1) V が文字列の集合であるとき、V* は、空文字列 ε を含み、文字列連結演算に
  閉じているような最小の集合と定義される。
  この集合は、別の書き方をすれば、V に含まれるゼロ個以上の文字列を連結して
  作ることができるような文字列の集合である。
2) V がシンボル・文字の集合であるとき、V* は、空文字列を含む V 上の
  あらゆる文字列の集合である。

一般化してモノイドMの2項演算子としても表せる。
1) (閉包)あらゆる a、b ∈ M に対し、a . b ∈ M
2) (結合法則)あらゆる a、b 、c ∈ M に対し、(a . b) . c = a . (b . c)
3) (単位元)ある ε ∈ M が存在して、あらゆる a ∈ M で a . ε = ε . a = a

898 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 15:52:17.79 ]
すれ違いうざいんだけどよそ行ってくれない

899 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 15:54:57.06 ]
HTAスレが過疎ってるから、やりたきゃ
hibari.2ch.net/test/read.cgi/tech/1220874815/
でやってくれ

900 名前:デフォルトの名無しさん mailto:sage [2011/10/27(木) 06:36:46.80 ]
ヒデー展開だな

スレ違いもそうだが、ここまで、完全に正しいことを言ってる奴が一人も居ないんだが、、、
HTAスレじゃなくて正規表現スレもあるんだから、どっちに行ってもいいが、ここで低レベルな
スレ違い話続けるのはやめてくれ



901 名前:デフォルトの名無しさん mailto:sage [2011/10/27(木) 08:08:29.22 ]
>>900
ことプログラム言語に関しての正規表現はバズワード

902 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 01:44:16.66 ]
訳が悪いんじゃね
Normal Expressionみたい
正規表現厨はabnormalだね

903 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 22:55:00.09 ]
sendKeysの逆ってできますか?
キー入力を常に監視して入力されたキーコードをgetしてテキストに出力したいです
ただ、ブラウザのwindow内でなくwindows上での全てのキー入力を取得したいです


904 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 23:25:45.11 ]
何をタクラマカン砂漠

905 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 23:35:15.14 ]
できますよ

906 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 02:37:35.11 ]
>>905
wshじゃムリ


907 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 02:46:22.94 ]
正規表現を使えばできるのでは?

908 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 19:25:16.39 ]
ワイルドカードじゃむりぽ?

909 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 21:27:58.79 ]
>>503
wshではないけど、AutoHotkeyというソフトをつかえばできそう。
調べてみては?

AutoHotkey スレッド part13
hibari.2ch.net/test/read.cgi/software/1317156599/l50

910 名前:デフォルトの名無しさん mailto:sage [2011/11/06(日) 12:04:20.50 ]
>>905
教えて下さい



911 名前:デフォルトの名無しさん mailto:sage [2011/11/06(日) 16:03:56.30 ]
やなこった

912 名前:デフォルトの名無しさん mailto:sage [2011/11/06(日) 16:10:50.66 ]
まずふくをぬぎます

913 名前:デフォルトの名無しさん mailto:sage [2011/11/06(日) 17:34:53.06 ]
頭悪いとそういうのが面白いものかね?

914 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 16:05:03.36 ]
馬鹿には無理

915 名前:デフォルトの名無しさん mailto:sage [2011/11/08(火) 21:22:22.15 ]
頭悪いとそういうのが面白いものかね?

916 名前:デフォルトの名無しさん mailto:sage [2011/11/09(水) 18:03:04.50 ]
面白い

917 名前:デフォルトの名無しさん mailto:sage [2011/11/10(木) 05:17:44.11 ]
頭悪い

918 名前:デフォルトの名無しさん mailto:sage [2011/11/10(木) 17:15:50.23 ]
あくい

919 名前:デフォルトの名無しさん [2011/12/15(木) 14:36:06.47 ]
vbsのOPTION EXPLICITってクラスメソッド内だと機能してない
気がするけど気のせい?

920 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 18:24:34.27 ]
どんまい



921 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 14:49:44.08 ]
気のせい

922 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 11:40:47.27 ]
木の精

923 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 23:01:46.32 ]
メチルアルコール?

924 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 07:37:59.43 ]
ちょっとスレチを承知だけど、質問させてください。

DynamicWrapper をこれまでWinXP 32bit で使ってきてたけど、
Win7 64bit に変えたら、dllの登録時にエラーが出てしまう。
(いま、出先の携帯からのカキコでエラー番号とか失念)

ググっても、英語の質問掲示板とかで、同症状の質問が見つかるだけで
回答がない。

DynamicWrapperなんて、もはやユーザー少ないのかしら。


925 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 08:05:43.86 ]
DynamicWrapperは知らないけど、この辺意識してる?
maggothand.at.webry.info/200907/article_2.html


926 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 09:01:30.26 ]
単に管理者権限がないだけじゃねーの
UAC

927 名前:924 mailto:sage [2012/01/25(水) 20:51:05.87 ]
>>925, >>926 レスありがとうございます。


>regsvr32 dynwrap.dll

「モジュール "dynwrap.dll" は読み込まれましたが、
DllRegisterServerへの呼び出しはエラーコード
0x80040201 により失敗しました。.... 」
とのエラーが出ていました。

>>925 さん紹介URLのように、
%WINDIR%\SysWOW64\Regsvr32.exe
して見ましたが、上記と同じエラーが出てダメでした。

>>926 さんご指摘に従って、
管理者権限で実行したコマンドプロンプトで実行
(>regsvr32 dynwrap.dll)
したところ、無事に登録ができました。





928 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 01:45:27.16 ]
WSHって息してる?今はじめて存在知ったんだけど。実はちょー便利だったりするの?

929 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 05:15:53.34 ]
コマンドプロンプトやBATが使えない人にとっては無用の長物であることには違いが無いさ

930 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 12:26:44.53 ]
長物って。別に何も邪魔になっとらんやろ



931 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 11:12:44.50 ]
WSHには、スクリプトウィルス実行ホストという役目もあるから
使わない人にとっては正に無用の長物じゃね?

932 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 18:46:25.68 ]
おまえの話が一番無用の長物じゃね?

933 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 02:04:19.31 ]
最近はパワシェル使うことが多くなった

934 名前:デフォルトの名無しさん [2012/02/03(金) 21:32:04.88 ]
powershellってまただいぶ違ってたりするの?

935 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 17:06:58.56 ]
にたようなもん

936 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 19:43:27.91 ]
PowerShellはWSHと機能性だけ比較すれば優位だが
他の言語や開発環境まで視野に入れていろんなコストなども含めて総合的に判断すると
ほとんど存在価値が無くなってしまう
俺も一通り使ったけどPowerShell使うのは無駄以外の何物でもないと気付いて使わなくなった

937 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 20:31:38.04 ]
>>928
たとえば、Microsoft Officeで作業する場所で、
C++, C#などの開発環境をインストールしてはならない場合でも、
WSHならインストールされてるからつかえる(VBAもつかえるだろう)

938 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 20:41:23.07 ]
>>937
そんな意味でも特別な許可設定しないとスクリプトをダブルクリックで動かすことすらできない PowerShell はダメだな
能力はあるのに

939 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 02:36:46.32 ]
>>937
普通に入っているが?

940 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 02:59:57.56 ]
>>939
何を勘違いしてるの?



941 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 14:10:11.58 ]
PowerShell、Windows 7からはOS標準になってる。
perlやrubyみたいな他のスクリプト言語に比べたら大きなアドバンテージだけど
デフォルトで実行許可されてないのが痛い。痛すぎる

942 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 14:38:59.17 ]
>>940
csc,vbc,jscが普通に入ってるの知らないんだwww

943 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 14:58:34.06 ]
実行ポリシー変えられるときは変えてるし、できない時は
スクリプトを読み込んでeval(Invoke-Expression)しちゃえばいいから、
まあそこまで困ってはいない

944 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 18:31:24.57 ]
サクラエディタでWSHをマクロとして使えることに気づいた
こんな感じにいろんなソフトがマクロとして使ってるのかな

945 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 21:34:29.73 ]
>>942
なるほど、そういう方向の勘違いか

946 名前:デフォルトの名無しさん mailto:sage [2012/02/07(火) 01:19:27.07 ]
>>945
なるほど、そういう方向の○違いか

947 名前:デフォルトの名無しさん mailto:sage [2012/02/07(火) 04:50:00.92 ]
悔し紛れのオウム返し

948 名前:デフォルトの名無しさん mailto:sage [2012/02/07(火) 17:05:21.20 ]
悔し紛れの言い張り返し

949 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 00:31:47.76 ]
Windows XP, Office 2003の職場めずらしくないでしょ

950 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 18:46:05.52 ]
なるほど、そういう方向の勘違いか



951 名前:デフォルトの名無しさん mailto:sage [2012/02/17(金) 01:24:42.12 ]
プログラムを実行させる時、
プロセス1とプロセス2は終了を待つことなく同時に実行し、
プロセス1とプロセス2が両方とも終了したらプロセス3に移行するにはどう書けばいいですか?



952 名前:デフォルトの名無しさん mailto:sage [2012/02/17(金) 03:39:30.95 ]
exec
exec
do while .state
loop
exec

953 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 13:26:46.30 ]
msdn.microsoft.com/ja-jp/library/cc364410.aspx

954 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 14:10:58.44 ]
popup出しつつ、ステートメントは次へ行くことって出来ますか?
runにはあるのに。

955 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 15:02:18.54 ]
Popupを出すスクリプトをRunで呼び出す

956 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 15:04:14.61 ]
>>954
shell = new ActiveXObject("WScript.Shell")
shell.Popup("hello")

とだけ書かれたスクリプトを
shell.Run("wscript msg.js")
みたいに呼べばいい

957 名前:956 mailto:sage [2012/02/18(土) 15:05:10.21 ]
かぶった

958 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 15:09:02.93 ]
>>955
ありがとうございました。


959 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 15:20:28.10 ]
お礼をいい損ねてた
>>956氏もありあとう

960 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 19:59:58.73 ]
ttp://scripting.cocolog-nifty.com/blog/2007/09/wsh_fc58.html




961 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 17:54:11.66 ]
runじゃ閉じれないが?

962 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 18:54:49.91 ]
んじゃexec

963 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/04(水) 13:37:50.79 ]
WshShortcutではマイコンピュータなどのショートカットは扱えませんか?
ショートカットからTargetPathなどを取り出してShellExecuteExに渡すことを目的としています。

964 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/04(水) 22:50:42.05 ]
どうなる?
駄目ならshell.applicationのfolderitem.getlink使え

965 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/05(木) 10:07:14.88 ]
ありがとうございます。

folderitem.getlink.target.pathでマイコンピュータとマイネットワークのショートカットから
"::{GUID}" という形式のターゲットパスが得られました。
これをShellExecuteExに渡すと、開けました。

スタートメニューのファイル名を指定して実行でも使えるけど
ショートカットのプロパティのリンク先には入れられないのが謎です。

コントロールパネル項目なんかのショートカットは取得できなかったので
これは別に探してみようと思います。

966 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/06(金) 16:04:14.88 ]
>スタートメニューのファイル名を指定して実行でも使えるけど
>ショートカットのプロパティのリンク先には入れられないのが謎です。

GUIが撥ねてるだけで、WshShortcutなら入る

>コントロールパネル項目なんかのショートカットは取得できなかったので
>これは別に探してみようと思います。

レジストリをshellfolderで検索

967 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 08:48:15.44 ]
ありがとうございます。

>GUIが撥ねてるだけで、WshShortcutなら入る
WshShortcutで取得できないものの、Saveはできるようですね。

>レジストリをshellfolderで検索
こちらは、クラスIDを知るのが目的ではなく、ショートカットファイルから
取得するのが目的です。
target.pathが空白なので、検索しようがありませんでした。

968 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 00:14:44.19 ]
なんでそんな必要があるのかわからんが必要なら.lnkのフォーマットをadodb.streamでバイナリで見て取り出せば?






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<210KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef