• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBSが起動できない(メール送信))

VBSが起動できない(メール送信)

このQ&Aのポイント
  • VBSが起動できず、メールの送信ができないエラーが発生しています。
  • Windows XP Home EditionでVB2010で作成したファイルを実行しようとすると、文字が正しくないというエラーが出力されます。
  • DIFFソフトでの検証でも同じものであることが確認できますが、エラーの解決方法が分かりません。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

>DIFFソフトで検証してもまったく同じものらしく理解できません。 全く同じであれば、同じ結果になるので、違う結果と言うことは、どこか違うわけです。 コマンドプロンプトから、 fc /b ファイル名1 ファイル名2 で比較してみてください。違う箇所が表示されます。

noname#234235
質問者

補足

notnot様 はじめまして、コマンドプロンプトで検証できるなんて初めて知りました。 ご指摘通りに実行すると、 FC: C:\MAIL.VBS は C:\mail3.vbs より長いファイルです という内容が表示されました。 中身はコピペなのに違うなんて・・ ただ、違う事はわかりましたが何が違うのかまではわからないのですが・・。

その他の回答 (3)

  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.4

#質疑の内容が私の手の届かない方へ行っているようですので、 #もう、お呼びでないかも知れませんが。。。 >スペースを疑い調査したところ、入っていませんでした。  では、私に考えられることは、次の1点ぐらいです。 >下記の "ような" スクリプト とのことですが、実際には Set oMsg = CreateObject("CDO.Message") が1行目ではなくて、その前に コメント が入っているというようなことはないでしょうか?  もともとの エラー 位置が「行:1、文字:1」ですから、 'hoge.vbs --------------------------------------------------- Set FSO = CreateObject("Scripting.FileSystemObject") With FSO.OpenTextFile("C:\MAIL\mail.vbs") WScript.Echo Asc(Left(.ReadAll, 1)) .Close End With '--------------------------------------------------------------- という スクリプト を実行して、「39」以外、例えば「-32411」が表示されるようでしたら、コメント の前の アポストロフィ が不正文字になります。  また、コメント も何もなく、いきなり Set oMsg = CreateObject("CDO.Message") から始まっているということでしたら、「83」以外が表示される場合は、「Set」の前に何か目に見えないものが入っていると考えられます。

noname#234235
質問者

お礼

何度も返信ありがとうございます。 なんというか自己解決してしまったようです。 原因はVBでの書き込み時にエンコードの指定をしていなかったのが原因かと・・。 いろいろとご指摘ありがとうございました。

noname#234235
質問者

補足

DOUGLAS_様 コメントは入っていないようです。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.3

#2です。 >fc /b C:\MAIL.VBS C:\mail3.vbs の結果で、 >ファイル C:\MAIL.VBS と C:\mail3.vbs を比較しています と >FC: C:\MAIL.VBS は C:\mail3.vbs より長いファイルです との間に何も表示されなかったとしたら、mail.vbs は mail3.vbs の中身の後に何かが付加されただけなので、それまでは同一です。従って、一方のファイルでエラーが出ず、他方のファイルで1行目1文字目でエラーが発生すると言うことは無いです。 今までのどこかで勘違いか作業ミスがあると思われます。

noname#234235
質問者

補足

何度も返信ありがとうございます^^ 勘違いと言われましても・・何度実行してみても同じ結果になるので・・・。 実際のファイルのプロパティを見てみると、手作業で作成したファイルのサイズは572バイト。 VBで作成したファイルのサイズは585バイトになっています。 中身はコピペなのにです。 以前業務で0バイトファイルが必要な時に、手作業でファイルを作成すると完全な0バイトにはならず、コマンドプロンプトで作成する必要があったことがあり、VBで作成することによって何かファイル構成に違いができてしまったのかなと思っているところです。

  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.1

#VB2010 も DIFFソフト も存じませんが。。。 #単に「vbs」の問題かと存じますので、回答させていただきました。 #的外れな回答でしたら、お見捨てください。 Set oMsg = CreateObject("CDO.Message") の前に全角の スペース が入っていませんでしょうか?

noname#234235
質問者

補足

DOUGLAS_様 はじめまして、返信ありがとうございます。 問題のVBSは、自分の方も最初にスペースを疑い調査したところ、入っていませんでした。 手動で新しくVBSファイルを作成し、VBで作成したファイルの中身をコピペするとメールは送信されるので中身は間違っていないと思っています。