人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VBScriptにおいて、FileSystemObjectのWriteLineメソッドを使ってファイルへの文字列の書き出しを行おうとしたのですが、「-」(減算記号:文字コード8722。HTMLでは「−」)を書き出そうとした場合に次のエラーになります。
プロシージャの呼び出し、または引数が不正です。

この現象について解説したサイトはありますでしょうか?(日本語で探したのですが見当たらないもので…)
また、VBScript以外でも、Javascriptなど、FileSystemObjectを使う言語において、このエラーは起こってしまうものでしょうか?

●質問者: 敷守ほむら
●カテゴリ:コンピュータ
✍キーワード:HTML JavaScript VBScript いもの エラー
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● hidering
●35ポイント

特殊文字は環境によって扱いが変わるようです。

(http://ykr.main.jp/html/component/entities.html)

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?mode=viewtopic...

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?mode=viewtopic...

対応していない環境の場合、文字を使用しない。又は、置換するのがエラーの回避策のようです。

◎質問者からの返答

ありがとうございます。

Replaceで置き換える方法で対処はしたのですが、hideringさんに出していただいた3番目のURLの内容を見ると、他の文字でも起こるみたいですね。

エラーが起きた時点でどの文字か特定してその都度文字を置き換えていく必要がありそうです…。


2 ● airplant
●35ポイント

VBScriptだと「-」や機種依存文字が書けないと言うのは、聞いた事がないなのですが、、、

書き込み以外のところでエラーになっていませんでしょうか? それかデータベースの処理系の部分でエラーかも知れません。


以前下記コードで文字をファイルに書き込みしたことあるので、試してみました。しかし、少なくともWSH環境でのVBScriptでは「-」も機種依存文字もエラーにはならず、書き込みできました(xxx.vbsで保存して色々な文字を試せます)。

Option Explicit

Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const iniFile = "test.ini"

Dim objFSO, objInput, objOutput, nn

Set objFSO = wscript.CreateObject("Scripting.FileSystemObject")
On Error Resume Next
Set objInput = objFSO.OpenTextFile(iniFile, ForReading)
nn = objInput.ReadLine
objInput.Close
On Error GoTo 0

nn = InputBox("文字を入力", , nn)
Set objOutput = objFSO.CreateTextFile(iniFile)
objOutput.WriteLine (nn)
objOutput.Close
◎質問者からの返答

ありがとうございます。

提示していただいたコードをvbsファイルとして保存してテストしてみたのですが、やはり、「-」でエラーになってしまいます。(「-」ではないです。試しに「-」をコピーしてテストしてみてください。)次のようなエラーです。

スクリプト: (ファイルのフルパス)

行: 17

文字: 1

エラー: プロシージャの呼び出し、または引数が不正です。

コード: 800A0005

ソース: Microsoft VBScript 実行時エラー

17行目は「objOutput.WriteLine (nn)」です。

最初このエラーに気づいたのはASPでの処理だったのですが、エラーの場所を特定するために、「on error resume next」をかけた上で、処理ごとに「response.write err.description」をかけて一行ずつ処理を追っていって、さらに、一文字ずつ出力するように処理を分解した上で特定しているので、エラーを起こしたのはWriteLineで間違いないはずです。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