VBSで便利なプログラムを作れスレ at TECH
[2ch|▼Menu]
[前50を表示]
300:デフォルトの名無しさん
10/07/26 11:43:18 .net
元データの格納場所がDBならSQLって手もあるな

301:デフォルトの名無しさん
10/07/26 13:40:13 .net
複数箇所のフォルダ管理だからDB化は難しいかな

そして変数もクリップボードも足りなくて使えないや
数万件ファイル名に各々文字列連結して全部つぎ込むとかムリゲ
txtに書き出すなら配列に格納する意味無さそうだしなあ

302:デフォルトの名無しさん
10/07/26 14:02:03 .net
クリップボード出来ないことはないが、テキストに書き出す20倍くらい時間かかってる
IEクリップボードのせいか?
VBなら早いのに

バックグラウンド処理するのにこんなに時間も負荷もかかるなら、クリップボードは使えないな

303:デフォルトの名無しさん
10/07/26 18:15:12 .net
質問です!
クリップボード使ってテキスト書き出しってど〜やるの?

304:デフォルトの名無しさん
10/07/26 18:37:47 .net
IE使うのが一般的かな
上がクリップボードから読み出し
下がクリップボードへ書き出し
書き出すときはクリップボードをクリアしてから格納すること
Microsoft Forms 2.0設定できればクリップボードも早くなるかもしらんが

objIE.document.parentWindow.clipboardData.GetData( "Text" )
Document.parentWindow.clipboardData.setData "text",""

305:デフォルトの名無しさん
10/07/26 18:40:17 .net
いや、その後に「一括書き込み」するんでしょ?そっちのやり方。

306:デフォルトの名無しさん
10/07/26 19:17:44 .net
何を聞きたいのかよくわからんが・・・
objOutFile.WriteLine strDate で書き込めるだろ
改行したいならクリップボードに格納するときに VBCRLFでつなげればテキストには反映される

307:デフォルトの名無しさん
10/07/26 19:27:58 .net
いや、なにか「速い」機能があるのかと思って・・・

VBだと速いの?

308:デフォルトの名無しさん
10/07/26 20:30:10 .net
そういうことか

前エクセルVBA使ってたときは、クリップボード経由のデータ貼り付けってかなり早かった気がする。
とはいえエクセルだと配列→セルが強力すぎるからあんまり使わないんだけれども。

309:デフォルトの名無しさん
10/09/30 20:04:17 .net
Set objFSO = CreateObject("Scripting.FileSystemObject")

set objOpenFile=objFSO.Open


310:TextFile("C:\hoge.txt",1,false) msgbox "ロックちゅ〜" なんかもんだいありまっか?



311:デフォルトの名無しさん
10/09/30 20:45:49 .net
ファイルロックを同期に使うなとあれほど

312:デフォルトの名無しさん
10/10/22 12:09:59 .net
WshShell.Environment("USER").Item("UNKO") = "うんこ"
Wscript.Echo WshShell.ExpandEnvironmentStrings("%UNKO%")

結果:%UNKO%

値を「うんこ」に設定できません。自分で自分の環境変数は変えられないのですか?

313:302
10/10/22 12:35:04 .net
自己解決しますた

314:デフォルトの名無しさん
10/10/25 20:30:58 .net
以前、自動生成するファイルの拡張子に
.unk ってのを使ってたら(内容不明の場合に作るファイル)
「別に拡張子はナニつかってもいいけどさぁ
 "うんこ"ってのは、ちょっとどうなのよ」
て先輩に言われたことがあったのを思い出した。

315:デフォルトの名無しさん
10/10/26 01:31:14 .net
shine.unko
こんな感じですか?わかりません。

316:デフォルトの名無しさん
10/10/26 18:43:40 .net
>>305
unknownだっつってんだろダラズ

317:デフォルトの名無しさん
10/10/26 21:42:34 .net
うんこなうんか

318:デフォルトの名無しさん
10/10/29 23:53:34 .net
>>304
Lotus Notesなんかも添付ファイルが理解できない時に吐くみたいだね>unk
個人的には3文字中「un」で2文字使うのはどうかと思うので
「UKN」の方が好きだけど(天気図等で使うが少数派…)

いっそのこと3文字にこだわらずに拡張子を「.unknown」にしちゃえば?
(dir /xなど)8.3文字表示で見ると、ちゃんと「.unk」になるし

319:デフォルトの名無しさん
10/10/30 03:10:54 .net
>>308
なるほど、 .ukn か。

.unknownでもまぁ問題は無い気がするが
.unk でも十分伝わると思うんだ。
うんこって読む奴がうんこ。

320:デフォルトの名無しさん
10/10/30 09:52:51 .net
むしろunkでうんこって読める先輩って
kwsk、ktkr、wktk、ksk、gkbrみたいなアブジャド系表記に慣れてる2chねらなんじゃないのかw

321:デフォルトの名無しさん
10/10/31 22:53:19 .net
他コンピューターのパスを返す時に、ネットワークドライブ(\A〜Z)ではなく、
\\サーバー名\フォルダ〜というようにする方法はありますか?

322:デフォルトの名無しさん
10/11/01 00:28:50 .net
あります

323:デフォルトの名無しさん
10/11/06 00:05:55 .net
おまえ、わざと意地悪してるだろ
同僚や部下から嫌われるタイプだな

324:デフォルトの名無しさん
10/11/06 00:06:48 .net
死ねよ

325:デフォルトの名無しさん
10/12/25 06:45:27 .net
久しぶりになにかをVBSで書きたい。

326:デフォルトの名無しさん
10/12/26 21:35:06 .net
じゃあ「何か」を書いてみればいい。

327:デフォルトの名無しさん
11/01/02 00:13:10 .net
MsgBox "Hello World!!"


328:デフォルトの名無しさん
11/01/02 00:18:17 .net
MsgBox "Happy New Year !"

329:デフォルトの名無しさん
11/01/02 00:23:59 .net
ゴサっ

--------------------
dim i
dim j

for i=1 to 1000

j=j+0.1

next

MsgBox j


330:デフォルトの名無しさん
11/01/04 13:34:29 .net
TEXTファイルから
特定の文字や特定の行を抜き出す
スクリプトってない?
三次元測定機からCADに
XYZ手動で打ち込むのもういやになった。

331:デフォルトの名無しさん
11/01/04 15:12:23 .net
>>320
ある。というか簡単だよ
テキストファイルを開いて1行ずつ読みながら正規表現等でチェックしていくだけ
2行以上に渡るデータだと少し面倒だけど大した手間ではない

