- ベストアンサー
dim を解放
VBスクリプト です。 DIMで宣言された変数を解放するにはどうすればいいでしょうか? DIM myfilename myfilename="ああああああ" このときmyfilenameには「ああああああ」が入っていますが、これを空。初期状態に戻すにはどうすればいいでしょうか? redim filename としたら()がないとか言われてエラーでした。 ()つけてもエラーでしたけど。 今 http://www.okweb.ne.jp/kotaeru.php3?q=281720 の疑問を解決しようとVBスクリプトで作成していきづまってるところです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
for h=0 to objcnt-1 erase mynewfolname set myobjfol = myfso.getfolder(myobjArgs(h)) myfolname=myobjfol.name myfolpath=myobjfol.path
その他の回答 (1)
- asuca
- ベストアンサー率47% (11786/24626)
Set myfilename = Nothing でいいのでは?
お礼
こんばんは。ありがとうございます。 やってみたら、 オブジェクト型の変数は設定されていません。 コード: 800A005B ソース: Microsoft VBScript 実行時エラー んん なんででしょう。。。
補足
ドロップしたフォルダ名を全角から半角に変換するスクリプトです。 不完全ですが。 ------------------------------------ dim myoldfolname 'ドラッグアンドドロップを使えるように Set myobjArgs = WScript.Arguments 'フォルダ名を調べる準備 Set myfso = CreateObject("Scripting.FileSystemObject") objcnt=myobjArgs.Count 'ドロップされたアイコンの数を計算 for h=0 to objcnt-1 set mynewfolname=nothing dim mynewfolname set myobjfol = myfso.getfolder(myobjArgs(h)) myfolname=myobjfol.name myfolpath=myobjfol.path msgbox "変換しようとするフォルダは "&myfolname&" です。" '一文字づつ半角文字を探します。。 英数字以外はどうなるか不明。 for i=1 to len(myfolname) myoldfolname=mid(myfolname,i,1) msgbox myoldfolname&" の文字は" if asc(myoldfolname) < 0 then 'ここで全角英数字から半角英数字に変換 'キャラクタコード 全角のAは-32160 半角のAは65 mynewfolname=mynewfolname&chr(asc(myoldfolname)+(65+32160)) msgbox "半角に変換します。" else mynewfolname=mynewfolname&myoldname msgbox "半角でしたので変換しません。" end if next 'ここで半角の文字と置き換え。新旧入れ替えです。 myobjfol.name=mynewfolname msgbox "半角に変換しました。 "&mynewfolname next
お礼
ありがとうございます。 エラーでした。 ------------------------------------------- スクリプト:フォルダ名の全角を半角に変換.vbs 行: 11 文字: 1 エラー: 型が一致しません。: 'erase' コード: 800A000D ソース: Microsoft VBScript 実行時エラー ------------------------------------------ 型が一致しないって・・・ VBスクリプトって型なんてありましたっけ?? ためしに mynewfolname="" ってやってみたら、なぜかうまくできました。 いろいろお世話がせしました。ありがとうざいました。