06/12/13 17:48:44 5aDfYNEq
>>310
ありがとうございました!標準オプションなら↓だけで行けますね。
objApp.ActiveSheet.Range("A1").Replace <検索文字列>, <置換文字列>
後は各シートでコレを実行させました。十分実用に耐えるスピードです。
312:名無し~3.EXE
06/12/13 22:14:37 hw3Bn7Em
IEから右クリックで動作させるスクリプトなんですが、
その右クリックされた場所にある画像のURL(リンクではなくIMGタグ)
を取得するにはどうすればいいでしょうか?
313:名無し~3.EXE
06/12/13 22:49:12 qNFDZs3m
external.menuArguments.document.elementFromPoint(external.menuArguments.event.clientX, external.menuArguments.event.clientY).href
らしい。Irvine のスクリプトによると。
314:312
06/12/14 00:28:11 7FtNx5qL
>>313
ありがとうございます
315:名無し~3.EXE
06/12/14 00:29:42 DjAdsCMN
InternetExplorer.Applicationとかの情報ってWSHのリファレンスに
のってないけど、どっから情報獲ってくるんだ?
316:名無し~3.EXE
06/12/14 00:42:56 WjQ1wjr4
IE オブジェクトなら MSDN にいくらでもあるっしょ
317:名無し~3.EXE
06/12/14 01:39:10 XilSwh1W
>>315
つ OLEView.exe
318:名無し~3.EXE
06/12/17 09:32:44 A0dC8xU5
以下のようにした場合、メッセージボックス(?)が表示される前に
コマンドプロンプト・ウインドウが表示されるのですが、結果の
メッセージだけを表示させるにはどうすれば… ?
Set objWshShell = WScript.CreateObject("WScript.Shell")
Set objExecCmd = objWshShell.Exec("ruby\bin\ruby -Ks search.rb")
WScript.Echo "検索結果:" & objExecCmd.StdOut.ReadAll
319:名無し~3.EXE
06/12/17 11:44:36 H95I1sD8
rubyw.exe
320:名無し~3.EXE
06/12/17 14:04:16 A0dC8xU5
>>319 ギガ㌧㌧㌧!
321:スレッドを超えたコテハン
06/12/17 15:02:58 EP+mDiGm
WSCの場合は、プロパティで定数を公開して、wsc.nameで定数を参照したほうが、
衝突の心配がないし、WSFだけでなく、VBSやJSでも使えてよさそうですが、
もし、nameだけで、参照したいときは、WSC側でreferenceメソッド作って、
function reference(Me){
Me['xxx']=111;
Me['yyy']=222;
}
VBS側で
wsc.reference me
WScript.Echo xxx
JS側で
wsc.reference(this);
WScript.Echo(xxx);
とすれば、WSFだけでなく、VBSやJSからも使えます。
322:名無し~3.EXE
06/12/18 14:59:23 P40MScLH
WSHでIEオブジェクトを作成してそれのProcessIDを取得する方法を教えて欲しいのですが。
今は下記の手順でブラウザにキー送信をしていますが、「タイトルの文字列」が変更した場合には通用しません。
なので、ProcessID指定で確実にSendKeysをしたいのです。
InternetExplorer.Application + ProcessIDでぐぐっても見つけられませんでした。
よろしくお願いします。
Set IE = WScript.CreateObject("InternetExplorer.Application","IE_")
Set sShell = WScript.CreateObject("WScript.Shell")
sShell.AppActivate("ブラウザのwebページのタイトル文字列")
sShell.SendKeys "ほげほげ"
参考にしたページ
URLリンク(www.atmarkit.co.jp)
> 一方のプロセスIDは、Execを使って起動したプログラムでは、WshScriptExecオブジェクトのProcessIDプロパティから取得できる。
323:名無し~3.EXE
06/12/19 21:38:05 4I7Im65l
マルチするならせめて一言断り入れとけよ。あとリンク。
つか IE オブジェクト使うなら大凡の操作は可能だと思うのだが。わざわざ SendKeys 使わんでも。
324:名無し~3.EXE
06/12/20 02:32:54 mM03wtmE
>>323
ファイルの指定したいんじゃないかな?
予想だけど。
>>322
<input type="file">以外の入力をしたいのなら、SendKeysなんて不安定なもの使わなくても
Document.Allで取得したHTML要素のオブジェクトを直接操作できるよ。
DHTML関係で調べると情報が見つかると思う。
<input type="file">だけはセキュリティだか何だかで値を設定できないから仕方ないけど。
325:名無し~3.EXE
06/12/20 10:45:02 RqDSiDAq
>>324
そうです。
SendKeys "%(FA)"とかでセーブしたり印刷などダイアログ操作もしたいんです。
326:名無し~3.EXE
06/12/20 13:00:07 mrdk27Jg
>>322
WMI を使う。
URLリンク(www.microsoft.com)
327:名無し~3.EXE
06/12/20 14:15:14 RqDSiDAq
>>326
ありがとうございます。
IEが複数起動してた場合や別プロセスにチェックあった場合とかで試してレポートしますね。
328:名無し~3.EXE
06/12/20 19:15:52 AUSJGC40
あっちのスレで質問に答えてる人が、こっちのスレを見たらどう思うだろうね。逆はどうだろう。
マルチするやつは、想像力のかけらもない、人を思いやる事のできない、最低の人種。
329:名無し~3.EXE
06/12/20 21:56:05 hALWCcKZ
痛い人はっけん伝
330:スレッドを超えたコテハン
06/12/21 00:13:52 Agf2Nj7H
>>328
というか、マルチの問題は、回答者の善意が無駄に捨てられていることだと思う。
そして、それが、本人より、それを見ているひとを刺激するのだと思う。
331:名無し~3.EXE
06/12/22 15:58:35 JvRzts1c
パワーポイントに画像
1.jpg 2.jpg...
を並べて貼るのって自動化できないの?
332:名無し~3.EXE
06/12/22 23:04:54 jt8/BZlk
マクロ書けばいいんじゃないのか?
333:名無し~3.EXE
06/12/23 12:28:39 0ryoXlyK
html で書いて読み込みとか
334:名無し~3.EXE
06/12/23 14:14:29 N/gLsGdS
SendKeys()は?
335:名無し~3.EXE
06/12/26 16:17:49 MwEmWwE0
>>103
つ subst
336:名無し~3.EXE
06/12/26 19:21:31 YnXAl3Sk
質問させて下さい。
var obFS,obFOL,colFile;
var timestamp = "";
obFS = WScript.CreateObject("Scripting.FileSystemObject");
obFOL = obFS.GetFolder("f:\\");
colFile = obFOL.Files;
var x = new Enumerator(colFILE);
for(; !x.atEnd(); x.moveNext()){
timestamp = x.item().DateCreated
}
というコードを実行すると、
timestampに"Wed Nov 29 19:35:35 UTC+0900 2006"というようなのが返ってくるのですが、
ここからyyyymmddという形式の文字列を取り出すにはどうしたらよいのでしょうか。
337:名無し~3.EXE
06/12/26 19:23:16 YnXAl3Sk
↑環境はXPSP2、Windows Script5.6です。
338:名無し~3.EXE
06/12/26 19:55:35 TReychuT
>>336
Dateオブジェクトの扱い方について学びましょう。
リファレンスにも載ってますよ。
339:名無し~3.EXE
06/12/26 19:57:26 YnXAl3Sk
>338
var timestamp = new Date(x.item().DateCreated);
ですね。いろいろいじっていたら閃きました。
340:名無し~3.EXE
06/12/27 01:45:26 uErdji5h
既に開いてある IE のウィンドウのオブジェクトを、
子ウィンドウかどうかに関係なく所得するにはどうしたらいいでしょうか?
341:名無し~3.EXE
06/12/27 11:51:57 lsopXQRq
>>340
Set IEShell = CreateObject("Shell.Application")
num = IEShell.Windows.Count
For i = 0 to num - 1
WinName = IEShell.Windows.Item(i).LocationName
WinPath = IEShell.Windows.Item(i).LocationURL
Document.write "<tr><td>" & WinName & "</td>"
Document.write "<td>" & WinPath & "</td></tr>"
Next
こんなんでどお?
342:名無し~3.EXE
06/12/27 18:21:28 Z9+O0XhD
>>327
レポートはどうしたんだろう?
343:名無し~3.EXE
07/01/04 09:48:15 pQA4Aeed
少し前に、vbscriptをコンソール実行するのにcscript.exeに関連付けした.vbcというのを用意するという話があったけど
これと同じように.wsfのコンソール実行版として.csfをcscript.exeに関連付けしたいんだけど、どうしたらいい?
単純に%SystemRoot%\System32\cscript.exe "%1" %*じゃエラーになるし、//Eに何を指定したら良いのか解らずお手上げ状態
wsfにはcscript.exeも関連付けされてるが、右クリックメニューからの選択は煩わしいのでvbcみたいに既定関連付けにしたいし
cscript.exeで実行し直すスクリプト(>>294のvbs版のようなもの)を書いてみたりもしたけど、やはり関連付けしちゃったほうがスッキリするので
344:名無し~3.EXE
07/01/05 11:38:36 IRXk0L1E
普通に%SystemRoot%\System32\CScript.exe "%1" %*でいけるだろ?
ちゃんとREG_EXPAND_SZにしてるか?
345:名無し~3.EXE
07/01/06 22:39:45 5TwI70x6
>>344
.wsfをcscript.exeに関連付けするんじゃなくて.csf(独自拡張子)をcscript.exeに関連付けする場合ですよ
本当に%SystemRoot%\System32\CScript.exe "%1" %*でスクリプトとして実行される?
こちらはちゃんとREG_EXPAND_SZにしてるし、cscript.exeやwscript.exeに直接D&Dしても同じメッセージが出るので
パスはきちんと通ってるし、コマンドも渡ってる
346:名無し~3.EXE
07/01/07 02:58:46 Jlib32pI
>>345
D&Dならこれじゃないの。
[HKEY_CLASSES_ROOT\WSFFile\ShellEx\DropHandler]
@="{60254CA5-953B-11CF-8C96-00AA00B8708C}"
しかし、cscriptでD&Dとはこれ如何に…
347:名無し~3.EXE
07/01/07 06:47:22 bXPc+IQY
>>343
うちもエラーが出る。メッセージは↓だろ。
> ファイル拡張子 ".csf" を持つスクリプト エンジンはありません。
解決方法はわからん。
>>346
スクリプトファイルにD&Dしたいんじゃなくて、
「スクリプトエンジンにD&Dしても同じエラーが出るから
関連付けのパスは間違ってないですよ」ってことだろ。
348:名無し~3.EXE
07/01/07 14:19:39 sB9LNE5a
画像の容量やサイズを取得しJavaScriptで利用するにはどうしたらいいですか?
349:名無し~3.EXE
07/01/07 14:30:59 zkbC9oLK
>>348
>>3の doodle とか使えるんじゃない
350:名無し~3.EXE
07/01/07 17:31:26 F4E+azH/
'標準的なJPEGファイルの画像サイズ取得
GetJpegSize "sample.jpg", x, y
WScript.Echo "X=" & x & " Y=" & y
Function GetJpegSize(filename, ByRef x, ByRef y)
Set oStrm = CreateObject("ADODB.Stream")
oStrm.Open
oStrm.Type = 1 'adTypeBinary
oStrm.LoadFromFile filename
Do While (CvNum(oStrm.Read(1)) = &hFF)
Select Case CvNum(oStrm.Read(1))
Case &hD8 'SOI
Case &hD9 'EOI
Exit Do
Case &hC0 'SOF0
length = CvNum(oStrm.Read(2))
oStrm.Read(1)
y = CvNum(oStrm.Read(2))
x = CvNum(oStrm.Read(2))
Exit Do
Case &hDA 'SOS
Exit Do
Case Else
length = CvNum(oStrm.Read(2))
oStrm.Read(length - 2)
End Select
Loop
End Function
Function CvNum(bstr) ' BigEndian
For i = 1 To LenB(bstr)
CvNum = CvNum * 256 + AscB(MidB(bstr, i, 1))
Next
End Function
351:名無し~3.EXE
07/01/07 18:57:51 v/viW2rY
>>346
DropHandlerは既に設定してあるけど、問題はそこじゃないので
>>347
エラーメッセージはそれです
cscript.exe /?を見ても、//Eオプションの意味は書いてあるんだけど//Eオプションに設定出来る値とかは書いてないんだよね
.wsf形式は固定エンジンじゃないけど.vbcも//E無しで関連付けすると同じエラーが出て//E:VBSを付けると解決するから
これも//Eで解決しそうな気もするんだけど
352:名無し~3.EXE
07/01/17 20:07:13 0sN+rIEb
(・∀・∀・)
(・∀・)サテオシゴト・・・ ε三三三三(; ・∀・)鯖マデオツカイ
HTTP/1.1 304 Not Modified
( ・∀・)(・∀・ )オツカイオワリ 三三三三3
(・∀・∀・)
( ´∀`) 誰も書いてないよ
(・∀・)カンリョウ!!
353:名無し~3.EXE
07/01/19 16:29:22 e+OFGk5J
下のコードでVistaのファイルのプロパティ調べてみたら
266もあって笑った。
2000/XPだと40もなかったのに
--------------------------------
var WshShell = new ActiveXObject("WScript.Shell");
var oShell = new ActiveXObject("Shell.Application");
var oFol = oShell.NameSpace( "C:\\" );
var str= "";
for( var i = 0; i < 300; i++ )
{
str += i + ":" + oFol.GetDetailsOf( null, i ) + "\n";
}
WshShell.Popup( str );
354:名無し~3.EXE
07/01/19 18:26:35 QaLFoFFk
WSFはデフォルトをCScript.exeにする。
WScript.exeで動かしたいときは、ショートカット(.lnk)を作って
リンク先の頭にWScript.exeを入れる。
355:名無し~3.EXE
07/01/19 18:56:22 QaLFoFFk
>>348
>>356の要領で26,27,28がサイズ
356:名無し~3.EXE
07/01/19 18:58:08 QaLFoFFk
訂正
>>353の要領で26,27,28がサイズ
357:名無し~3.EXE
07/01/20 00:20:12 GPpR1ytY
>>353の
207:雰囲気
なんじゃこりゃ
358:名無し~3.EXE
07/01/20 02:42:29 ETgywjVO
envionment を直訳したのか?
359:名無し~3.EXE
07/01/20 12:57:54 N7R7pz3V
envionment (なぜか翻訳できない)
360:名無し~3.EXE
07/01/20 14:38:04 UE2i8MKk
//E:のエンジン名は可変だから、
ハードコーディングのcscript /?に書いてある訳ないわな
ヘルプぐらいででわざわざレジストリを検索するのも面倒だし
361:名無し~3.EXE
07/01/20 15:25:54 UE2i8MKk
>>359
ぐぐれ
362:名無し~3.EXE
07/01/20 16:16:36 XJ4mGjq5
>>359
つ r
363:Jscriptで
07/01/20 17:23:56 5Xd7S+Ct
Excel のブック中に、4月~3月のシート名を持つワークシートがあり、
各シート名内の数字が全角か半角かはあやしいものとする。
セルA6から下方方向に半角数字で日付が記入してあり
対応する日の’C'から'G'のセルに行事予定が記入してある。
今日も含めて3日分の予定を WScript.Echo で表示する。
エクセル.xls ファイルとJscript.js ファイルは、d:\1 フォルダ内に置く。
という条件で、とりあえず動くものを作りましたが、
ここを直した方がスクリプトが簡素になるよとか、
「今日も含めて3日」間が、月の境界の場合は無視しているので
その処理のアイデアとか
コメントを下さい。
URLリンク(a-draw.com)
364:名無し~3.EXE
07/01/20 20:34:48 8DNLMKa6
JScript使い始めて2日目のおいらが、勉強がてらリファレンス読みながら調べたことを書いてみる。
var XLS_FILE = WScript.ScriptFullName.replace(/\\[^\\]+$/, "\\sample.xls");
にすれば"d:\1"以外でも、同一ディレクトリにsample.xlsがあれば動く。
曜日はyday = "日月火水木金土".charAt(yday)の1行で済む。
正規表現使って(reはmonthから"^(?:10|10)月$"のようなパターンを作る)
for(; !sub1.atEnd(); sub1.moveNext()){
if (sub1.item().Name.match(re) != null){
sh = sub1.item();
break;
}
}
という感じで対象シートを変数に取得しておけば、
while(sumSheatnc.indexOf("1")>-1){ ~ sumSheatnc.indexOf("月"+month +"月")+1))).Select;
の約50行は不要だし
ExcelApp.ActiveWorkBook.ActiveSheet.Cells(i,3) を
sh.Cells(i,3) と書ける。
半角数字はcharCodeAt+65248をfromCharCodeすれば全角数字になる
更に
if (ExcelApp.ActiveWorkBook.ActiveSheet.Cells(i,3)>"") event+= ExcelApp.ActiveWorkBook.ActiveSheet.Cells(i,3)+" ";
以下の5行に相当するものが
event = new VBArray(sh.Range(sh.Cells(i,3),sh.Cells(i,7)).Value).toArray().join("\t").replace(/\t+/, " ");
の1行で書ける。(join(" ")でもいいと思うけど)
月越えの処理は、「2007年month月date+1or+2日」のgetMonthがmonthより大きければ次のシートに移る処理を書けば良いのでは?
2007/2/28の場合なら、2007/2/30を指定すれば2007/3/2を返すから、末日が何日かとか考えなくても月を越えたかどうか判断できる。
次のシートはWorksheets(sh.Index+1)って感じで取得すればいい。末尾シートの場合の例外処理をお忘れなく。
365:名無し~3.EXE
07/01/20 23:24:24 slWIhDIN
Excel上にVBAで書いたモジュールを
jsやvbsから呼び出す方法ってあるんですかね?
ぐぐってみたんですけど、わからんのですorz
366:名無し~3.EXE
07/01/20 23:42:48 Lkiodn1p
ネット中毒なっている若者はオナニーでもしておれ!!
367:名無し~3.EXE
07/01/21 14:39:38 fTYEC1jK
>>365
kwsk
368:名無し~3.EXE
07/01/21 16:02:19 ilBf4mqg
>>364
ありがとうございます。参考にさせて頂きます。
正規表現のところは、こちらの能力の限界で、今分かっても数ヶ月のちには屁理屈を忘れてしまいそうなので
ブラックボックスのまま置いておくか、wsh HELP ページや参考となるところのURL までコメントとして詳しく書き入れるか
どうしよう。
ここも人が少なくなりましたね。サンプルソースコードは、2,3日後には消しますね。
でわ。
369:名無し~3.EXE
07/01/21 16:11:18 eMwqitJ2
>>365
URLリンク(www.vector.co.jp)
とか参考にならん?
370:365
07/01/22 00:19:18 o8eRiI+8
>>369
返信ありがとうございます。
なんとか解決できないだろうかと、
会社の帰りに本屋でExcelマクロの本を読み漁って、
Application.run ってのが探してたものだとわかりました。
お手数おかけしました。
371:名無し~3.EXE
07/01/23 01:49:09 15EbuWWs
回避策はわかったのですが、
どなたか知っていたら教えてください。
<やりたい事>レジストリの値名が\から始まっているデータをRegReadで取得する方法
<環境>WinXP SP2 Pro/WSH5.6
<例>キー[HKLM\HARDWARE\DEVICEMAP\SERIALCOMM]
値名 \Device\Serial0
データ COM1
この場合は、「COM1」を取得したい
<やった事>RegReadで簡単に取得できるだろうと思ったのですが、全然取れませんでした。
<回避策>reg.exeからはデータの取得が可能
Set objWSH = WScript.CreateObject("WScript.Shell")
'RegReadで取得失敗した例
'WScript.Echo objWSH.RegRead("HKLM\HARDWARE\DEVICEMAP\SERIALCOMM\\\Device\\Serial0")
'WScript.Echo objWSH.RegRead("HKLM\HARDWARE\DEVICEMAP\SERIALCOMM\\\Device\Serial0")
'WScript.Echo objWSH.RegRead("HKLM\HARDWARE\DEVICEMAP\SERIALCOMM\\Device\\Serial0")
'WScript.Echo objWSH.RegRead("HKLM\HARDWARE\DEVICEMAP\SERIALCOMM\\Device\Serial0")
'WScript.Echo objWSH.RegRead("HKLM\HARDWARE\DEVICEMAP\SERIALCOMM\Device\Serial0")
'回避策
WScript.Echo objWSH.Exec("reg query HKLM\HARDWARE\DEVICEMAP\SERIALCOMM /v \Device\Serial0")
372:名無し~3.EXE
07/01/23 01:51:52 dZzOJZ4W
\は全部\\にしろ
373:名無し~3.EXE
07/01/23 02:01:31 4m7yBxl6
自己解決能力低すぎ
ぐぐればわかるだろうに
374:371
07/01/23 02:26:27 15EbuWWs
>>372
\でエスケープしてみたがダメだった。
値名が\以外なら、アッサリ取得できるのだが・・・
WScript.Echo objWSH.RegRead("HKLM\\HARDWARE\\DEVICEMAP\\SERIALCOMM\\\Device\\Serial0")
WScript.Echo objWSH.RegRead("HKLM\\HARDWARE\\DEVICEMAP\\SERIALCOMM\\Device\\Serial0")
>>373
すまん。ぐぐってもRegReadで取得する方法がわからかった。
WMIでならやれそうな気もするが、教えてくれまいか
375:名無し~3.EXE
07/01/23 02:53:05 rRUN1PnK
ググれば解ることとはいえ、\のエスケープ方法はMSDNやダウンロード版ドキュメントのRegRead項目にに書いておくべきだよな。
でもRegReadでの\のエスケープを覚えておくより、WMIの扱いを覚えていた方が身になるぞ。
\のエスケープは「可能なこと」だが、WScript.Shellのレジストリ操作はそれ以外に「不可能なこと」が多すぎる。
「不可能なこと」に直面したときにあたふたするよりは、WScript.ShellのRegRead、RegWrite、RegDeleteで出来ることも
全てWMIでやるようにしておいた方が遙かにいいだろ。数年前だとWIMの情報は少なかったが今はあふれかえってるし。
376:373
07/01/23 19:49:29 4m7yBxl6
ああ、勘違いしてたよ。
それなら俺もわからんわ。
wmiでやるならWin32_SerialPort*あたりだろ
サンプルなら
URLリンク(www.activexperts.com)
とかじゃない?
377:371
07/01/23 21:37:04 15EbuWWs
>>375、>>376
RegReadで\をエンコードする方法はあるんですね。
私はわからんかったので、
WMIのEnumKeysとEnumValueで実装し直しておきました。
レスサンクスでした。
378:名無し~3.EXE
07/01/24 01:03:32 ww8gbHgn
だれか教えて下さい。
WSHでマウス移動の自動化って出来るんですか?
キー送信の自動化とか出来るんですか?
ディスプレイカラーの値を読み込む事って出来るんですか?
プリントスクリーンみたいな画像保存って出来るんですか?
379:名無し~3.EXE
07/01/24 01:59:45 Yau2S1mD
できる。
できる。
意味不明。
できる。
380:名無し~3.EXE
07/01/24 03:40:31 eGutPL5I
RegReadの代替、こんなのも
Set Installer=CreateObject("WindowsInstaller.Installer")
WScript.Echo Installer.RegistryValue(2,"HARDWARE\DEVICEMAP\SERIALCOMM","\Device\Serial0")
381:名無し~3.EXE
07/01/24 07:39:03 7G/RPQuZ
ありがとうございます。
ディスプレイカラーの値を読み込む事って出来るんですか?
→24ビットカラーのRGBの値です。
382:名無し~3.EXE
07/01/28 18:16:25 bulVaiB4
>>375
>でもRegReadでの\のエスケープを覚えておくより、WMIの扱いを覚えていた方が身になるぞ。
>\のエスケープは「可能なこと」だが
ほんと?聞いたことないな~
383:名無し~3.EXE
07/01/28 20:31:04 t8jFe24C
var str=prompt("str1","str2");
の代わりになるものが欲しいのですが、何かいい方法はないですか?
384:名無し~3.EXE
07/01/28 20:48:56 ce6F4Ah9
どういう時に何が欲しいのかさっぱりだ
385:名無し~3.EXE
07/01/28 23:02:41 Jx0Q5hq7
IEでは window.prompt が使えるけど WSH では使えないって
話じゃないか?
VBScript だと InputBox 関数が使えるが、JScript だと
相当するメソッドはない。
386:名無し~3.EXE
07/01/29 03:01:15 RMea5nPo
そんなときはIEオブジェクト作ってprompt使う
387:名無し~3.EXE
07/01/29 03:48:33 Zhbkzilw
wsfにしてvbscriptで関数書いたらだめ?
<job id="main">
<script language="VBScript">
Function vbinput( mssg, defi )
vbinput = InputBox( mssg, WScript.ScriptName, defi )
End Function
</script>
<script language="JScript">
function prompt( msasg, defd ) {
if ( !msasg ) msasg = "";
if ( !defd ) defd = "";
return vbinput( msasg, defd );
}
</script>
<script language="JScript">
388:名無し~3.EXE
07/02/02 14:06:21 io3AcPQD
htaでのjsでEnumeratorってつかえないの?
389:名無し~3.EXE
07/02/02 17:19:48 2buUxDcl
つかえとるがな。
390:名無し~3.EXE
07/02/02 17:30:37 l8a6AAPU
スレ違いと思うが、Enumeratorが使えるかどうかは、
コレクション側の仕様。HTMLでは使えないコレクションが多い
てぇことじゃないの。インデクス使え。
391:名無し~3.EXE
07/02/02 19:04:18 io3AcPQD
>>389-390
なるほど。
じつは、ファイル挙列したかったんだ。
インデックスつかえるのかー。ちょっとやってみる。
392:391
07/02/02 19:26:54 io3AcPQD
うーん。ファイル数はあってるんだけど。
なんでVBSのfor eachはできるのにjsはできないんだろう・・・。それとも、また勘違いなのか。。。
一応残骸をはってみるけど、あきらめたーー!
function EnumFileName(path){
var Names = new Array();
var Fso = new ActiveXObject("Scripting.FileSystemObject");
var Fo = Fso.GetFolder(path);
// alert(Fo.Files.Count);
var i=0;
for(var i=0;i<Fo.Files.Count;i++){
var Fi = Fo.Files[i];
Names.push(Fi.Name);
}
return Names;
}
393:名無し~3.EXE
07/02/02 19:34:39 2buUxDcl
>>392
<html lang="ja"><head><meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>quote</title><script type="text/jscript"><!--
while (1){ try{ resizeTo( 0, 0 ); break; } catch(e){} }
//--></script><HTA:APPLICATION id="hta" border="none" /><script type="text/jscript"><!--
//配列とオブジェクトの宣言
var strCmdLine = hta.commandLine, strHTADir
if ( strCmdLine.indexOf('"') == 0 ) strHTADir = strCmdLine.match( /"(.+?)[^\\]+?"/ )[1];
else strHTADir = strCmdLine.replace( /[^\\]+?(?: .+)?$/, "" );
var objSFS = new ActiveXObject("Scripting.FileSystemObject");
var list = new Array();
var inFiles = objSFS.GetFolder(strHTADir).Files;
//こうするとコレクションのすべての要素に対する繰り返しができるらしい
var enumInFiles = new Enumerator(inFiles);
while ( !enumInFiles.atEnd() ) {
list.push( enumInFiles.item().Name );
enumInFiles.moveNext();
}
//まとめて出力
var dialogMessage = new String( inFiles.count );
for (i in list) dialogMessage += "\n" + list[i];
alert( dialogMessage );
close();
//--></script></head><body></body></html>
学習用にスクリプトと同じディレクトリ内のファイルを列挙するWSHを作ったのが残ってたのでHTAにしてみた。
参考になるか知らないが。whileのところはforでもおk。
394:Adrienne ◆HI8ebVe8lo
07/02/02 19:50:11 fKLh6VfE
>>392
(ちょっと、>>393とかぶるけど)
7行目の var i=0; は不要。
それに、JScriptではforステートメントの制御変数は宣言しないのが流儀。
for( i=0; i<Fo.Files.Count; i++ )でOK.
↓みたいな感じでやるといいよ~
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFolder(path)
var fc = new Enumerator(f.files);
var names = new Array();
for (; !fc.atEnd(); fc.moveNext()){
names.push( fc.item() );
}
395:Adrienne ◆HI8ebVe8lo
07/02/02 20:08:35 fKLh6VfE
var f = fso.GetFolder(path); // →正
var f = fso.GetFolder(path) // →誤:文終了子がない
ね。わざわざ訂正する必要もないと思うけど、一応。
396:名無し~3.EXE
07/02/02 20:14:21 pU/AdnT5
i をグローバルで使うのってどこの流儀?
397:Adrienne ◆HI8ebVe8lo
07/02/02 20:29:13 fKLh6VfE
>>396
function test(){
for( i=0; i < 5; i++ ){
}
}
WScript.Echo( i );
試しに↑を走らせてみて。6行目の i は宣言されていないとエラーが出るはず。
つまり、for文の制御変数は宣言なしでも暗黙でローカル変数として扱われるということ。
もちろん、どうしても気持ち悪いなら for( var i=0; ……と書いても構わない。
398:392
07/02/02 21:33:58 io3AcPQD
>>393-395
おまえら!ほんとうにありがとう。できました!
後はエラーチェックとか必要に応じて追加すれば完了だ!!
で、以下のようになったよ。
function EnumFileName(path){
var Names = new Array();
var Fso = new ActiveXObject("Scripting.FileSystemObject");
var Fo = Fso.GetFolder(path);
var EnFiles = new Enumerator(Fo.Files);
// alert(Fo.Files.Count);
var i=0;
for(; ! EnFiles.atEnd();EnFiles.moveNext()){
Names.push(EnFiles.item().Name);
// alert(EnFiles.item().Name);
}
return Names;
}
399:名無し~3.EXE
07/02/02 22:56:36 4UL0tw6S
Enumerator の作成を for の初期化節でやるのって少数派なんだろうか
for (var e = new Enumerator(list); !e.atEnd(); e.moveNext()) {
400:名無し~3.EXE
07/02/02 23:04:02 2buUxDcl
省略が好きな人はやるんじゃない?
自分の場合はそのときの気分。
401:名無し~3.EXE
07/02/02 23:07:19 KzBlSYpP
htmlをぶっこ抜く時に
1.CreateObject("MSXML2.XMLHTTP.4.0")
2.CreateObject("InternetExplorer.application")
とかあると思うんだけど、君らならどっち使う。
それとそれぞれのメリット・デメリットあれば教えて下さい。
402:名無し~3.EXE
07/02/03 00:12:55 ZQXI4k07
>>397
あまり知ったかはしない方がいいよ。ボロが出るから。
> つまり、for文の制御変数は宣言なしでも暗黙でローカル変数として扱われるということ。
実行コンテキストが違うからだろ。
悪いことは言わん、スコープチェーンの勉強でもして出直して来い。
ちなみに>>398の var i=0; はマジで余計だな。単なる消し忘れだろうけど。
403:名無し~3.EXE
07/02/03 00:26:29 ZQXI4k07
いや、俺は俺で変なこと書いてるな。
>>397の例で、最終行で i を参照出来ないのは
そもそも関数 test() を1度も呼び出していないからだよ。
試しに
function test(){
for( i=0; i < 5; i++ ){
}
}
test();
WScript.Echo( i );
でやって味噌。これでもエラー出る?
この時 i は立派にグローバル変数になっているよ。
スクリプト中のどこからでも参照出来る。
404:Adrienne ◆HI8ebVe8lo
07/02/03 00:44:08 yTQ/iH6h
>>403
試しに
var i=100;
function test(){
for( var i=0; i < 5; i++ ){
}
}
test();
WScript.Echo( i );
でやってみた。うん、明らかにグローバルになってるね。一つ利口になった。ありがとう。
ってか、ドキュメント等で悉く宣言省略されてるから無意識にローカル変数になるものと思ってたよ。
なんか、自宣言省略できたり勝手に型変換されたりといったJScriptの仕様は、
逆に難解だよね。
405:名無し~3.EXE
07/02/03 03:11:51 pDHMAoqQ
>>404
「変数の宣言を明示的に行わなければグローバル変数になる」と覚えておけば
問題ないよ。
ややこしいのは for なんかのブロック内で宣言したとき。JavaScript では
変数のスコープはグローバルか関数内かの2つしかない。
(最新版では違うらしいけど。)
for(var i=0; ... みたいにブロック内で var を書いても、これは関数あるいは
スクリプトの先頭でvar したのと同じこと。
>ドキュメント等で悉く宣言省略されてるから
は、宣言したらブロック内スコープを持つものと開発者が勘違いしてバグるの
を心配してのことかも。
横着するには便利んだけどね。関数内で for ループ書くときに、いちいち
関数の先頭でカウンタ変数を宣言しないですむから。
406:名無し~3.EXE
07/02/03 03:36:27 5xiUQTdM
letが使えんからな。
407:名無し~3.EXE
07/02/03 20:43:52 In8o1+SV
匿名関数の中から外部のローカル変数を参照してるクロージャとかもややこしい。
408:名無し~3.EXE
07/02/04 09:01:18 pYYZVU6i
MSXML2.XMLHTTPで
Open "GET", URL, True
と非同期実行した場合、readyStateで通信状態を取得できますが、これをWinHttp.WinHttpRequestで
実行した場合、通信状態はどのようにして取得したら良いのでしょうか?
主要なメソッド、プロパティは共通のようですが、readyStateに該当するものが見つけられずに困ってます。
OSはWindowsXP SP1、WSHは5.6、WinHttp.WinHttpRequestは5.1です。
409:名無し~3.EXE
07/02/04 13:16:16 XUYfkIsH
試してないしドキュメントにもどうなるのか書いてないけど、
WaitForResponse をタイムアウト 0 で呼び出してみるとか?
410:名無し~3.EXE
07/02/04 14:49:19 /70Bq45h
誰か>>401お願いします
411:名無し~3.EXE
07/02/04 16:38:11 Lw9wofTu
>>410
2だと画像などの付属品もダウンロードしてしまう。
412:名無し~3.EXE
07/02/04 21:47:54 MbUYtnwe
こんちわー。
htaで揮発性環境変数(PATH)の設定をするために以下のようにコードを書きました。
ネットを回って得たものなので根拠とかが欠落してます。@@;
それで、ですね。
tagに環境変数名をいれてParhに場所を記述したものをOSに登録したいのですが、下のコードではうまくいきませんでした。
どのように書けばうまくいきそうですか?
function AddSystemPath(tag,path){
//var WshShell = WScript.CreateObject("WScript.Shell");
var WshShell = new ActiveXObject("WScript.Shell");
var WshEnv = WshShell.Environment("VOLATILE");
if( tag.toUpperCase() == "PATH" ){
WshEnv.Item(tag) = WshShell.ExpandEnvironmentStrings("%Path%") + ";" + path;
}else{
WshEnv.Item(tag) = path;
}
}
これができたら次のステップにいけるんですー。
作ってるのは簡易版GUI似非Makeです。
413:名無し~3.EXE
07/02/04 22:12:37 JVVlKIId
>>411
1.だとhtml以外は取得しないということですね。ありがとうございます
414:名無し~3.EXE
07/02/04 23:37:47 3x53LZg+
>>412
よくわからんが、
pathに登録したいならレジストリ直接弄ればよいんじゃね?
415:名無し~3.EXE
07/02/05 00:29:38 vT9R2Dhh
>>414
うわ。それは勘弁してください。
"VOLATILE"指定すれば、遺恨も残らないということらしいので、便利だなーとおもったんですけど。
うーん、前途多難ですねぇ。基本機能はほぼできててあとこれだけなんですよ。
まぁ、いいや。またきます。
おやすみなさいー。
416:名無し~3.EXE
07/02/05 00:37:29 xw+mOdqs
勘弁も何も一番簡単だろ。
417:名無し~3.EXE
07/02/05 01:22:47 fqy0z/kI
揮発性の意味・意義をわかってない奴がいるな
418:名無し~3.EXE
07/02/05 01:59:52 ybbbBATF
揮発性環境変数も保持される場所はレジストリであることを知らないのかな?
419:名無し~3.EXE
07/02/05 02:19:32 xw+mOdqs
HKEY_CURRENT_USER\Volatile Environment
420:名無し~3.EXE
07/02/05 02:54:38 xw+mOdqs
function AddSystemPath(tag,path){
var WshShell = new ActiveXObject("WScript.Shell");
var WshEnv = WshShell.Environment("VOLATILE");
WshEnv.Item(tag) += ";" + path
}
いろいろやってみたけどこれで十分じゃね?
421:名無し~3.EXE
07/02/05 03:40:16 ttc4Lfai
>>412
MSDN見たら、PATHとかの予約されてる環境変数はVolatileは
使えないと書いてある。
URLリンク(msdn.microsoft.com)
けど、今試したらうまく動いた。(WinXP)
しかもわざわざ既存のPATHに追記しなくても、追加したいパスを指定
するだけでマージされる。
(考えてみればSystemとUserのPATH環境変数もそんな関係だ。)
うまくいかないのは、すでに動いてるプロセスに反映させたいと思ってるから
とかではない?
SystemだろうがVolatileだろうが、環境変数の反映は新しいプロセス
から有効だよ。
422:名無し~3.EXE
07/02/05 16:49:35 vT9R2Dhh
>416-421
皆さんありがとう!
えっと、VOLATILEでもレジストリに登録されるのは知りませんでした。
>>420をやってみたところ、>>419の場所に登録はされてるんですけど、
>>421にあるように、登録したHTAには反映されてないのかもしれません。
Terapadで書いてはメニューから起動って感じにやってるんですけど・・・。
あ!ってちょっと実験・・・。うげ!できた。
……なんか、起動もと(Terapad)のPath設定を受け継いでたみたいです。。。
エディタ再起動したらうまくいきました。なんてこった。
結局>>421の"すでに動いてるプロセスに反映させたいと思ってるからとか"の部分でした。
お騒がせしました。
・・・しかし、これはちょっと不便だなー。
423:名無し~3.EXE
07/02/05 19:47:41 0J0/Livg
普通に bat に書き出して実行した方が早いんじゃないかな・・・
424:422
07/02/05 21:50:23 vT9R2Dhh
結局それがベターなのかなー。
車輪を知るには車輪を再発明するのが一番!とかわけのわからんことをのこしつつ、
そっちの方向を模索してみますー。スクリプトいじりすぎて動かなくなったことだし。。。@@;
さて、皆さんどうもありがとう。;D
425:422
07/02/05 22:45:24 vT9R2Dhh
ああそうそう。
危険な残骸ほしい人います?
URLリンク(kansai2channeler.hp.infoseek.co.jp)
超危険だしめちゃくちゃ汚いから、扱いには注意してください。
そういうわけでまたどこかで!
426:名無し~3.EXE
07/02/07 16:45:15 AYyF197a
xmlhttpでsetRequestHeaderでIf-Modified-Since付けてsendすると何十分経っても応答こないサイトがあるんだけど、なんで?
427:名無し~3.EXE
07/02/07 20:48:05 CeKP5txc
URL プリーズ
428:名無し~3.EXE
07/02/07 21:51:07 0PYxyQ85
ダウンローダ対策かな
429:名無し~3.EXE
07/02/08 13:22:42 R1J4DUrt
「Volatile」(「揮発性の」という意味)は、現在のログオン・セッションのみに適用さ
れる。名前が示すとおり、Volatile環境変数は一時的に使われるもので、ログオ
ン中のユーザーがログオフしたり、コンピュータを再起動したりすると、変更した内
容は変更前の内容に戻る。
430:名無し~3.EXE
07/02/08 16:44:18 d3kjRTBg
で?
431:名無し~3.EXE
07/02/09 11:30:07 fnbavqX5
>>430
「Process」は、現在のプロセスにのみ適用される環境変数である。Process環境変数は、
コマンド・プロンプトが終了するなど、現在のプロセスが終了すると、変更内容が元に戻る。
変数 System User Volatile Process
NUMBER_OF_PROCESSORS ○ × × ○
PROCESSOR_ARCHITECTURE ○ × × ○
PROCESSOR_IDENTIFIER ○ × × ○
PROCESSOR_LEVEL ○ × × ○
PROCESSOR_REVISION ○ × × ○
OS ○ × × ○
COMSPEC ○ × × ○
HOMEDRIVE × × ○ ○
HOMEPATH × × ○ ○
PATH ○ × × ○
PATHEXT ○ × × ○
PROMPT × × × ○
SYSTEMDRIVE × × × ○
SYSTEMROOT × × × ○
WINDIR ○ × × ○
TEMP × ○ × ○
TMP × ○ × ○
環境変数の種類と利用できる変数(○=利用可、×=利用不可)
432:名無し~3.EXE
07/02/09 12:21:51 Z70kHm//
で?
433:名無し~3.EXE
07/02/09 16:47:48 /+8ALF64
コピペばかりで何が言いたいやら。
434:名無し~3.EXE
07/02/11 00:58:40 XFBIDHB0
おいらみたいなスクリプトをちょっといじるだけの人間には逆にありがたいが・・
検索してもちゃんとわかりやすく解説してるサイトとかなんか見かけないし(;´д`)
WSHのドキュメントには>>431みたいなこれが使える使えないの表とよく分からんコメントがちょろっとしかないし
435:名無し~3.EXE
07/02/11 12:30:23 tgvQIzzh
検索の能力が無いんじゃないか?
URLリンク(www.microsoft.com)
436:名無し~3.EXE
07/02/11 14:17:35 83xaTx2C
おせーてください。
var A = new Date(); ってやると
DateオブジェクトのインスタンスへのポインタがAに格納されるのかなと
思ってるんです。
だからもう一回
A = new Date(); をやると
新しいDateオブジェクトのポインタがAに入りますよね。
ということは1回目のDateオブジェクトの確保されたメモリの開放は
されてないんじゃないの?と思ったわけです。
メモリの開放はする必要はないのでしょうか? そもそも認識誤り?
ループで数万回newを実行するのが怖い・・。
437:名無し~3.EXE
07/02/11 15:10:40 XTg9OO+A
>>436
やってみれ
438:名無し~3.EXE
07/02/11 15:41:54 jfeZcFaS
>>435
そんな入り口じゃなくてSystemとUserとVolatileとProcessの違いを書いてるところを直接貼れですぅ
それかおまいがさっさとSystemとUserとVolatileとProcessの違いを「素人に毛が生えた程度のヤツにも」「わかりやすく」教えやがれですぅ
439:名無し~3.EXE
07/02/11 15:58:54 83xaTx2C
>>437
やってるんですよ、でリソースエラーで落ちてるんで
コードを見直しすと
もしかしてこのせいではと思ってるんです。
MSのサイトみてもdestroyメソッドなんてないし・・・
440:そのまま System User Volatile Process でググレ、カス。
07/02/11 16:29:15 tgvQIzzh
>>438
ググルこともできない奴は、「 あ き ら め れ 」
441:名無し~3.EXE
07/02/11 22:42:10 gLg6x3i4
>>436
参照が外れた時点で自動的に解放されるので大丈夫。
while (true) {
var A = new Date();
}
とか実行してみればわかるけど、メモリ使用量は増えずに一定。
ただし、
var A = [], i = 0;
while (true) {
A[i++] = new Date();
}
とかやったら、いつまで経ってもオブジェクトは解放されず、
メモリ使用量はガンガン増える。
442:名無し~3.EXE
07/02/11 23:18:15 GhIBrlc6
>>436
GCは自動
強制的にnull代入したり、deleteする必要があるのはまれ
443:名無し~3.EXE
07/02/12 02:04:02 3LVpBfdW
なんでここで GC の話がでてくるんだろうか...。
444:名無し~3.EXE
07/02/12 02:08:09 QgYwe6Xo
>>439
HTAでかけるならHTAで書いてみてみ。
実行速度云々のダイアログが出るなら何か間違ってるから。
445:436
07/02/12 08:05:03 731Di+ID
いやー、皆様ありがとうございます。
441さんのやり方でテストもしてみて確かに増えないですよね。
参照がはずれると自動開放ということで安心しました。
ということは、他の部分で落ちているということですので
444さんの教えどおりHTAで書いて試してみます。
助かります!
446:名無し~3.EXE
07/02/12 11:53:33 9qzGp9MR
>>443
勉強が足りない
447:名無し~3.EXE
07/02/12 12:00:38 0DSgfs+L
>>443
参照されていないオブジェクトのメモリを回収するのは
GCのお仕事だからだよ。
448:名無し~3.EXE
07/02/12 12:03:44 gVWGPkUz
GC を任天堂のゲーム機だと思ってしまった、とか
449:名無し~3.EXE
07/02/12 12:04:57 QgYwe6Xo
がべぃじこれくたー
450:名無し~3.EXE
07/02/12 17:24:26 Zi22y/xv
WSH、得意なのはバッチ代わり?
ちゃんとしたアプリは作れない?
んなことなくてVBで作れるようなものはたいがい作れる?
GAMEとかシューティングのようなものとか。
451:名無し~3.EXE
07/02/12 17:41:02 gVWGPkUz
まあ止めといた方が良いだろう
452:名無し~3.EXE
07/02/12 17:56:40 Zi22y/xv
ぶっちゃけ、これでGAMEとかRPGとか作れるのかなあと。
453:名無し~3.EXE
07/02/12 18:02:05 Zi22y/xv
>>451
レスありがとう。更新しなくて書いたのですれ違いすいません
これってある意味無料だから、修得したら便利かなって。
GAMEが作れるなら、シューティングとかRPGが作れるなら、たいがいのものは
作れるだろうと思ったんですよ。
GAMEにかぎらず、ちょっと目立つようにJPGを重ねたり動かしたりとかいうのは
良くあるでしょうから。
やめといたほうがいいんですね 有り難う御座いました
454:名無し~3.EXE
07/02/12 18:06:21 hmPAvRl0
>>450
jsやvbsなどのスクリプト言語でGUIツール使いたいならWSHではなくHTAの方がいいよ。
「GAMEとかシューティングのようなもの」というのがどの程度のものを想定してるのか知らないが
HTAならスキル次第でそこそこのGUIツールが作れる。WSHでもIEのインスタンス作ればどうにかなるけどね。
455:名無し~3.EXE
07/02/12 18:09:35 9qzGp9MR
>>453
できるけどEXEのほうが高速かつ無難
玄人じゃないと高速なゲームを作るのは難しい
JavaScript製のブラウザゲームがどの程度、同内容のEXEのゲームと張り合えているのか考えるとよろし
456:名無し~3.EXE
07/02/12 18:19:38 gVWGPkUz
VS すら無料の時代だぜ?
457:名無し~3.EXE
07/02/12 19:25:32 3LVpBfdW
>>447
論点はそこじゃないだろ。
しょぼい知識を披露したかったのか? (w
458:名無し~3.EXE
07/02/12 19:36:20 WOrUc4U6
ろっ、ろんてんはどこなの~~??
459:名無し~3.EXE
07/02/12 21:20:57 PkhDhK5r
オレ論点 w
460:名無し~3.EXE
07/02/12 21:28:27 QgYwe6Xo
ガベージコレクションは自動。って書いてりゃ良かったのだろう。
>>441と本筋は同じだすね。がべーじこれくたーってのを説明にまじぇただけで
461:名無し~3.EXE
07/02/13 02:30:05 Ep5PwYrj
意外と知られていないが、Microsoft JScript には
undocumented な CollectGarbage() なる関数が存在する。
ただ、よっぽどのことでもない限り、使用すべきではないでしょう。
(通常、生涯使う機会がないと思うけど)
URLリンク(support.microsoft.com)
URLリンク(support.microsoft.com)
462:名無し~3.EXE
07/02/13 02:36:55 Ep5PwYrj
> 関数
メソッドですた。
463:名無し~3.EXE
07/02/13 03:57:12 3QRyx/IL
なんかJavaScriptでFPS作るデモがあったような気がするが
464:名無し~3.EXE
07/02/13 10:24:15 h83QHOwZ
>>454
>>455
レスありがとう!
PDAのスマートフォンであるX01HTやシグマリ3やW-ZERO3で
動くWSH方式のNSBASICというのがあるんですよ。これがほとんどWSHと
文法も同じ。だからWSHを覚えようかなあと。WindowsCE上でも開発できるし。
GAMEを作るにしても作るレベルは、昔MSXで作っていたレベルです。出来れば
当時は線画で3DRPGやシューティングを作っていましたが、これをRPGなら面画で3D表示
できればいいなあと。
市販するとかシェアウエアレベルのものなんて求めていないですから、
当時のBASICなみに気軽にサンデープログラミング出来るのかなあとWSHが。
その程度のものなら出来るというのであれば、WSHアマサンデープログラマーの仲間入り
したいんですが。長々とすいません。
465:名無し~3.EXE
07/02/13 10:25:52 h83QHOwZ
ぐぐってみたんですが、WSHの入門サイトは引っかかったんですが
作った作品のスクリーンショットを公開してるサイトがめっからなくて。
だからWSHがどのくらいの目安を持っているのか、分からなかったんですよ
466:名無し~3.EXE
07/02/13 12:32:37 XbSpjXDZ
そりゃWSHのGUIってメッセージボックス程度しかないから
スクリーンショットを公開してるとこはないだろうね。
467:名無し~3.EXE
07/02/13 13:40:11 RyIkaJG+
メッセージボックスで何か作れる?
468:名無し~3.EXE
07/02/13 14:43:18 7IiMzH02
「はい」の時に[いいえ]ボタンを、「いいえ」の時に[はい]ボタンを押す、
メッセージボックスによる反射神経ゲーム。
var max = 10; // 回数。
var objWSHShell = WScript.CreateObject("WScript.Shell");
var arr = new Array("はい", "いいえ");
var answer, rnd, i;
var time = (new Date()).getTime();
for (i = 0; i < max; i++) {
rnd = (Math.random() + "").substr(2, 1) % 2;
answer = objWSHShell.PopUp(arr[rnd], 0, "[ はい / いいえ ] 反射神経測定", 36);
if (rnd + answer != 7) break; // お手付きにつきゲーム終了。
}
if (i == max) { // 全問正解。
WScript.Echo("全問正解!\n\n掛かった時間: " + ((new Date()).getTime() - time) / 1000 + "秒");
} else { // お手付き。
WScript.Echo("お手付き!\n\n成功回数: " + i);
}
469:名無し~3.EXE
07/02/13 16:34:20 RyIkaJG+
>>468
4.469でした
470:名無し~3.EXE
07/02/13 20:28:04 OHI0QKKv
なにげに良展開あげ
471:名無し~3.EXE
07/02/13 22:00:53 RyIkaJG+
「3 < 7-5」みたいな式が正しいかを答える
var max = 5;
var WshShell = WScript.CreateObject("WScript.Shell");
var getX = [function () {return String(Math.floor(Math.random()*9)+1);},
function () {return this[0]()+(Math.floor(Math.random()*2) ? " + " : " - ")+this[0]();}];
do {
var time = new Date().getTime();
for (i=0; i<max; i++) {
var question = getX[Number(i>3)]()+" < "+getX[Number(i>1)]();
var answer = WshShell.PopUp("この式は正しい?\n\n"+question, 0, "不等式", 36);
if (answer == 7 == eval(question)) break;
}
} while (WshShell.PopUp("( "+i+" / "+max+" ) "+(i == max ? "全問正解!" : "お手付き!")
+"\n経過時間: "+((new Date().getTime()-time)/1000)+"\n\nまだ続ける?", 0, "Result", 36) == 6);
472:名無し~3.EXE
07/02/14 20:44:58 R5pO5sAJ
ダブルクォーテーションを文字としてコマンドライン引数に渡し、
"ARG ARG"
となることを期待して
cscript example.vbs "\"ARG ARG\""
と実行したのですが、
WScript.Arguments(0)が勝手にダブルクォーテーションを削除しているのか、
ARG ARG
としてしか受け取れません。
もうよくわからず、
cscript example.vbs "\"\"ARG ARG\"\""
などとして二重にしてみたりしたのですが当然だめでした。
ものすごく初歩的なことな気がするのですが、検索しても解決できません…。
どなたかお教えいただけないでしょうか。
473:名無し~3.EXE
07/02/14 20:49:03 eKYTLQYh
^
474:名無し~3.EXE
07/02/14 20:56:11 R5pO5sAJ
>>473
おお、素早い返事ありがとうございます。
最初はキャレットでエスケープしたのですがだめでした。
また、結果の表示を間違えて書いてしまいました。
詳しく状況を説明すると、
WScript.Echo WScript.Argument(0)
WScript.Quit()
という、example.vbsを作成し、コマンドラインから
cscript example.vbs "\"ARG ARG\""
を実行すると「\ARG」と表示されます。
また、この円マークをキャレットに変更すると「^ARG」と表示されます。
単純にダブルクォーテーションが削除されて、空白で区切られてしまっているように見えます。
475:名無し~3.EXE
07/02/14 21:45:33 BFGnaiNb
プレフィックスエスケープではなくエンコードエスケープすれば良いのでは?
可逆で有ればなんでも良いわけだが、全体変換ではなく部分変換なら実態参照がいいかも。単純にやるなら
実行:cscript example.vbs ""ARG ARG""
変換:WScript.Echo Replace(WScript.Arguments(0), """, """")
更に"を&"でエスケープ出来るようにするなら、組み込み関数のReplaceではなく
正規表現で「s/(?<!&)"/"/g」だな。但しVBScript.RegExpでは後読み「(?<!…)」が使えないので
VBScript.RegExpでやるとすれば「s/(^|[^&])"/$1"/g」って感じかな。
引数の中に'が使われないとするなら
実行:cscript example.vbs "''ARG ARG''"
変換:WScript.Echo Replace(WScript.Arguments(0), "''", """")
でもいいし。
ただ、WshShellのRunなどで使うだけなら、普通に"ARG ARG"を渡して、
スペースが含まれてたら""で囲う処理を用意した方が良いと思うけど。
476:名無し~3.EXE
07/02/14 22:12:22 R5pO5sAJ
>>475
おおなるほど、別の文字を変換するのですか。
ついダブルクォーテーションを渡すことばかり考えてしまいました。
実体参照では見通しが悪りそうなので、
シングルクォーテーションを重ねる方法を頂きたいと思います。
単純なショートカットを作成するスクリプトを作りたかったのですが、
ショートカット先へ渡すコマンドライン引数にスペースが含まれることがあるので、
それをダブルクォーテーションで囲みたかったため、この文字をそのまま出力する必要がありました。
おかげさまでなんとかなりそうです。
どうもありがとうございました。助かりました。
477:名無し~3.EXE
07/02/15 23:32:27 wVnZTfYP
>>463
JavaScriptでウィンドウズGUIを再現してるのを見たことはあるな。
まあよっぽどJavaScriptでやるメリットが無い限りはわざわざ選ぶモノでもないけど
478:名無し~3.EXE
07/02/19 03:18:56 2jm0n8Yc
質問です。VBSで標準出力に文字列を出力したいのですが、
WScript.StdOut.Write "hoge"
で「ハンドルが無効です」とエラーが出ます。
また WScript.Echo も標準出力にならず、ウィンドウに文字列が表示されます
どうすれば標準出力に出力できるのでしょうか?
479:名無し~3.EXE
07/02/19 03:53:42 Ea8qR7RP
>478
wscript.exeではなくcscript.exeでvbsファイルを実行する。
480:478
07/02/19 03:55:55 2jm0n8Yc
>>479
上手くいきました。
どうもありがとうございます。
481:名無し~3.EXE
07/02/19 23:36:26 J+D6xycq
【正社員募集】ドワンゴ大卒未満限定で技術者採用【学歴重視】
スレリンク(prog板:79番)
で、「windows script host(Jscript) でがんばっている俺は却下ですか?」
ってカキコしても誰にも相手にされんかったわ。
482:名無し~3.EXE
07/02/23 11:26:09 GFWOF5op
IPアドレスやホスト名リストを読み込んで、nslookupを実行し
その結果を表示させながら、ファイルに書き出すようにしたいのですが
まったく検討がつかないので方法をお教えください。
483:名無し~3.EXE
07/02/23 11:48:25 zLQ4KMwL
>>482
nslookupというものを知ってるなら、あとはWSHのヘルプ(Windows Script 5.6 ドキュメント)を読めば解ることです。
ヘルプ読んでも解らないと言うなら、日本語を理解できないと言うことだからここで日本語の説明をしても無駄だろうし、
コード書いてくれなんてのはスレ違いなので、あとは自分で頑張りましょう。
484:名無し~3.EXE
07/02/23 12:06:25 soUk2p3d
>>483
うつ病に頑張れは禁句
485:名無し~3.EXE
07/02/23 13:58:27 0m+mdoh4
>>483
日本語が理解できない場合はそのレスも理解できないわけだが
486:名無し~3.EXE
07/02/24 15:06:35 wTaW1+v2
>>482
プログラム書けないやつが本も何も読まず、wshを使えばできると
聞きかじり、2chで人に書いてもらおうなんてあさましいな・・
サイテー
487:名無し~3.EXE
07/02/24 21:44:51 M2W6NVuE
>>482
詰まっている段階が分かりにくいのですが、ここが参考になりませんか。
URLリンク(www.atmarkit.co.jp)
#煽るだけの奴は消えろ。
#見苦しい。
488:名無し~3.EXE
07/02/25 00:20:31 EQ4Q9T2k
#のコメントで後書きする人って何なの
489:名無し~3.EXE
07/02/25 05:58:51 pI2XMlMi
煽るだけの奴とか言うけど、
例え質問に答えてもフレームを混ぜる奴は同類です。
490:名無し~3.EXE
07/02/25 15:09:54 xOojygct
>>488
/.er
491:名無し~3.EXE
07/02/25 17:49:13 TzBAKqFp
スラドなんかよりもはるかに古い文化ですけど
492:名無し~3.EXE
07/02/25 20:16:34 Bn9vmEGX
おもしろおかしい
493:名無し~3.EXE
07/02/25 22:09:24 3p3uGprt
/. はたまにのぞくけど、独自の文化(オフトピなのでACとか)が育ってて
2chやってると違和感があるんだよなー
# オフトピなのでAC
494:名無し~3.EXE
07/02/25 22:16:35 d5QT1Xvl
しかし何故コメントが # 開始なんだろう?
WSH と言うとやはりメインは VBS か JScript。
' か // が基本だと思うのだが。PerlScript もあるけどさ。
495:名無し~3.EXE
07/02/25 22:47:15 +XEJRyC1
/*
>>496以降のレスは全てコメントアウトされる。ざまぁカンカンw
496:名無し~3.EXE
07/02/25 22:48:21 H3CLTB50
*/
再開↓
497:名無し~3.EXE
07/02/25 22:51:57 V5hQEo4p
×>>496以降のレスは全てコメントアウトされる。
○>>496以降、最初の */ までのレスは全てコメントアウトされる。
だな
>>496
乙
498:名無し~3.EXE
07/02/25 23:43:00 H3CLTB50
>>495だけが見事にコメントアウトされた件
499:名無し~3.EXE
07/02/26 00:07:50 ybuIjVJ6
ワラタ
500:名無し~3.EXE
07/03/01 08:41:46 Snwf3Oai
501:名無し~3.EXE
07/03/02 20:17:06 imQofTdk
こういう流れになると絶対過疎るなw
502:名無し~3.EXE
07/03/05 22:13:49 pkRZSKvF
以下のダイアログで
自動的に送信しない
を選びたいのですが、どうすればいいのでしょうか?
-------------------------------
問題が発生したため、**を終了します。ご不便をおかけして申し訳ありません。
この問題をMicrosoftに報告してください
503:名無し~3.EXE
07/03/05 22:35:25 70huv0vk
俺ならダイアログを出ないようにするな。
504:名無し~3.EXE
07/03/06 19:21:09 jTn4SU/3
JavaScriptスレにて、
40 :Name_Not_Found :sage :2007/03/06(火) 18:53:49 ID:???
指定したURLからhtmlソースを取得して、
その中から指定した文字列を含むlength個の文字列を抽出し
取得順に配列str[i]に格納しWScript.Echoで出力するプログラムを
今日中に作らないと卒業できなくなるんですが
友達いないボクには無理です神様タスケテクダサイ
というのが来たから誘導しましたwwwよろしくwww
505:名無し~3.EXE
07/03/06 19:26:41 7bsQ1z2v
知るかボケ
506:名無し~3.EXE
07/03/06 21:28:29 rVrCV3Y3
そんなんで卒業できるなんてどこの中学だよ
507:名無し~3.EXE
07/03/07 00:18:40 vyb0FCD/
>>506
卒業できなくなるとは書いているが、卒業できるとは書いていない。
508:名無し~3.EXE
07/03/07 00:27:14 mpEBXn45
つまり必要条件であって十分条件ではないと
509:名無し~3.EXE
07/03/07 01:24:08 Dw1HeTg9
今ieで見ているページを、そのアドレスをfirefoxに送って別に起動するようなieのブックマークレットを誰か作ってください。
自分で考えるのが億劫になりました。 あ゙ーー、もちろん普段はieのスクリプトは切ってます。よろです。
510:名無し~3.EXE
07/03/07 01:29:00 mpEBXn45
そんな事がブックマークレットでできたら、とっくにウィルス漬けです。
511:名無し~3.EXE
07/03/07 02:07:24 Dw1HeTg9
えーできねの。
じゃ、ツールボタンで。
512:名無し~3.EXE
07/03/07 02:09:30 kgCU6w5M
URLリンク(www.google.com)
513:名無し~3.EXE
07/03/07 03:06:44 Dw1HeTg9
コンテキストメニューかツールバー経由しかない。
しかし、これ以上入れる場所の余裕が無いんぜ。
514:名無し~3.EXE
07/03/07 11:41:39 pUN54nVl
>>502
ダイアログ出さない設定あるよ
515:名無し~3.EXE
07/03/07 19:35:29 duOZYfea
>>509
他人に教えるのが億劫になりました。
516:名無し~3.EXE
07/03/15 16:34:37 WU5+3R9H
初めまして 以下のことはWSHで出来るでしょうか?
とある固定ディレクトリにあるファイルを選ぶダイアログを出す
このときに、相手先(テキストファイルから読み出す)とコメント入力をする
選択されたファイルをLHAに渡し、圧縮作業が行われ
任意のルールで圧縮名をつけて、いつも決まったところに入れる
決まったところに入った圧縮ファイルは、先ほど決めた
相手先にいつも決まったテンプレートとコメントをつけて
添付ファイルとして送り出す。
出来るか出来ないか教えてくださいまし。お時間をくださいませ
よろしくお願いします。こういうのはWSHのはんちゅうを超えているでしょうか?
517:名無し~3.EXE
07/03/15 16:49:19 lKniy2Bp
>とある固定ディレクトリにあるファイルを選ぶダイアログを出す
これがファイル選択ダイアログならこの時点で無理。
518:名無し~3.EXE
07/03/15 19:52:36 gd0AF5kn
「WSHのはんちゅう」が
スクリプトエンジン: VBScript v5.5 / JScript v5.5
スクリプトランライム: Scripting.Dictionary / Scripting.FileSystemObject
Windows Script Host 標準オブジェクト各種
だけなら無理っぽい。
外部プログラムやcomをガンガン使っていいなら話は別だが。
519:名無し~3.EXE
07/03/15 20:11:54 WU5+3R9H
>>517
ええ、ファイル選択ダイアログのつもりでした。仕事は建築でして
選択されたDXFファイルを自動的にルールに従い圧縮ファイルにして
それをOUTLOOKを起動して、添付ファイルとして、最初に指定した相手に送る直前まで
やりたかったんですよ。送信ボタンを押すのみのところぐらいまで。
ちゅうのは、うちの会社、けっこう年寄りの建築業者(60歳前後が最も多い)が多く、CADは覚えたけどWindowsは
とてもじゃないが覚えきれない人が多数いまして。手順をメモに残しても恐ろしいようです。
毎回DXFアウトからあとよろしくと呼ばれて自分の仕事が止まるのでこの辺なんとかならないかなあと。
>>518
レスありがとうございます。コレガできるならWSHに手をつけようかな
と思っていましたが、ちと残念です。自分的にはWSHってのはマクロスクリプト感覚でしたので
できそうかな?と思っていましたが。
社内で外部から派遣されてる人のPCにはCADしか入れられなくて。この間ようやくLHAとDWというファイラーが
入れるように出来たんですよね。
しかも目の前でこんな動きが出来るんですよと説明して許可書を取ってようやく。
今回のこれはCADに必要だということで作ったなら入れてもいいとようやく許可をもらったんですよ。
自分の仕事に差し支えるからと言ったら通りやすくなったみたいですが
長々と書いてすいません
520:名無し~3.EXE
07/03/15 20:14:27 lKniy2Bp
HTAなら頑張ればできるかもしれない。
521:名無し~3.EXE
07/03/15 20:16:14 WU5+3R9H
OUTLOOKは入ってるXPマシンです。
めちゃくちゃ久しぶりにVB5を取り出すかあ(;´Д`) 6年ぶりぐらい?
まずVB5がXPで動くかっちゅうところから調べないと。
正直言いますとWSHは、インタプリンタ型のVBなのかもなあと
思っていました。
522:名無し~3.EXE
07/03/15 20:45:28 N9Eg5QZi
インタプリンタw
523:名無し~3.EXE
07/03/15 20:48:07 jNvzAAvj
> めちゃくちゃ久しぶりにVB5を取り出すかあ
なんでここでVB5が出てくるの?
ソフトを勝手に入れられないんじゃ、VB5を引っ張り出しても意味無いし
VB5で作ったアプリを入れられるなら、ActiveXコンポーネントを入れることで
WSHでも解決できる問題でしょ。
524:名無し~3.EXE
07/03/15 21:37:43 2Y/tNLpI
URLリンク(www.microsoft.com)
Hey, Scripting Guy!
ファイルを選択するためのダイアログ ボックスを表示する方法はありますか
525:名無し~3.EXE
07/03/15 22:51:43 mA1C3Gzd
outlookが入っているならVBAでできるだろうに。
なくても標準的に入ってるCDO.Message使ってできるんじゃないの。
526:名無し~3.EXE
07/03/15 23:19:34 A7maWzfR
OutlookかOutlook Expressであるフォルダのメール全てに保存されている添付
ファイルを一気にどこかに保存するスクリプトって書けますか?
527:名無し~3.EXE
07/03/15 23:42:19 9FGCV+mK
>>524
どうせならこっち紹介しようぜ
URLリンク(www.vector.co.jp)
528:名無し~3.EXE
07/03/17 14:44:09 K8WNJf+j
Y岡か。懐かしいな。今頃どこでどうしてるやら。
529:名無し~3.EXE
07/03/17 14:46:30 K8WNJf+j
たしかExpressは無理だったような気が。
530:名無し~3.EXE
07/03/20 01:22:03 b9ZVd0cO
ADOのStreamを使って
ふつーのファイルを開こうと思ったんですが
オブジェクト作ってOpenしてなんとかfileloadして
さあRead(1)ってやったら (バイナリファイルを読みたいの)
「お前に食わせる担麺は許可がありません」
とか(文面はうろおぼえ)言ってエラーになったなdけど
なんでですかね?
Widows2kSP4, 普通のテキストファイルの読み出しのやつは
うまくいってます
531:名無し~3.EXE
07/03/20 01:25:56 kDerUjCx
お前に食わせるタンメンがないんじゃないですかね
532:名無し~3.EXE
07/03/23 18:16:44 +CYmGPKo
携帯から失礼します。
wshのプロ達に質問があります。
vbsでPOSTかGETを使って、文字列をWEBサーバに送信したいのですが、どうやれば良いのでしょうか?
533:名無し~3.EXE
07/03/23 18:22:58 G1TmW4yG
>>532
Microsoft.XMLHTTP とか MSXML2.XMLHTTP とか使えばいいよ。
使い方はここのログでも何度も出てきてるし、ググれば解説もサンプルもいっぱい転がってるから自分で調べよう。
534:名無し~3.EXE
07/03/23 22:47:00 cFMNGSpo
URLリンク(www.uploda.org)
上の画像のダイアログにユーザー名とパスワードを入力して
OKボタンを押すと動作をしたいのですが、アドバイスをお願いできませんでしょうか?
VBSを使っていて、他の部分は完成しているのですが、ここの部分だけがどうしても解りません。
535:名無し~3.EXE
07/03/23 23:13:34 byjtAjTE
セキュリティがそんなに重要じゃないなら
URLリンク(username:password@192.168.11.1)
を開くようにする
536:名無し~3.EXE
07/03/23 23:20:01 cFMNGSpo
>>535
ありがとうございます。
入力はそういうやり方もあるのですね。
その後のOKボタンを押す方法はないのでしょうか?
537:名無し~3.EXE
07/03/23 23:22:55 oZiRW3es
WshNetworkについて教えてください。
現在、webサーバーのJscriptを使用して、
クライアントのコンピュータ名を取得するプログラムがあります。
そのプログラム自体は、下記のとおりとなります。
エラーは2行目でおきているようです。
var WshNetwork;
WshNetwork = new AcriveXObject("Wscript.Network");
Com_Name = WshNetwork.ComputerName;
実は、クライアントの権限が今までドメインのadministratorであったものを、
ドメインのDomain Userとしました。
そのDomain Userには、クライアントのadministrator権限を追加してあります。
多分、ActiveXかWshのcomが読めなくなっているのではないかと思うのですが、
どこを調査していいのかわかりません。
使用しているwebサーバーはWindows 2000server、
クライアントはWindows 2000 sp3となります。
どんな小さなことでもいいですので、ご指導いただけないでしょうか?
よろしくお願いします。
538:名無し~3.EXE
07/03/24 00:32:32 jifbJ56b
>>536
>535をやればわかるさ
539:名無し~3.EXE
07/03/24 00:36:34 jjWZ4P7E
>>538
やったんですけど、OK押さないと進みません・・・。
540:名無し~3.EXE
07/03/24 00:57:10 jjWZ4P7E
PostMessage使えばいいのかもしれないのかな
541:名無し~3.EXE
07/03/24 01:03:19 jjWZ4P7E
すみません、SendKeys使うことで解決しました。
542:名無し~3.EXE
07/03/24 17:38:05 YkL2wEfh
CreateObject("Shell.Application").NameSpace("D:\").Items.Item.InvokeVerb "取り出し(&J)"
Win98 でこれを動かそうとすると「メモリが不足しています」とエラーが
出て上手く行きませんでした orz XPだと動いたのですけれども、Win98で
このvbsを動かすのは難しいでしょうか?
543:名無し~3.EXE
07/03/24 17:55:43 ZHR7dm/d
俺はWSHなんて使ったことない中学生だけど最新のWSHにうpだてすればいいんじゃないの?
URLリンク(www.microsoft.com)
544:名無し~3.EXE
07/03/24 18:31:13 5S0it1X0
>>537
エラー書けよ
>エラーは2行目でおきているようです。
3行目だろ?
545:名無し~3.EXE
07/03/24 18:57:09 ZyDgRrWX
>>544
うるせーよカス
546:名無し~3.EXE
07/03/24 18:58:49 ZyDgRrWX
>>544
カス
547:名無し~3.EXE
07/03/24 20:41:59 HRUO8j8b
>>542
Items.item.やめて
NameSpace(17).Items().Item("D:\")つかえ
548:名無し~3.EXE
07/03/25 00:01:03 HRUO8j8b
>>530
Typeをバイナリにしたんかい?
549:名無し~3.EXE
07/03/25 01:03:04 eJl21viZ
>>548
「その女が使っていたのはこんな言語じゃねえのか?」
そば売りがエディタをぺろりとなでると、とたんに問題のコードがJavaScriptに。
「うわっ!」
泡を食ったPGは何もかも放り投げて一目散に逃げていきました。
550:537
07/03/25 11:13:07 qiQp0b59
いや、エラーは2行目です。
行の前にメッセージボックスだすよういしたところ、
2行目の前のはでて3行目のはでませんでしたから。
エラーは「object error」とでます。
551:名無し~3.EXE
07/03/25 18:19:59 Tz2Q6Jgg
エラーメッセージをちゃんと書けよ。
俺の環境だと、>>537 を実行すると。
test.js(2, 1) Microsoft JScript 実行時エラー: 'AcriveXObject' は宣言されていません。
になるぞ。
て言うか、このメッセージ見て対応方法がわからんのなら、素直にあきらめろよ。
552:名無し~3.EXE
07/03/25 19:09:11 JJftShQn
>>537よ
Ac「r」iveXObjectになっとるがな(´・ω・`)
553:537
07/03/25 19:19:34 qiQp0b59
すいません。web系はほとんどわからずにこのプログラムいじらされてるんです…
他にどのような内容をかけばいいのでしょうか?
エラーメッセージはtry catchでひろったExceptionの内容ぐらいしかわかりません。
あと、2行目は下記間違えておりました。
正しくは「WshNetwork = ActiveXObject("WScript.Network");」です。
ど素人の質問だということは重々承知しております。
なんとかお力をおかしねがえないでしょうか?
554:理解もせずに try~catch なんか使わなきゃいいのに...。
07/03/25 19:47:56 Tz2Q6Jgg
いじれと命令した奴に「すみません、僕にはできません」と言え。
555:537
07/03/25 20:19:07 qiQp0b59
もうその人はいないんです。>554
普通にadministrator権限なら使えるんで、文法ミスではないと思ってます。
どこかにあるwsh等にパスが通ってないか、
それにアクセス権限がついてないかだと思います。
ただ、それがどのファイルかフォルダかわからないんです…
ちなみに、try catchは前からついてたのに、エラー表示するように修正しただけです。
htmlやjavaならまだわかるんですが、wshは全然使ったことないもんで。
ご不快はわかりますが、何らかのヒントはいただけないでしょうか?
556:名無し~3.EXE
07/03/25 20:43:54 ImjS/GXy
> もうその人はいないんです。
だったらやらなきゃいいじゃん。
その人が居なくなったのに、やらなきゃならないってことなら
結局誰かに押しつけられてることなんだから、その誰かに言え。
実力以上のことをカッコ良くこなしてるフリをするためにここを使うな。
ということで不快だからヒントはあげない。
- 終了 -
557:名無し~3.EXE
07/03/25 21:02:24 woCthK/z
単にIEのセキュリティ設定の問題だったりして、、、
そもそも単純なWScriptが動くのかどうかを確かめたら?
WScriptってローカル(クライアント)のPCにインストールされてないと
だめだからバスが同のって関係ないっしょ。
558:名無し~3.EXE
07/03/25 22:01:46 Tz2Q6Jgg
> try~catch なんか (* 使わなきゃ *) いいのに...。
559:名無し~3.EXE
07/03/25 22:38:31 RtcpckhP
切り捨てはfixだけど、切り上げって関数ないよな?
560:Adrienne ◆HI8ebVe8lo
07/03/25 22:50:53 MGTeqA1Y
>>559
JScriptならMath.ceil()が切り上げだけどね。
561:名無し~3.EXE
07/03/25 22:52:25 rws3m5kX
取りあえず負の数にして Int して正の数にという手を思いついた
でもまあ JScriptor には Math.ceil/floor があるからどうでもいいや
562:559
07/03/25 23:13:50 RtcpckhP
0.9足してintでいいみたいです。
563:名無し~3.EXE
07/03/25 23:16:54 +IWPGL+l
すみません質問です。
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFile "C:\test\test.txt", "D:\test\"
みたいな感じで単純にファイルをコピーするスクリプトなのですが
C:\Program Files\NetTransport\username' NetTransport.database
と言うファイルのコピーに失敗します(ファイル名に ' が含まれるとダメ)
コピーさせる方法はありますでしょうか
564:名無し~3.EXE
07/03/25 23:28:46 rws3m5kX
>>562
いや良くないだろ。
Int(0.05 + 0.9) だと 0 になるぜ。
>>563
ふつーにできたけどなぁ。
単に読み込み禁止でロックされてただけじゃね?
565:名無し~3.EXE
07/03/25 23:37:08 +IWPGL+l
>>564
レスどうもです
今やり直したら確かに普通に成功しました
仰るとおりロックされてただけかもしれません
スレ汚し失礼しました
566:名無し~3.EXE
07/03/25 23:44:09 ImjS/GXy
>>564
扱う数値が少数第一位精度なら問題ないよ。
きっと>>559が扱うのは少数第一位精度なんだろう。
全ての条件で>>562のやり方が正しいとは言えないけど
頭ごなしにダメって言うのもどうかと。
567:名無し~3.EXE
07/03/26 00:23:53 PEHg0u9B
あと付けで条件つけてどうのこうの言うやつって...。
568:名無し~3.EXE
07/03/26 00:46:17 gncrFpqS
どうしようもないよね。
先に詳しい条件書かなかった559も559だが
その条件が解ってる559自身が、その条件に合う方法を見つけられたのに
後からこういう条件ではダメだのなんだの言っても仕方なかろうに。
569:名無し~3.EXE
07/03/26 03:15:27 N7Ok9Hes
>>566
そういうのは後々他のスクリプトに流用してバグの温床になったりするからなぁ・・・。
570:537
07/03/26 06:38:05 vTpT+SIA
やらなきゃいいんならやらないし、出来ないって上司にはちゃんといってる。
でも、仕事だからそのままにはできないんだよ。
別に実力以上のことやってかっこつけたいと思わないし、
出来ないならできないままにしときたいよ。
WSHのこと質問できるところには全部質問してるんだよ…
ちょっときいてみたいんだが、仕事で「出来ない」っていえる環境って、
どこら辺りにあるんだ?そのままにできるところにいきたいよ…
571:名無し~3.EXE
07/03/26 06:45:21 RmbsiKtv
>>570
お前は「空を飛べ」と言われたらどうする?
また2chに「教えてください」と書き込むのか?
572:名無し~3.EXE
07/03/26 06:46:32 OkIlf65J
空を飛べと言われたら、空を飛ぶに決まってるじゃないか!
573:名無し~3.EXE
07/03/26 07:54:27 N7Ok9Hes
>>570
金出して外注に投げるという手もあるぞ。
574:名無し~3.EXE
07/03/26 11:04:38 4cg/SX7J
ハ_ハ
ハ_ハ (^( ゚∀゚)^)
('(゚∀゚∩ ) /
ヽ 〈 (_ノ_ノ
ヽヽ_)
575:名無し~3.EXE
07/03/26 11:19:21 7F+Cl6xg
>>569
関数としてライブラリ化したり、コメントも入れずに使い回したりすればの話ね
少数一桁限定じゃ使いどころは少ないだろうが、内部関数として流用する場合は
その限定条件をコメントとして書いておくだけでバグの温床になるのは防げる
「汎用的に使えるようにした方がいい」というのはもっともだが、そうしてない状態を
「間違い」「バグの温床」と決めつけるのは、それ自体が間違いだ
もっと柔軟になろう
576:名無し~3.EXE
07/03/26 12:06:04 AD+rej51
確かに
577:名無し~3.EXE
07/03/26 12:45:00 R83/Lndf
- Sgn(number) * Int(-Abs(number))
578:名無し~3.EXE
07/03/26 13:15:01 R83/Lndf
>>553
>あと、2行目は下記間違えておりました。
>正しくは「WshNetwork = ActiveXObject("WScript.Network");」です。
それが間違い
579:名無し~3.EXE
07/03/26 13:23:00 tJ7Fxl2K
切り上げには切り上げ桁って要素もあるからな。
例えば0.05を1ではなく0.1に切り上げるということもある。
又は0.05を10に切り上げることだってある。
これだってまだ切り上げの中でも更に十進桁切り上げの中だけの話だし。
有る程度条件が決まってるなら、決め打ち処理するのも悪くないよ。
580:名無し~3.EXE
07/03/26 22:31:40 PEHg0u9B
>>570
なんでお前ができない ≡ そのままにしておく なんだ?
できる奴に代わってもらえばいいだけだろ。社内にいなければ、
>>573 の言うように外注に投げればいいだろ。
> 出来ないって上司にはちゃんといってる。
ホントか? 上司はそれに対してどう言ってるんだ?
>>579
そういうのは、10倍するなり、10で割るなりすればいいだけの話。
「扱う数値が少数第一位精度」等の入力データの条件はプログラマ
側ではどうしようもないケースも多いので、使えるケースはかなり
限られるよ。
581:名無し~3.EXE
07/03/26 22:35:31 72wywYVt
┐(゚~゚)┌
582:名無し~3.EXE
07/03/27 01:01:27 V+GQ+2Bi
>>575
うん。それはわかる。
ただ、このスレで質問する人間がその辺考えてコメント入れるかといえばかなり疑問。
だから、なるべく汎用的な回答をするか、駄目な条件は出してやる方が親切かなと思う。
583:名無し~3.EXE
07/03/27 21:19:51 NPBcdEuP
なんつーか・・・どうでもいいことのバランス感覚がバロスww
584:名無し~3.EXE
07/03/29 14:20:22 tN2jzjyY
スレリンク(mukashi板)
585:名無し~3.EXE
07/04/03 07:47:55 1Q99NK3W
特定のフォルダやファイルを右クリックしたときに出るポップアップを
スクリプトから表示させることって出来ないでしょうか?
586:名無し~3.EXE
07/04/03 11:28:39 22l3N1/7
PopupItemMenu()があるけど使えん
SelectItem()してSendKeys "+{f10}"
587:名無し~3.EXE
07/04/04 05:35:39 ssJ5F2b9
>>586
レスどもでした。
調べてみます。
588:名無し~3.EXE
07/04/05 23:47:56 9bAQcwbY
ie.DocumentからHTMLテキストを得るのには
どれを使うのがいいんでしょうか?
ie.Document.parentElement.outerHtml
を使っていたんですが、最近これだと
ちゃんと取得できないページがある事に気づきました。
Set ie = CreateObject("InternetExplorer.Application")
ie.Navigate "URLリンク(www.nicovideo.jp)
Do While ie.Busy Or ie.ReadyState <> 4
Loop
MsgBox ie.Document.body.parentElement.outerHtml
589:名無し~3.EXE
07/04/05 23:55:50 C+XbpQJO
生のソースは普通には無理だったんじゃないかな
XMLHTTP とか使った方が良い
// IPersistFile::Save なんだが、IPersistFile は IUnknown だから……。
590:名無し~3.EXE
07/04/06 01:24:27 qN1BBhr8
document.documentElement.outerHTML
591:名無し~3.EXE
07/04/06 01:48:49 qN1BBhr8
URL="URLリンク(www.nicovideo.jp)
Path="C:\hoge.html"
Set Application=CreateObject("Excel.Application")
RC=Application.ExecuteExcel4Macro("CALL(""urlmon"",""URLDownloadToFileA"",""JJCCJJ"",0,"""&URL&""","""&Path&""",0,0)")
MsgBox RC
はどうだろ?
592:名無し~3.EXE
07/04/06 02:04:55 blYi0hD7
>>589 >>590 >>591
みなさんどうもありがとうございました。
とりあえず上のURLだと
>document.documentElement.outerHTML
でできるようです。
ie.Document.all.tags("html")(0).outerHtml
という頭の悪い方法も考え出し、これでもできました。
590さんありがとうございました
>>589
完全な生はやっぱ無理ですよね・・・
>IPersistFile::Save
純粋なオートメーション以外は無理ですからね・・・
でもIPersistFile::Saveでもできるんですか?
今度使ってみようかな・・・
>>591
Excelは持ってないわけですが入手の暁には
試させていただきますm(_ _)m
593:名無し~3.EXE
07/04/11 02:06:10 g68mpwXM
IEで表示された画像のキャッシュ(ローカルパス)を取得する方法はないでしょうか?
594:名無し~3.EXE
07/04/11 11:27:29 iUttHWVD
> IEで表示された
スレ違い。
実行ホストがWSH(Windows Script Host)ではなくIE(Internet Explorer)なので。
ここはVBScriptやJScriptのスレではなくWSHのスレだから。
595:名無し~3.EXE
07/04/11 14:39:32 4FX0lSeC
>>593
スレリンク(tech板:951番)
スレリンク(tech板:953番)
しかしマルチじゃな
URLリンク(www.roy.hi-ho.ne.jp)
596:名無し~3.EXE
07/04/11 15:06:25 3IvfKlfV
>>594
WSHで起動したIEまたはすでに起動済みのIEから
強引に持ってくるという話だと思うよ。
スクリーンショットを取ってアドレスバーの画像を切り取り
表示されている文字を解析してURLを取得すればいいんじゃないか?
もしくはアドレスバーにカーソルをあわせて文字列をコピーし
クリップボードから取り出す
597:名無し~3.EXE
07/04/11 15:13:22 gY213RNS
>>595
レスどうもです。
言葉足らずでしたが、URLを与えてキャッシュパスを取得する、という
方法を知りたかったのです。
>マルチ
こちらで答えて頂けなかったので別の掲示板で聞いたものです。
(日時を見ていただければ分かるかと。
IEでもWSHでも、使用しているスクリプトエンジンは同じですし、こちらで聞いても
問題ないかと思ったのです。
IEのオブジェクトモデルに関する質問ともとれるのでグレーだとも思っていました。
失礼致しました。
598:名無し~3.EXE
07/04/11 15:15:40 gY213RNS
>>596
レスどうもでした。
上でレスしたとおり、言葉足らずでした。
失礼致しました。
599:名無し~3.EXE
07/04/11 16:12:37 4FX0lSeC
>>597
>こちらで答えて頂けなかったので別の掲示板で聞いたものです。
だからそれがマルチ。断ってから行くのが礼儀
>言葉足らずでしたが、URLを与えてキャッシュパスを取得する、という
>方法を知りたかったのです。
だから
|スレリンク(tech板:951番)
|スレリンク(tech板:953番)
に、Drag&Dropの代替をWSHでCOPY&PASTEしてやればよいだけ
600:名無し~3.EXE
07/04/11 16:18:22 4FX0lSeC
こっちで聞くならあっちを断って来い
601:名無し~3.EXE
07/04/12 07:22:13 3CusierK
久々にオレ様がきましたよ~
>>593
キャッシュをエクスプローラで開けばできるよ。
ie.Document(この場合のieはエクスプローラ)
からドキュメントオブジェクトを取得して中の要素を操作すればできる
>>594
おまいは勘違いし杉。
でもIEホストスクリプト(クライアントサイド)のスレが無い罠・・・
>>595
別にマルチでも目に余る失礼な態度でなければおkと思う。
つか返事が無ければ他にどうしようもない
602:名無し~3.EXE
07/04/12 21:54:42 G96tqkzp
NameSpace(32)では駄目なのか?
603:名無し~3.EXE
07/04/14 12:14:21 G3PWtnXe
そもそもVBScriptうんぬんじゃなくてIEのAPIの話なんだろ?
キャッシュへのアクセスなんてDOMと関係ないし。
で、>>594もまあちょっとあれだが、スレ違いだと思ったわけだろ
InternetExplorerオブジェクトにはそういう機能はない、で終わりだ。
代替案とかいいけどまずそれを確認してからやってくれな
604:名無し~3.EXE
07/04/14 15:41:56 YRhG6sRI
| お前ら、WindowsScripting使ってますか? Part3
| 733 名前:名無し~3.EXE :04/07/23 16:26 ID:7v/exN2o
| IE CacheR
| URLリンク(www.vector.co.jp)
605:名無し~3.EXE
07/04/15 07:00:23 4O+j/UhS
WSHで一意のテンポラリファイルを作るには
どうすればいいのでしょうか?
万一の既存ファイルの破壊を避けたいのです
606:名無し~3.EXE
07/04/15 07:24:33 C65AQ6We
FSO使えばいいじゃん。GetTempNameで名前を得ても良いし
FileExistsでファイルが無いことを確認して、有ったら連番でも付加して
再確認するようなループを作ってもいいし。
607:名無し~3.EXE
07/04/15 08:13:06 /KjjB8H6
IEのリンク上の右クリックメニューからVBSにリンクを送ってあげたいのですが、
WSHでIEのリンクを習得してあげるにはどうすればいいのでしょうか?
external.menuArguments.document.selection.createRange().text
とすることで、選択されているドキュメントを習得することはできたのですが、リンクを習得する方法がわかりません。
よろしくお願いします。
608:名無し~3.EXE
07/04/15 08:59:13 uT1NWWKf
今度こそ>>594だね。
external.menuArgumentsが使える時点で、間違いなくWSH実行ではなくIE実行だから。
とはいえ「external.menuArguments」でググった先見れば解決するけどね。
これでググって1件目のサイトは、俺もIEの拡張メニュースクリプトの勉強で利用させて貰った。
あとはサンプルとかも結構引っかかるので、暇があれば眺めるだけでも勉強になる。
609:名無し~3.EXE
07/04/15 09:31:31 /KjjB8H6
>>608
スレ違いなうえ親切に教えていただきありがとうございました。
これから精進します!
610:名無し~3.EXE
07/04/15 20:55:26 73Fg1OlE
私は Irvine のサンプルで学んだなー……。
611:名無し~3.EXE
07/04/15 21:49:44 j9mRoUTG
>>608
だから該当スレが無い。
Web制作板はサーバーサイドしか無い。
近いのはム板のHTAスレと思うが、
あそこには質問に答える回答者は殆ど居ないし、
HTAとIEは違うと言えば違う。
わざわざスレ立てるのもどうかと思うので
ここでいいんじゃねか?
唯一心配なのは質問者がWSHなのかIEの話なのかを
完全省略して質問してきて話が全然合わなかった場合だけど
612:名無し~3.EXE
07/04/16 11:53:08 j/Qm3ZvY
>>595
おまえ暇人だな
613:名無し~3.EXE
07/04/17 11:42:31 2Ck6Cllg
/////////////////Object.js
Object.prototype.x = 2;
////////////////test.wsf
<job>
<script type="text/javascript" src="Object.js" />
<script type="text/javascript">
to ={};
WScript.Echo(to.x);
</script>
</job>
先生っ、これだと組み込みオブジェクトの拡張が出来ません。
でも、test.wsfのJScriptのコード部分を切り出して、
<script type="text/javascript" src="hoge.js" />
みたいにすると、上手く行きます。
この違いって何?
614:名無し~3.EXE
07/04/17 11:58:03 2Ck6Cllg
おーいえーなんてこったい自己解決。
wsfのタグでこけてたらしい。
駄目だったtest.wsfのコード部分が
<script language="javaScript" /> になってた。
<script type="text/javascript" />にしたら大丈夫だった。
だから>>613は大丈夫ですね。なんという落とし穴。
615:名無し~3.EXE
07/04/17 12:08:43 2Ck6Cllg
もっかいレス。languageで揃えても大丈夫でした。
てかwsfだとlanguageの方が正しい感じなんですね。
616:名無し~3.EXE
07/04/17 20:57:29 khmIvrix
>>608や>>611の意見を考えた上で
スクリプトファイルをについてどうしてもわからないことがあるので質問させてください。
IEの右クリックメニューに登録してURLを特定のソフトウェアに貼り付けるスクリプトを書いているのですが、
ウェイトをかけるところがどうがんばっても動いてくれません。
<SCRIPT LANGUAGE="VBScript">
<!--
Set 111= external.menuArguments.event
222= external.menuArguments.document.elementFromPoint(111.clientX, 111.clientY)
Set 333= CreateObject("WScript.Shell")
333.Run "Notepad"
WScript.Sleep 1000
333.SendKeys 222
-->
</SCRIPT>
これを.htmlで保存後、MenuextでURLを送っているのですが、
7行目の一文字目で「オブジェクトがありません:WShost」となってしまいます。
ウェイトをかけないとまともに動いてくれないのですが、
この場合どのようにウェイトをかけてあげればいいのでしょう?
どなたかお力を貸していただけませんでしょうか?
617:名無し~3.EXE
07/04/17 22:01:20 QX125b/X
WSH実行でなければWScriptオブジェクトは無いので
WScript.~は使えないし、WScriptオブジェクトが無いような状況はスレ違いだってば。
変わりにIEの機能でウェイトを置くことは出来る。WScript.Sleepほど直感的なものではないけどね。
Web制作やHTAで使われる手法だから、そっち系の解説サイト回って、それでも解らなかったら
そっち系のスレで聞け。「該当スレが無い」とか言ってる奴も居るが、そんなことは全然ないから。
> >>608や>>611の意見を考えた上で
とか言い訳しても、スレ違いの事実は変わらない。
「マルチ失礼しますが」とか前置きしても、マルチすれば叩かれるのと同じ。
618:名無し~3.EXE
07/04/17 22:03:40 khmIvrix
>>617
わかりました。
ありがとうございます。
619:名無し~3.EXE
07/04/17 22:08:32 tkBKDmqU
スクリプトごと気で威張ってる自称上級者って痛いよね。
自分はどうせコピペぐらいしかやってないくせに。
620:名無し~3.EXE
07/04/17 22:39:11 pianEbMs
>>616
メニュー拡張で待つのは難しかったような
待たないでやる方法を模索したほうがいいんちゃうか
621:名無し~3.EXE
07/04/17 22:48:18 pianEbMs
>>616
どうしても待ちたいなら
スレリンク(tech板:974-984番)
622:名無し~3.EXE
07/04/18 01:44:18 EcPUf9dE
> 「該当スレが無い」とか言ってる奴も居るが、そんなことは全然ないから
ではどこのスレでそういう事を教えてくれるのか
具体的に教えていただけますかね?
誘導するのならちゃんと具体的に示すべきだと思いますが?
あと、マルチ叩きとか、WScriptが無いからスレ違いとか
くだらな杉。
ムダにレス消費するだけだからお前が答えたくなければ黙っとけ
つか>>617は本当にゴミレスだね。何の情報も無い
ちなみにこれもゴミレスです~
623:名無し~3.EXE
07/04/18 03:57:31 GjzdXx90
ちなみにこれもゴミレスです~
624:名無し~3.EXE
07/04/18 11:17:22 liUfKfa9
書き込んだ奴そのものがゴミだからしょうがないね
m9
625:名無し~3.EXE
07/04/18 11:43:19 fiFeCVqu
WScript.もCOMオブジェクトなので
それをIEなどに渡してやればWScript.Sleepなども使えるよ
面倒さを超えるメリットがないのでしないだけ
626:名無し~3.EXE
07/04/18 13:16:27 fiFeCVqu
wscript.vbs
---
set shell=createobject("shell.application")
shell.windows().Item(0).putproperty "WScript",WScript
MsgBox "Waiting...",,WScript.ScriptName
---
hoge.hta
---
<script language=vbscript>
set wshell=createobject("wscript.shell")
wshell.run "cscript wscript.vbs"
do while not wshell.appactivate("wscript.vbs")
wshell.run "ping localhost -n 1",0,true
loop
set shell=createobject("shell.application")
set W=shell.windows().Item(0).getproperty("WScript")
W.Echo "hoge"
</script>
627:名無し~3.EXE
07/04/18 15:31:38 DNW4VSpp
こいつ、バカだw
628:名無し~3.EXE
07/04/18 16:48:45 Lu/hjP0v
また何か訳わからんのが沸いた >>627
629:名無し~3.EXE
07/04/18 18:01:04 v/cHbh3Z
何ムキになってるの?
630:名無し~3.EXE
07/04/18 21:59:46 2KIA1Ng+
>>625
一回自分でやって、アホさに気づけ。
631:名無し~3.EXE
07/04/18 23:28:47 B4mHvh80
しかし何だかなこのスレは・・・
だからどう見ても>>625は
こんな事やるのはアホくさいからやらない、
と言ってると思うんだが・・・
632:名無し~3.EXE
07/04/18 23:33:59 B4mHvh80
多分知らなかった、という事なのだろうが
あんまり悔し紛れに変な事言わない方がいいぞ?
せっかくお前らの知らない事書いてくれてるのに・・・
つかこのスレもダメだな・・・
633:名無し~3.EXE
07/04/19 00:08:31 /faBWwVN
たとえばアプリを制御するのにちゃんと経路が用意されてるけど
面倒だから全部SendKeyで操作しちゃうとかよくやるだろ。
で、納品先で処理中にキー叩くバカがいたりして
ロールバックかかって全データパァになって
サービスセンターから夜中にたたき起こされて
634:名無し~3.EXE
07/04/19 01:23:10 /BqK3ADX
>>633
いや、それは設計者が悪いだろ。
客は常に最悪の操作をする前提で設計しなけりゃ。
「処理中のキー操作については保証外」って議事録でも作ってあるならともかく。
635:名無し~3.EXE
07/04/19 02:42:12 p7ByV6U7
>>634
大丈夫。その後の運用マニュアルには
「不要時はキーボード・マウスを取り外す」
という条項が追加されましたから!
さすがに転職を考えたよ
636:名無し~3.EXE
07/04/19 10:58:04 fJ+0DaBe
馬鹿は同じミスを何度もするからまた転職かな
637:名無し~3.EXE
07/04/19 18:46:05 cXVbURLh
素直にスクリプトしか書けない、って事白状しろよ。
VBやCなら普通にメッセージ送ればいいだろうさ。
あとまあ処理中はキーボードをロックしちまうとかな
638:名無し~3.EXE
07/04/19 23:21:07 p7ByV6U7
別にそんなことわざわざいう必要も無いよ。
全部キーボード操作した、納品先の会社の新人のせいにしたから。
639:名無し~3.EXE
07/04/19 23:25:49 rvvht0fD
さすが能無し。言い訳と自己弁護だけは一人前。
640:名無し~3.EXE
07/04/20 00:25:35 JAWrAlO6
>>639
お前少しきつ過ぎね?
>>638
いや
これの事言ったのよ
>たとえばアプリを制御するのにちゃんと経路が用意されてるけど
>面倒だから
と言ってるのが言い訳で
実はSendMessageを使った事がねーんだろーと
641:名無し~3.EXE
07/04/20 00:27:12 NBN5PLNf
つか、それは納品先もアホすぎる。
俺なら要求仕様を満たしてないって言って納品書を突っぱねるが。
642:名無し~3.EXE
07/04/20 00:48:41 JAWrAlO6
相手先にスクリプトキディ程度のスキル持ってるのが
一人もいないからじゃね?
643:名無し~3.EXE
07/04/20 01:03:02 RNda4icP
おまいら良くそんな他人ごとに熱くなれるな
644:名無し~3.EXE
07/04/20 02:37:58 P4B3OPLJ
>>640
そ、そのくらい使ったことくらいあるわよ!
予算10万でやってって言われたから 手を抜いただけなんだからね
勘違いしないでよ!
645:名無し~3.EXE
07/04/20 15:19:57 4KZDDhdu
どの位の規模はしらんが、
スクリプトで10万もとるのかよ・・・
646:名無し~3.EXE
07/04/21 01:51:08 7KTLSfod
ヘタに手を抜くと後でガチャガチャ言われてかえって面倒なんで
どんなバカでも使えるようにしとくもんだけどな。普通。
・・・まあVBSでなく最低VBが使えて、の話だが。
647:名無し~3.EXE
07/04/21 08:49:29 mN72ojZl
>>646
それやってると赤字になりかねんし。
でも相手の現場に責任かぶせると、次からやりにくくなるからお勧めしない。
基本は制限事項を議事録にとっとくことだね。
648:名無し~3.EXE
07/04/21 10:45:52 evmfqMJZ
> それやってると赤字になりかねんし。
どんだけへたれの会社なんだよ。
て言うか、納品するんならもっとちゃんと見積もれよ。
自分の見積もり能力のなさを、赤字になるからって手抜きするなんて
最低の会社だな。
649:647
07/04/21 12:10:15 mN72ojZl
>>648
いや、俺は>>633ではないので・・・。
営業が既設品の流用とか、簡単でいいとかって条件で安くとってくることはある。
設計積めている段階で、安く作るとまずい条件が見つかることもよくある。
そういう場合は
「これこれこういう場合はまずいんで、そこは運用で回避してくださいね」
「それが駄目なら受注仕様書の変更になるので見積もりからやり直しますよ」
と提案すればだいたいは運用で回避してくれる。
明らかにこっちの落ち度なら、赤字でやるけどね。
受注仕様書は客のサイン貰ってるんだから、それの範囲外は金が出ないならやらない。
650:633
07/04/21 13:12:06 uI3/X9aK
>>649
そうそう!
安く請け負ったときは、ぜーんぶ運用で回避!
これが基本だよね~。
自慢じゃないが、赤字でなんかやったことなんか無いよ
651:名無し~3.EXE
07/04/21 18:21:38 biPPlYdx
短期的にはそれでいいかも知らんが
その内仕事来なくなるよ
特別なコネクションでもないと