でも仕様によってはわざわざ作らずに
SakuraエディタなどのテキストエディタのGrep機能で充分だったりするけど


332:デフォルトの名無しさん
11/01/04 17:00:53 .net
textファイルをドラッグアンドドロップで

DIM


333: LOC1= LOCATION OF CIRCLE CIR1 UNITS=MM ,$ GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO AX NOMINAL +TOL -TOL MEAS DEV OUTTOL X 469.343 0.050 -0.050 469.343 0.000 0.000 ---#---- Y 2.106 0.050 -0.050 2.106 0.000 0.000 ---#---- Z 412.000 0.050 -0.050 412.000 0.000 0.000 ---#---- D 53.996 0.050 -0.050 53.996 0.000 0.000 ---#---- DIM LOC4= LOCATION OF CIRCLE CIR4 UNITS=MM ,$ GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO AX NOMINAL +TOL -TOL MEAS DEV OUTTOL X 386.074 0.050 -0.050 386.074 0.000 0.000 ---#---- Y 2.461 0.050 -0.050 2.461 0.000 0.000 ---#---- Z 577.913 0.050 -0.050 577.913 0.000 0.000 ---#---- D 44.971 0.050 -0.050 44.971 0.000 0.000 ---#----      ↑こんな感じの中身を      こんな風に↓ /469.343/2.106/412.000 /386.074/2.461/577.913 XYZを/に置き換えて さらにXYZのNOMINALの数字だけを残して さらにデスクトップにtextで保存されるようなやつです 難しいですね、すいません



334:その1
11/01/04 22:51:41 .net
>>322
とりあえず作ってみた

' [仕様]
' NOMINALの位置は固定(XYZの直後)
' X,Y,Zはこの順番で必ず出現
' 数値間はスペース区切り
' 出力ファイルはデスクトップに元ファイル名(拡張しなし)_XYZ.txtというファイル名で出力
Dim fso,wshShell,regXYZ
Dim inFilePath,outFilePath,inFile,outFile,sDeskTopPath,sLine,retMatches
Dim X,Y,Z,isOutput
Const REG_XYZ_NOMINAL = "^([XYZ]) +([^ ]+) " ' 先頭XYZ の後空白があり次に空白が来るまでの値
Const OUT_FILE_TAIL = "_XYZ.txt" ' 出力ファイル末尾
Set wshShell = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Set regXYZ = New RegExp
With regXYZ
.IgnoreCase = False ' 大文字小文字区別する
.Global = False ' 先頭の一致のみ
.Pattern = REG_XYZ_NOMINAL
End With
sDesktopPath = wshShell.SpecialFolders("Desktop") ' デスクトップの取得
inFilePath = WScript.Arguments(0) ' 入力ファイル
If Not fso.FileExists(inFilePath) Then MsgBox(inFilePath & "が存在しません"):WScript.Quit
outFilePath = fso.BuildPath(sDesktopPath, fso.GetBaseName(inFilePath) & OUT_FILE_TAIL)

If fso.FileExists(outFilePath) Then
If MsgBox(outFilePath & "ファイルが存在します。上書きしますか?", vbYesNo ) = vbNo Then Msgbox "処理を中止しました":WScript.Quit
End If

335:その2
11/01/04 22:52:49 .net
Set outFile = fso.CreateTextFile(outFilePath, True)
Set inFile = fso.OpenTextFile(inFilePath, 1, False)
X="":Y="":Z="":isOutput = True
Do While ( Not inFile.AtEndOfStream )
sLine = inFile.ReadLine
Set retMatches = regXYZ.Execute(sLine)
If ( retMatches.Count > 0 ) Then
Select Case retMatches(0).Submatches(0)
Case "X"
X = retMatches(0).SubMatches(1):isOutput = False
Case "Y"
Y = retMatches(0).SubMatches(1):isOutput = False
Case "Z"
Z = retMatches(0).SubMatches(1)
outFile.WriteLine("/" & X & "/" & Y & "/" & Z)
X = "":Y="":Z="":isOutput = True
Case Else
End Select
End If
Loop
if ( Not isOutput ) Then outFile.WriteLine("/" & X & "/" & Y & "/" & Z)
inFile.Close:outFile.Close
set inFile = Nothing:set outFile = Nothing:set WshShell = Nothing
set fso = Nothing:set regXYZ = nothing
MsgBox "完了"
' その1とその2の内容を一つのテキストファイルに貼り付け XYZ.vbs 等のファイル名で保存してください

336:323
11/01/04 23:46:30 .net
追記
ソースを短くするために複数ファイルのドラッグ&ドロップには対応していません
# 複数の関数に分かれていたのを1つにまとめたりしたので

↓辺りを参考にすれば変更は容易です
URLリンク(msdn.microsoft.com)

337:デフォルトの名無しさん
11/01/05 10:04:58 .net
プログラム板凄すぎワロタw
ありがとうございます!


338:デフォルトの名無しさん
11/01/07 15:49:03 .net
どなたかリムーバブルメディアを取り出すvbs作ってください
お願いします
ジャンクのスロットローディング式のドライブ買ったらボタンがありませんでした

339:デフォルトの名無しさん
11/01/07 16:53:37 .net
011100111111011111
011110000111101111
001111100011110110
111010101101011101
100011101010101010

340:デフォルトの名無しさん
11/01/08 08:04:12 .net
>>327
ちょっと検索すれば出てくる。少しは自力で探そう

VBSにこだわらないのなら
Vectorで「トレイ 開閉」とかで検索すればフリーソフトがいくらでもあるし

と言ってるうちに見つけた。1行で書けるのが面白かったので個人的にメモ

' 光学ドライブが1台の場合
CreateObject("WMPlayer.OCX").cdromcollection.item(0).eject()

' 光学ドライブが複数ある場合などドライブ指定が必要な時(例は Q: ドライブ)
CreateObject("WMPlayer.OCX").cdromcollection.getByDriveSpecifier("Q:").eject()

341:デフォルトの名無しさん
11/01/08 12:38:00 .net
>>329
APIしか思い浮かばなかった俺には目から鱗だわ<WMPlayer

342:デフォルトの名無しさん
11/01/08 21:00:10 .net
>>329
もうCで作っちゃったけど
1行で済むんですね
ありがとうございました!

343:こいぴ
11/01/09 21:54:03 .net
業務で、VBSにデジタル署名をする必要が出ました。
各種調査しましたが、どうしても方法が解りません。
どのたか、ご教示願います。

344:デフォルトの名無しさん
11/01/09 23:18:39 .net
>>332
ここが色々手順を説明しているので分かりやすいと思う
URLリンク(msdn.microsoft.com)

345:デフォルトの名無しさん
11/01/10 21:05:09 .net
無料RPG製作ツール「ロープレジェネレーター」

 直感的操作で簡単なゲームが作れます。 簡単に配布可能な状態に出力することができます。
(HSP製のソースコード付きで、スクリプトの知識があれば自由度の非常に高いカスタマイズ
ができます)
他にも仲間預かり機能(100人も)や、仲間の状態/状態異常を細かく設定できたり、
乗り物が作れたりゲーム中に画像を差し込んだり、回転やフラッシュなどのエフェクト
なんかも簡単に作れる様です。戦闘はデフォだとドラクエ系。
移動は矢印キーの他に、キャラがマウスを追っかけたりするとのこと。
 他にはオートアクションというのがあってオリジナルシステムの製作に役に立つかも
しれない機能です。これは、マップエディタで設定することで、「マップに入った時・
出た時・一歩歩いた時・戦闘開始前」に自動的に実行されるアクションを設定できる
機能です。
■分からないことや要望は掲示板へどうぞ。他にもいろいろ進化中みたい。


346:デフォルトの名無しさん
11/01/28 13:34:09 .net
デスクトップ上に任意の文字だけを表示するVBSを作るのはむずかしいでしょうか?

347:デフォルトの名無しさん
11/01/28 14:47:38 .net
>>335
目的がよくわからないけど
スクリーンセーバーでテキスを表示しておけばいいんじゃない?

348:デフォルトの名無しさん
11/01/28 14:52:47 .net
>>336
目的はホットキーに埋め込まれたマクロの実行をする際に

その実行するモードがいま何になっているかをキーを押した時に数秒デスクトップ上に表示させるためです。



349:デフォルトの名無しさん
11/01/28 20:13:40 .net
>>335だけ見ると、そんなの簡単じゃんって思うが。>>337は意味わからんわ。

350:デフォルトの名無しさん
11/01/29 01:00:3


351:6 .net



352:デフォルトの名無しさん
11/01/29 07:18:06 .net
それ、"デスクトップ上に"ではなく"ウィンドウ内に"だろ

それで良いならわざわざバッチファイル使わずWScript.ShellのPopupで良いはず

353:デフォルトの名無しさん
11/01/29 08:29:29 .net
>>338-340
具体的なイメージで言うと
透明ウィンドウにテキストのみ表示するかバルーンメッセージ的なものを考えていたのですが
VBSで透明ウィンドウはできないっぽいのであきらめようと思います


354:デフォルトの名無しさん
11/01/29 09:14:11 .net
まあ外部COM使えばどうにでもなる話ではあるが、
それ言うと他も全て「COM使え」で終わってしまう。

355:デフォルトの名無しさん
11/01/30 22:09:09 .net
しまうね

356:デフォルトの名無しさん
11/02/01 21:14:34 .net

       +           +
         +      +
    +     シマウネ━━━━!!!!  +
          /・/\__       +
     +    丶'\||||||||||)〜  +
             << ̄>/    
      _|\∧∧∧MMMM∧∧∧/|_
     >                  <
  ─ / ─┐  /_   /_ヽ|  |ヽ  ム ヒ | |
 ─ /    / / ̄ /   ̄/  | ̄| ̄ 月 ヒ | |
 __ノ   \    _ノ   //\ / | ノ \ ノ L_い o o


357:デフォルトの名無しさん
11/02/01 23:48:04 .net
よろしくお願いしまう

358:デフォルトの名無しさん
11/02/08 22:16:59 .net
VBスクリプトで起動時にリモートデスクトップをマルチセッションで同時起動するスクリプトを書きましたよ

URLリンク(xbmc.inpane.com)

359:デフォルトの名無しさん
11/02/09 18:09:40 .net
質問です。

フルパスファイル名が書かれているテキストファイルを参照し、ファイル有無をチェックするやり方を教えてください。また、テキストファイルに記述されていないファイルが存在する場合もNGとしたいです。

360:デフォルトの名無しさん
11/02/09 19:43:41 .net
>>347
詰まる部分があるとは思えない初歩的なプログラムな気がするんだが。
とりあえず書いた所までどこかにアップしてみてよ。

361:デフォルトの名無しさん
11/02/09 20:24:29 .net
どこかにアップっていうか、ここに貼ればいいんじゃね?
そんな長いコードにはならんだろ

362:デフォルトの名無しさん
11/02/09 21:15:33 .net
いや、かなり長いコードになるかもよ。
前半の
>フルパスファイル名が書かれているテキストファイルを参照し、ファイル有無をチェックする
コレは簡単だよな。悩むこたぁない。

問題は後半のコレ
>テキストファイルに記述されていないファイルが存在する場合もNG
やっかいだぜ?

考え方としては、前半の処理と、後半の処理は完全に分けて
2本の別のプログラムを書くような気持ちでコーディングすればいいんじゃないかな。

363:デフォルトの名無しさん
11/02/09 21:36:33 .net
何処が厄介?

テキストに書かれたパスを連想配列に入れて
対象フォルダ内のファイルをループ回しながらExistsでチェックするだけだろ

364:デフォルトの名無しさん
11/02/09 21:59:35 .net
ほらね。わかってない。

365:デフォルトの名無しさん
11/02/10 01:35:05 .net
解ってないのは350。恥ずかしい、、、

366:347
11/02/10 08:01:03 .net
皆さんありがとうございます。

前半部分は大体イメージをつかめているのですが、後半部分でつまってます…

367:デフォルトの名無しさん
11/02/10 08:06:41 .net
とにかく自分で出来る部分まで書いて貼るなりどこかにアップするなりしろ

話はそれからだ

368:デフォルトの名無しさん
11/02/10 11:30:54 .net
つまり全ドライブの全フォルダを検索しなきゃならんな

369:デフォルトの名無しさん
11/02/10 11:48:49 .net
普通に考えれば、対象は一部(特定のフォルダ以下)だろ

370:デフォルトの名無しさん
11/02/10 13:09:11 .net
>>357
どうしてそう言い切れる。
本人はフルパスファイル名、つまり絶対パスを指定しているんだぞ
特定フォルダでいいなら相対にするだろ常識的に考えて

371:デフォルトの名無しさん
11/02/10 13:17:09 .net
昨今、相対パスが使われるのは相対パスでなければ困る場合のみで
どちらでも構わない場合は絶対パスを使うことの方が多い件について。

372:デフォルトの名無しさん
11/02/10 15:02:25 .net
>>347が情報小出しにするからイカンのだ
こういう質問者って大体足りてないよな色々と

373:デフォルトの名無しさん
11/02/10 20:22:36 .net
>>359
zipとかの書庫ファイルはなんで相対パスで格納してるか理解できる?
何のためにカレントディレクトリって概念があると思う?
何でわざわざ%SystemRoot%とか環境変数を定義してるのか疑問に思わない?


374:デフォルトの名無しさん
11/02/10 20:26:38 .net
相対パスが絶対的に必要ではない場合はって話をしてるのに
全く的はずれな例を持ってきたな

そういうことは相対パスそのものが無意味とか宣ってる奴に言ってやれ

375:デフォルトの名無しさん
11/02/10 21:27:12 .net
どちらでも構わない場合、ってどういう場合だよ
レスにアンカー付けるときにわざわざ
スレリンク(tech板:362番)
なんてする奴はいないだろ
逆に「絶対パスが使われるのは絶対パスでなければ困る」時でしかないだろ

376:デフォルトの名無しさん
11/02/10 21:49:46 .net
狭量なやつw

377:デフォルトの名無しさん
11/02/10 22:58:35 .net
>>361
質問者はzipファイルの中身まで調べるなんて設問はして無いだろ。
なんでオマエは論点をずらそうと必死なんだ?

378:デフォルトの名無しさん
11/02/12 11:50:55 .net
vbscriptでmicrosoft bluetooth stackの接続情報を得ることはできませんか?

379:デフォルトの名無しさん
11/02/13 08:23:52 .net
"E:\hogehoge\hoge"
というフォルダが存在した場合、そのフォルダを削除。
存在しなければそのまま終了。

という簡単なスクリプトを教えていただけませんでしょうか?

380:デフォルトの名無しさん
11/02/13 08:51:10 .net
いいよ。

で、どこを教えて欲しいの?
まさか1から10まで丸投げで全部書いてとは言わないよね?
しかも質問スレではなく、自分の書いたものを晒すスレで。

381:デフォルトの名無しさん
11/02/13 14:02:19 .net
いや○投げスレじゃね?ここ。

382:デフォルトの名無しさん
11/02/13 14:18:16 .net
>367
VBSじゃないが、これで事足りないか?
if exist "E:\hogehoge\hoge\." rd/s/q "E:\hogehoge\hoge"

383:367
11/02/13 14:31:51 .net
なんだか趣旨がよくわからないスレでしたが、どこへ質問すれば良いのかわからず、とりあえず書き込んでしまいました。
申し訳ありません。

>>370 さんのバッチファイルで満足な結果が得られました。
まさか1行で済むとは思いもしませんでした。

ありがとうございました。

384:デフォルトの名無しさん
11/02/13 14:32:35 .net
hoge\. だとhogeってファイルがあった時も反応するんだよな。
hoge\nul だとディレクトリしか反応しない。

385:デフォルトの名無しさん
11/02/14 23:17:24 .net
質問スレがみつからなかったので、こちらで質問させて頂きます。
Set objShell = WScript.CreateObject("WScript.Shell")
Set objExec = objShell.Exec("ipconfig.exe")
って実行した時に、標準出力に結果を出さないようにする方法ってありますか?
ipconfig 1 > nul
みたいな感じで、エラー発生時以外はすべて返ってくる結果を捨てたいのです。
そのまま書いてもうまく動かないです。

386:デフォルトの名無しさん
11/02/15 00:05:35 .net
つgoogle [wscript Exec 標準出力]

387:デフォルトの名無しさん
11/02/15 00:17:00 .net
>374
トラップされるって事は、読み出さない限り無視されるって事ですか?

388:デフォルトの名無しさん
11/02/15 00:19:20 .net
> 標準出力に結果を出さない
はipconfig.exeが対応してなきゃ出来ないよ

WSH(EXEC)が受け取った標準出力を
「コンソールウィンドウに表示しない」
ならどうにでもなるけど

389:デフォルトの名無しさん
11/02/15 00:36:44 .net
>376
コンソールウィンドウに表示しないと、1 > nul って同じ扱いですか?
質問ばかりで申し訳ない。

390:デフォルトの名無しさん
11/02/16 00:51:30 .net
ipconfigはネットワーク設定を確認する為のプログラムなんだから
エラーになるのはexeが見つからない時ぐらいじゃねーの。
ネットワーク設定されて無い時は"設定無し"って正常終了するんだし

391:デフォルトの名無しさん
11/02/16 02:01:02 .net
>>373
URLリンク(www.atmarkit.co.jp)

392:デフォルトの名無しさん
11/02/16 09:26:36 .net
pingで表示したくなくて、WMI使ったな

こんな感じだったと思う。
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")

Set colItems = objWMIService.ExecQuery _
("Select * from Win32_PingStatus " & _
"Where Address = '" & hoge & "'")

393:デフォルトの名無しさん
11/02/16 13:03:00 .net
何かすげぇな…

CreateObject("SAPI.SpVoice").Speak"Wellcom to VBScript."

394:デフォルトの名無しさん
11/02/17 05:50:16 .net
CreateObject("SAPI.SpVoice").Speak"KoNoHaYaSaNaRa. Ieru. Null Po."


395:デフォルトの名無しさん
11/02/17 12:24:42 .net
CreateObject("SAPI.SpVoice").Speak"Gutt."

396:デフォルトの名無しさん
11/02/17 22:51:24 .net
"null poor" "gad"にしたらそれっぽく聞こえるようになった

397:デフォルトの名無しさん
11/02/17 23:00:22 .net
こんな化石ネタに乗ってくる奴が居るとは、、、

398:デフォルトの名無しさん
11/02/20 20:13:23.14 .net
ほるだー内にあるoutlook6のメッセージファイル.emlを検索して、エクスプローラにリンク表示するプログラムを作ってます
が、.emlが開けない
アウトルックを軌道してクリックしたメッセージを表示したいのですが、どう書けばいいのでしょう。
wshshell.runでは出来ませんでした……

399:デフォルトの名無しさん
11/02/21 01:17:30.92 .net
ISPの切断>接続をしてくれるPGをどなたかキボン!
telnetでルータ(Aterm)に入って、PPPoEを再接続してくれる物です。

400:デフォルトの名無しさん
11/02/21 07:28:22.68 .net
だからここは自分で作って晒すスレで
質問スレや制作依頼所じゃないと何度言えば…

401:デフォルトの名無しさん
11/02/21 09:56:31.24 .net
ほかにいくか……VBSじゃなくてIEの問題な気がしてきた

402:デフォルトの名無しさん
11/02/21 21:02:49.69 .net
丸投げされるのはムカつくけど多少の質問ならいいんじゃね?

>>387
telnetで入れるならTeraTerm等でマクロ作ったほうが簡単。
もっとも擬似GUIだとお手上げだが。

403:デフォルトの名無しさん
11/02/26 01:19:27.04 .net
昔、telnetをラップするvbs作ったことあったな…

404:デフォルトの名無しさん
11/04/09 21:38:36.77 .net
こんな感じでマイドキュメントをコピーしてバックアップを
取ろうとしてるんですが、Windows 7だとエラーが返ってきて、
コピーできません。
Set objFS = CreateObject("Scripting.FileSystemObject")
objFS.CopyFolder "C:\Users\Admin","C:\test"
AdministratorでもコピーできないのってUACの仕様ですか?

405:デフォルトの名無しさん
11/04/09 21:50:40.23 .net
>>392
 >>388

406:デフォルトの名無しさん
11/04/10 00:04:08.05 .net
>>393
 >>390

407:デフォルトの名無しさん
11/04/10 00:16:29.59 .net
>>390を引き合いに出すなら、それを引き合いに出した>>394自身が答えてやらないとなw

408:デフォルトの名無しさん
11/04/10 06:02:52.24 .net
>>392
UACというかVistaからの仕様です
例え管理者といえど他人の敷地には許可無く進入は出来ません。
今までのウィルスならこれで全て無力化される、そんぐらい厳しい仕様。
因みにAdminとAdministratorは別物だよ。
XPまでのユーザー管理とは似た非なるものと認識しておこう。
ポリシーいじれば同じ感じに出来るけどめんどい。

409:392
11/04/10 19:18:31.68 .net
>>393
>>394
質問スレじゃないの理解してませんでした。申し訳ない。

>>395
フォローありがとうございます。

>>396
かなりめんどくさそうですね。手作業でやった方が速いのかも…
アクセスフォルダに所有権とかつけてみて、もうちょっとやってみます。
ありがとうございます。

410:デフォルトの名無しさん
11/04/23 17:43:43.24 .net
唐突ですがウサギ型ロボットをR2D2にする


411:スめのVBSを公開しましたよ ttp://xbmc.inpane.com/sub/nabaztag/



412:デフォルトの名無しさん
11/04/23 23:30:59.78 .net
会社の共有PCの管理のため、Windowsのログオンスクリプトにかまして、
とあるプロセスを監視しています。
なので基本的にユーザーがログイン中は常にWscript.exeが動いているのですが、
↓のような無限ループでもいいんですかね?
なんとなく無理やりな感じがして、もっとスマートなやり方があるでしょうか?



Call プロセス監視処理

@
Sub プロセス監視処理
Do
'WMIからプロセス取得して、目標のプロセスがでたらループ抜け
Wscript.Sleep 1000
Until
Call やりたい処理
End Sub

A
SUb やりたい処理
'やりたい処理がおわったらまた、プロセス監視処理をCall
End Sub

413:デフォルトの名無しさん
11/04/27 22:03:44.07 .net
おまえら>>399これくらいも答えられないのかよ
死ねっ!能無しども
会社でもろくな仕事してないんだろうなぁ・・

414:デフォルトの名無しさん
11/04/27 22:11:12.36 .net
>>400
あんまし読んでないしてきとーだけど再帰処理っぽいなと思った。
見つかるまで自分自身を呼び続けたらいいべさ

415:デフォルトの名無しさん
11/04/27 22:38:33.12 .net
>>825
URLリンク(mackerel.axfc.net)

416:デフォルトの名無しさん
11/05/20 13:19:16.79 .net
ここで聞いていいのか分かりませんが、分かる方いたら教えてください。
コマンドラインでフォルダを圧縮するためにZIP.VBSというのを使っているのですが、
MakeZIP.VBSでフォルダを圧縮する際、zipファイルにフォルダ名が格納されてしまいます。

photo
 ├aa.jpg
 └bb.jpg

上記のような場合に、zipファイルにphotoフォルダも格納されます。
これをphotoフォルダを格納せず、ファイルのみ格納するにはどこを修正すればよいのでしょうか。
よろしくお願いします。

417:デフォルトの名無しさん
11/05/20 14:38:03.93 .net
そもそもスレ違いだが、それ解らないレベルならZIP.VBSなんか使わずに
コマンドライン型のアーカイバツール使えよ。
GUIで予め設定しておけば渡したフォルダの中身だけ圧縮してくれるものなんて
いくらでもあるから。

418:デフォルトの名無しさん
11/05/23 11:47:33.82 .net
修正も何もコマンドラインをまず書けよ、なっ?


419:デフォルトの名無しさん
11/06/05 10:08:34.52 .net
ブ・・・vbs・・・
わしは・・ワシは今までこんな素晴らしい言語があるなんて知らなかった・・・!
APIなんかいらないじゃん!

420:デフォルトの名無しさん
11/06/05 11:18:49.84 .net
VBSにD&Dしたものを他のソフトのウィンドウへD&Dとして受け渡すことは可能ですか?

421:デフォルトの名無しさん
11/06/05 18:56:55.67 .net
ファイルへのD&Dなら可能
これは単なるコマンドライン実行なので

ウィンドウへのD&Dならデフォでは不可
専用のCOMでも作るか探すかすれば出来ないことはないだろうけど

422:デフォルトの名無しさん
11/06/06 00:45:23.45 .net
サンプルをいじることしか出来ない私には手に負えないですね…
諦めで別な方法を模索してみます

423:デフォルトの名無しさん
11/06/14 02:40:29.91 .net
2chのhtmlを取得して、vbsで正規表現による抽出と置換をしてhtmlを整形してログを管理するプログラムに読ませたい。

抽出までは上手くいきました。
しかし、正規表現による置換ができません
例えばこのスレのhtml内のコメ409を抜粋するとこうです
<dt>409 :<a href="mailto:sage">
<b>デフォルトの名無しさん</b></a>:2011/06/06(月) 00:45:23.45 <dd> サンプルをいじることしか出来ない私には手に負えないですね… <br> 諦めで別な方法を模索してみます <br><br>

ここから
409 :2011/06/06(月) 00:45:23.45 <dd> サンプルをいじることしか出来ない私には手に負えないですね…
<br> 諦めで別な方法を模索してみます<br><br>

にするには\<a.+/a>|(</a>:)|\</?.+?\> で置換して余計なものを取り除けばで


424:きました。 しかし、<dd>や<br>などの改行にあたる部分も別途置換しないといけないのでここで詰まってます。 片方づつなら出来るのですが同時に1スクリプト内 でやろうとするにはどうすればいいのでしょうか?



425:デフォルトの名無しさん
11/06/14 02:45:14.28 .net
\<a.+/a>|(</a>:)|\</?.+?\> の部分を空白に置換するvbsです
Dim objFile ' 対象ファイル
Dim oldText ' 置換前テキスト
Dim newText ' 置換後テキスト
Dim objFSO ' ファイルシステムオブジェクト
Dim objRep ' 正規表現オブジェクト
Dim repText ' 置換対象文字列
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("読む込むテキストファイル")

' テキストデータ読込
oldText = objFile.ReadAll

' 置換対象文字列
repText = ""

Set objRep = New RegExp

objRep.Multiline = True
' 正規表現パターンを指定する
objRep.Pattern = "\<a.+/a>|(</a>:)|\</?.+?\>"
objRep.IgnoreCase = True
objRep.Global = True
' テキスト変換
newText = objRep.replace(oldText, repText)
objFile.Close
' 書き込み
Set objFile = objFSO.CreateTextFile("書き出すテキストファイル")
objFile.WriteLine (newText)
objFile.Close


426:デフォルトの名無しさん
11/06/14 02:45:45.67 .net
' 書き込みの前から' 正規表現パターンを指定するへループして繰り返せればなと考えているのですが上手く思いつきません。
もし、わかるかたがいらっしゃれば教えてください。よろしくお願いします。


427:デフォルトの名無しさん
11/06/14 04:43:26.73 .net
やりたい事がいまいちわからないが、
複数回やりたいんであれば、
正規表現パターンを配列に入れて、ループするだけじゃないかな〜


428:デフォルトの名無しさん
11/06/14 07:48:13.52 .net
>>411
objRep.Pattern = "<(""[^""]*""|\'[^\']*\'|[^\'"">])*>"
こういうことじゃなくて?

429:デフォルトの名無しさん
11/06/14 19:38:12.72 .net
なんでdat使わないで、
わざわざhtmlなんて難しいものを使う?

430:デフォルトの名無しさん
11/06/15 11:59:02.32 .net
ちょっと見てみた、確かにhtmlよりdatのほうが容量4割減でおいしいんだけどタイトル取得できないのとコメ番号ないから置換するときどうやって割り当てようか思いつかない

431:デフォルトの名無しさん
11/06/15 12:03:32.40 .net
よくみたら1行目の最後にタイトルあったわ

432:デフォルトの名無しさん
11/06/15 19:08:23.10 .net
デスクトップから2ch検索するvbs作ってるんだけど、
変数の件でわからないところがある。
Dim 変数 で宣言する
このとき変数が、例えば2churlとかだと識別子がありません。とエラーがでる

churlなら問題ない、どうして先頭に数字がくるといけないんですか?
識別子がありません。

433:デフォルトの名無しさん
11/06/15 19:30:46.07 .net
先頭に数字が来ることを許すと
Dim 2
とか
Dim 123
という変数が出来てしまう

これってどうやって変数の2や123と、数値の2や123を識別するの?
ってことになるので、必ず英字を入れなければならないというルールが必要になるわけで
1文字の変数がある以上、その英字が入る位置は1文字目、つまり先頭になり
1文字目が英字でなければいけない=先頭が数字ではいけない
ってことになるわけだ

1文字目が英字でさえあれば、1文字変数でも、2文字目以降が数字でも
確実に変数と数値を識別できる

434:デフォルトの名無しさん
11/06/17 20:55:49.75 .net
vbsでpingを打って、通るまで処理を繰り返すスクリプトを
作成しているのだが、どうもうまくいきません。

IF文で分岐をさせるのはうまくいくのですが、以下のスクリプトで
192.168.0.3に対して通るようになった時点でスクリプトを終了
させたいんですが、どこが悪いんでしょうか?

dim strIP
dim timeOut
'タイムアウト設定(ミリ秒)
timeOut = "10"
strIP = "192.168.0.3"
Set objWMIService = GetObject("winmgmts:\\.")
Set colItems = objWMIService.ExecQuery _
("Select * from Win32_PingStatus " & _
"Where Timeout = " & timeOut & " AND Address = '" & strIP & "'")

For Each objItem in colItems
do while objItem.StatusCode <> 0
Wscript.echo "NG"
Set objWMIService = GetObject("winmgmts:\\.")
Set colItems = objWMIService.ExecQuery _
("Select * from Win32_PingStatus " & _
"Where Timeout = " & timeOut & " AND Address = '" & strIP & "'")

loop
Next

435:デフォルトの名無しさん
11/06/19 01:45:19.27 .net
選択プルダウンボックスとか作れたら便利になるのにな


436:



437:デフォルトの名無しさん
11/06/19 02:28:19.04 .net
VBSで選択プルダウンボックス使ってるけど、何か?

VBSというかWSHは、COM、OCXで拡張してナンボなんだから
欲しいけど言語に備わってない機能は、外部で補えば良いだけだ

438:デフォルトの名無しさん
11/06/19 07:13:15.16 .net
自分専用ならそうだろうけど、
comはインストールの壁が越えられない

439:デフォルトの名無しさん
11/06/19 07:17:25.40 .net
超えられるけど、何か?
USBメモリで持ち歩いて使ってる
COMのレジストリ登録を自動化してるとかではなく未登録で

440:デフォルトの名無しさん
11/06/19 07:43:48.47 .net
自信満々で「超えられるけど、何か?(キリッ」だもんなあw

441:デフォルトの名無しさん
11/06/19 08:09:56.20 .net
自信満々に言った「comはインストールの壁が越えられない(キリッ」
を否定されて悔しかったの?

442:デフォルトの名無しさん
11/06/19 08:19:38.57 .net
GetObject

443:デフォルトの名無しさん
11/06/19 08:29:07.02 .net
USB股間に忍ばせて持ち歩く男の人って・・・///
きみの端子にプラグ★イン!

444:≠423
11/06/19 10:02:11.33 .net
>>426
あのね、ある程度の会社ならね、勝手にツール類をインストールする事ができないのね。

USBメモリも、使用禁止、あるいは相当制限されているのが一般的なのよ。

445:デフォルトの名無しさん
11/06/19 12:12:42.62 .net
なんか勘違いしてる子が出てきたなw

あのね、comにインストールの壁なんて無いって話であって
USBメモリなんて、全く関係ない話なのよ

それと、『ある程度』レベルの会社だと、勝手にツール類をインストールする事ができないところが多いけど
『ある程度』を超えたまともな会社だと、勝手にツール類をインストールする事が出来るところも多い
セキュリティーが確立している上に、VBAやWSHなどの元から入ってる言語でいろいろ作れる奴が多いから
外部からのツールのインストールを制限しても、元から入ってる言語でツールが作れちゃうから意味無いw
逆にまともな会社だでツールのインストールを制限している場合は、WSHもVBAも制限してる

446:デフォルトの名無しさん
11/06/19 18:14:48.56 .net
≠423とか必死に否定すると、余計に・・・・・( ̄ー ̄)ニヤリッ

447:デフォルトの名無しさん
11/06/19 21:27:41.80 .net
「勝手に出来る」って方がおかしいだろ
今の時代どこもピリピリしてるってのに。
単におまえさん自身か会社がその客に信用されてるってだけじゃねーの?
でも普通は申請式だと思うけど。他人の会社で勝手にてのはどうかと思う。

448:デフォルトの名無しさん
11/06/20 00:02:07.13 .net
勝手にしてよいと許されていることを勝手にやる上で、何の咎があると?
なにか勘違いしてやいないか?

449:デフォルトの名無しさん
11/06/20 00:33:54.55 .net
これは突っ込んであげたほうが良いのだろうか?

450:デフォルトの名無しさん
11/06/20 00:59:30.37 .net
生温かい目で見守ってあげるのが良いんじゃないかと

451:デフォルトの名無しさん
11/06/20 10:20:41.11 .net
batファイルは止められませんね
じゃぁバッチ最強じゃん

452:デフォルトの名無しさん
11/06/20 17:46:53.34 .net
<a href="URLリンク(upload.jpn.ph)やきそば.zip">こちら</a>
という内容のテキストファイルからURLの部分を抽出して
変数に入れるっていう目的でvbs作ったんですが上手く変数に入りません

Dim objFile ' 対象ファイル
Dim oldText ' 置換前テキスト
Dim newText ' 置換後テキスト
Dim objFSO ' ファイルシステムオブジェクト
Dim objRep ' 正規表現オブジェクト
Dim repText ' 置換対象文字列
var1 = "解析.txt" '保存する名前
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(var1, 1, false, 0)
' テキストデータ読込
oldText = objFile.ReadAll

patrn="(http:\/\/[^\x22 ]+)" '検索する文字列を入力して下さい。
repText = "$2"

Set objRep = New RegExp
objRep.Multiline = True
' 正規表現パターンを指定する
objRep.Pattern = patrn
oldText = objRep.replace(oldText, repText)

WScript.Echo $2
objFile.Close

どうすればいいのでしょうか、もしわかるかた入れば教えてください。
自分では後方参照とかExecuteやマッチとかが関係ありそうで
調べて試したんですが思うようにいきませんでした。

453:デフォルトの名無しさん
11/06/21 21:55:45.73 .net
まずは基本を学べってレベル

454:デフォルトの名無しさん
11/06/23 15:44:28.14 .net
正規表現の構文がデタラメ。
パターンがデタラメだし後方参照の仕方もデタラメ。

ヘルプもろくに見てないだろ。

455:デフォルトの名無しさん
11/06/23 22:13:57.11 .net
置換という言葉の意味もわからぬまま、これをコピペ


456:して値を 置き換えたんだろう。 http://d.hatena.ne.jp/necoyama3/20081202/1228220710



457:デフォルトの名無しさん
11/06/23 22:32:18.65 .net
凄い違和感あったんだけど納得

458:デフォルトの名無しさん
11/06/23 23:57:00.51 .net
>>433
やっぱ許可貰ってんじゃん
ま、当たり前だよなびっくりした

459:デフォルトの名無しさん
11/06/24 07:22:39.31 .net
久しぶりに酷い自演をみた

460:デフォルトの名無しさん
11/06/24 10:19:04.37 .net
>repText = "$2"
この意味不明っぷりがすごいね

461:デフォルトの名無しさん
11/06/24 14:11:47.65 .net
突っ込む所はそこじゃないと思うがw

Echoのとことか、パターン自体に突っ込めよ

462:デフォルトの名無しさん
11/06/24 14:15:34.45 .net
>>440
> objRep.Pattern = "T..t"

感動的なパターンだなw

463:デフォルトの名無しさん
11/06/24 19:23:21.29 .net
>>437
ドリルの刑
URLリンク(www.amazon.co.jp)

姉妹編と違って表紙にドリルが載っていないのがイマイチだけど

464:デフォルトの名無しさん
11/06/25 00:10:36.15 .net
>>437も恥ずかしくて出れこれないんだから、いい加減に許してやれよ

465:デフォルトの名無しさん
11/06/25 13:11:24.67 .net
>>443
そんなに悔しかったの?

466:天使 ◆KOAgYBL/Xg
11/06/29 17:41:46.87 .net
さすが VBSなんていう時代遅れツール使ってるスレはレベルが低い

467:天使 ◆uL5esZLBSE
11/07/02 08:25:05.28 .net

ゴミみたいな奴だな


468:デフォルトの名無しさん
11/08/28 14:30:43.29 .net
文字を文字コードの数値に変換して出力したいんだけど誰か助けて

469:デフォルトの名無しさん
11/08/28 20:10:45.21 .net
asc("a")

470:デフォルトの名無しさん
11/09/01 09:14:32.07 .net
何その顔文字、ふざけてるの

471:デフォルトの名無しさん
11/09/01 10:09:24.83 .net
("з")

472:デフォルトの名無しさん
11/11/20 14:29:12.95 .net
(・∀・)

473:デフォルトの名無しさん
11/11/20 15:33:06.16 .net
VBScriptって、1ヶ月もあれば極められるよね

あとはCOMを何処まで使いこなせるかだけ

474:デフォルトの名無しさん
11/11/21 17:49:41.03 .net
そんな時期もありました

475:デフォルトの名無しさん
12/02/10 21:02:00.29 .net
例えば、notepad.exeを起動するvbsは?


476:デフォルトの名無しさん
12/02/10 21:08:54.09 .net
>>459
Set shell = CreateObject("WScript.Shell")
shell.Run "notepad"


477:459
12/02/10 22:23:36.81 .net
>460
分かりました。ありがとう

ところで、Option Explicitを書くとshellが宣言されてないと起こられますが
この場合、shellの型は何ですか?
あるいは、Option Explicitを書くべきじゃない?


478:デフォルトの名無しさん
12/02/10 22:46:07.22 .net
>>461
Object 型
VBScript では VB や VBA と違い、宣言で型を記述しないのであまり意識はしないが、
Object 型だけは代入時に Set を必要とするので認識は必要
あと、Option Explicit は書いた方がよい

Option Explicit
Dim shell
Set shell = CreateObject("WScript.Shell")
shell.Run "notepad"


479:459
12/02/11 07:35:54.95 .net
>462
ありがとうございました


480:デフォルトの名無しさん
12/02/12 01:57:20.27 .net
Option Explicitはtypo無くしてくれるからな
昔のソース改修でstrPrinterとstrPrnterで1週間ぐらいハマった記憶
今なら真っ先に疑うけど当時はまだ慣れてなくて泣いたなぁ

481:デフォルトの名無しさん
12/03/10 23:34:01.81 .net
>>462
CreateObject()の戻り値がObject型ってだけで変数に型は無いよ
Object型を変数に代入するのに、Setが必要なだけ

その証拠に、
Set shell = CreateObject("WScript.Shell")
shell = 1 '変数に型は無いので、この代入は有効
shell.Run "notepad" '変数には数値型のデータが入っているので、ここでエラーが発生

細かい事だけど、知っているのと知らないのでは大違い

>>464
typoを無くす為にOption Explicitを宣言してはいけない
Option Explicitの宣言は、ローカル変数とグ


482:ローバル変数の区別を明確にするために宣言すべき



483:デフォルトの名無しさん
12/03/11 04:51:38.09 .net
> 変数に型は無いよ
ちょっとハズレ

正しくはVBSの変数の型は、無いのではなくValiant型のみというだけ
で、Valiant型は内部型が固定されていないのでどんな型の値をも代入することが可能だが
値が代入されている状態では、内部に歴とした型という概念が存在する

細かい事だけど、内部文字列型と内部数値型では、外がValiant型でも扱いが異なるので、
知っているのと知らないのでは大違い

> Option Explicitの宣言は、ローカル変数とグローバル変数の区別を明確にするために宣言すべき
それ、VBやVBAの場合ね
それらの場合はグローバル変数(全モジュール共通変数)とモジュール内変数の区別に役立つ
でもVBSの変数スコープには、グローバル変数、プロシージャ内変数、クラス内変数の3つがあるが
Option Explicitはこれらの区別を明確にする役目は果たさない

484:デフォルトの名無しさん
12/03/11 09:35:32.83 .net
>>466
だから、違うって
全ての変数は型が無いことを保障されてるの、これをValiant型と言います
そして、型を持っているのは、データ側であって変数ではありません
変数に型がある場合は、オブジェクト型の変数に整数を代入する事は絶対に出来ません

次に、Option Explicitは、全てのスコープにDim文を強制します
VBScriptの仕様では、Dimで宣言された変数は該当スコープでのローカル変数として確実に扱われるが、Dimで宣言されない変数は、同名のグローバル変数がある場合、グローバル変数として扱われます
ようは、使うべきでないグローバル変数を誤って使う事をしない為に使われるのであって、typo問題の為に使われているのではない
考えるまでもなく、typoによって引き起こされる問題よりも、グローバル変数への不用意なアクセスによる影響の方がはるかに大きく深刻です


485:デフォルトの名無しさん
12/03/11 10:11:16.22 .net
バリアントの綴りが間違ってた...
ValiantではなくVariantでした。

486:デフォルトの名無しさん
12/03/11 10:54:20.03 .net
なんだ、この子全然解ってないんだね

487:デフォルトの名無しさん
12/03/11 11:14:12.71 .net
>>469
そう、>>466のように変数に型があると勘違いしていると、SubやFunction、Propertyに入力されるデータの型を勝手に期待して自爆する事になるよね
特にVBScriptのClass周りには、変数に型が無い事による罠が散りばめられてるからねぇ


488:デフォルトの名無しさん
12/03/11 13:25:47.06 .net
痛すぎw

489:デフォルトの名無しさん
12/03/11 13:38:11.81 .net
>>471
そう、>>466は理解の薄い痛い子だね
無型の変数に内部型があると信じている辺りが痛すぎる
型を持っているのは、変数ではなく値なのにね

たぶん、VBScript以外のプログラミング言語を使った事が無いんだろうね

490:デフォルトの名無しさん
12/03/11 18:41:00.25 .net
>>467
横レスだけど
ローカルとグローバルでの変数名は、設計レベルで対応すべき話では?
実際の製造(プログラミング)時はtypo対策の方が重要では

そもそも、グローバルとプロシージャレベルで同名変数使うって
どれだけ可読性の低いプログラムを書くつもりかと。
普通コーディングルールで禁止されていると思うし、自分なら禁止する

個人レベルならともかく企業でもVB系言語を使う以上、Option Explicitは
BASICを、普通の(変数宣言を強制する)プログラミング言語と
同レベルに引き上げるものだと思ってるけど

とMSX-BASIC1から入って業務でVBは2(Win版。流石にDOS版は触って無い)から
使っている年寄りとしては思う

491:デフォルトの名無しさん
12/03/11 18:57:57.83 .net
QB「

492:デフォルトの名無しさん
12/03/11 19:15:38.79 .net
>>473
だから、Option Explicitをつければ、コードの再利用に際して変数名に関する問題は起こらなくなるの


493:デフォルトの名無しさん
12/03/11 20:27:28.25 .net
Dimで解決するだろ

494:デフォルトの名無しさん
12/03/11 21:49:45.91 .net
>>476
だからソースの始めに、Option Explicitが必要なんじゃんw

495:デフォルトの名無しさん
12/03/11 22:27:49.57 .net
>>477
は?
typoしないんなら必要ないだろ?

ローカルでDimし忘れたらグローバルでDimしてる変数が使われちゃうぞ

496:デフォルトの名無しさん
12/03/11 23:22:53.96 .net
>>478
お前、馬鹿だろw
Option Explicitが書いてあれば、ローカルでDim宣言されている証明になるが
Option Explicitが書いてあっても、typoしていない証明にはならない


497:デフォルトの名無しさん
12/03/12 06:39:57.23 .net
なんか、自分自身が勘違いしていて痛い奴だってことに気付いてない
蘊蓄野郎が一人でずっと頑張ってるなぁ


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

1876日前に更新/318 KB
担当:undef