• ベストアンサー

CSVに書き出すVBSとHTA

フォームに入力したテキストをCSVに書き出すプログラムを VBScriptで書いて、HTMLに組み込み、 HTA形式で作成したのですが、 実行時にウイルスチェックソフトのエラーが毎回出ます。 回避する方法は、ありますか? 初VB作成で、ソフト等もありませんので 的外れな質問だったらすみません。

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

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.4

FSOのファイル出力系を使うのであれば避けられないでしょう VBやC++などが使えるのであれば VB標準のファイル出力系やAPI経由のファイル出力を装備したActiveXを作ってVBSでこのオブジェクトを利用しましょう またはウィルスチェックソフトで個別に設定するような部分があればそちらで『許可』の設定をすることになりそうです ただし、改訂版などをリリースした際に『許可』設定を再びしないといけない場合もありそうです # HTAを対象に個別設定できるかは調べていません

Rin-u_u
質問者

お礼

ご回答ありがとうございます。 >VBやC++などが使えるのであれば VB標準のファイル出力系やAPI経由のファイル出力を装備したActiveXを作ってVBSでこのオブジェクトを利用しましょう もともとHTMLは分かるのですが、 最近、エクセルでVBAをはじめたばかりで、VBのソフトも まだ購入していないので、HTAにしてみましたが、 今のわたしのレベルでは、ちょっと難しそうです。

その他の回答 (4)

  • localica
  • ベストアンサー率52% (202/385)
回答No.5

>VisualBasicのソフトは持っていないので、 他の方への回答でExcelでVBAを勉強しているとのことなのでユーザーフォームを使うことによりHTAと同等のことができませんか? Excelの入っているPCでしか動作しないという欠点があるので無理にはお勧めしませんが。

Rin-u_u
質問者

お礼

ご回答ありがとうございます。 仕事に追われてて返答が遅くなり申し訳ありません。 ユーザーフォームでもモチロンできるのですが、 ヴィジュアル的にはHTMLの方が良いかなって思ってまして。 個人的に・・・。 いろいろ勉強してみます。 ありがとうございます。

  • localica
  • ベストアンサー率52% (202/385)
回答No.3

ブラウザからC直下にファイルを書き出す時点で恐らく無理だと思います。理由は#2さんの書かれた通り。 例えばこれがMsgBoxとかならたぶん動作します。 VBは最近触っていないので関数は忘れましたが別のオブジェクトを利用すれば書きだせるのかもしれません。 #確かCSV出力関数があったはず 或いはHTAを止めて素直にVBSにするのも一つの選択肢だと思います。

Rin-u_u
質問者

お礼

ご回答ありがとうございます。 >VBは最近触っていないので関数は忘れましたが別のオブジェクトを利用すれば書きだせるのかもしれません。 >#確かCSV出力関数があったはず もう少し調べてみます。 >或いはHTAを止めて素直にVBSにするのも一つの選択肢だと思います。 VisualBasicのソフトは持っていないので、 テキストで書けるHTAを利用したいと思いました。

  • chaigon
  • ベストアンサー率50% (4/8)
回答No.2

どんなエラーが出ますか?エラーの情報を書いてもらえると回答しやすいです。それから、エラーが出ていると思われる箇所のプログラムも書いてもらえると、さらに回答しやすいです。 私は専門ではないのでよくわからないのですが、WEBブラウザっていうのは、セキュリティ上の理由でローカルPCにファイルを出力するようなプログラムに制限があったと思うのですが。その制限がないと、悪意あるサイトにアクセスしただけで、ローカルPCにウイルス(ファイル)の進入を許してしまうでしょう。 もしかしたら、WEBブラウザのセキュリティの設定を一番低く設定すれば可能かも?やったことないので試してみてはどうでしょうか?

Rin-u_u
質問者

補足

ご回答ありがとうございます。 プログラム自体のエラーが出ているわけではありません。 書き方が分かりにくくすみません。 ウイルス対策ソフトが、ウイルスと間違えて起動して、OKにすれば使えるのですが・・・ ソース自体にそういう問題があるのかと思いまして。。

  • localica
  • ベストアンサー率52% (202/385)
回答No.1

回避方法は大きく分けて2つあると思います。 1.ウイルスチェックソフトで対象のファイル或いはフォルダをチェック対象外にする 2.プログラムを修正する 1は簡単ですがウイルスチェックが機能しなくなるのでお勧めしません。 2が当たり前の方法だと思います。 通常VBで作成したプログラムがそのままウイルスソフトに引っ掛かることはありません。プログラムの中にウイルスとして判定されるコードなり動作なりが存在するからです。これ以上はソースがわからないと返答のしようがありませんが、「HTMLに組み込み」というところからブラウザからシステムを操作する部分が引っ掛かっているような気がします。

Rin-u_u
質問者

補足

早速のご回答ありがとうございます。 ソースですが、 Dim Fso Set Fso = CreateObject("Scripting.FileSystemObject") Sub cmdSave_onClick() Dim csvFile, FileName, strData FileName = "C:\000.csv" Set csvFile = Fso.OpenTextFile(FileName, 2, True) MsgBox Replace(editErea.Value, vbCrLf, ",") strData = Chr(34) & titleErea.Value & Chr(34) & Chr(44) & Chr(34) & editErea.Value & Chr(34) csvFile.Write strData csvFile.Close End Sub よろしくお願いします。

関連するQ&A

  • htaからExcelファイルを作成する方法

    htaからVBScriptを使用して、Excelファイルを作成したいのですが、 Set xls = CreateObject("Excel.Sheet") を実行するとエラーが出てしまいます。 htaからVBScriptを使用して、 Excelファイルを作成する方法はないのでしょうか?

  • VBSで.csvを.txtに変換は可能でしょうか?

    VBScriptでフォルダからフォルダへファイルを自動で移動させる時に、.csv形式のを.txt形式に変換というのは作成できるのでしょうか? 宜しくお願いします。

  • HTA + VBScript (+ Javascript)でコントロールボックスを制御できますか?

    HTA + VBScript(+ Javascript)で「特定のファイルをイントラネット内の別PC(Server)からコピーするツール」を作成しました。イメージ的にはフォーム上の「更新ボタン」をクリックするとコピーダイアログが表示されるようなものです。 このツールを使いファイルコピー中(コピーダイアログが表示されているとき)にHTAのフォームを終了するとプロセス上にmshta.exeが残りHTAを再度実行することができない状態になります。 そこで「コピー中のみHTAフォームに付随するコントロールボックスの×ボタンを無効にする」ような機能を追加したいのですが、HTA + VBScriptでコントロールボックスの制御に介入することはできるのでしょうか? コントロールボックス自体を非表示にすることはできますが認知度の高い表現なので残したいと考えています。 また、コピー中にHTAフォームのvisibilityをhiddenにしてフォームを隠しておく方法も考えたのですが、フォーム上にコピー中であることを示すメッセージを表示したりしているのでこの案もできれば採用したくありません。 何か良い方法がありましたら教えてください。よろしくお願いします。 OS:Windows XP Pro IE:Internet Explorer

  • htaファイルに渡したパスを取得するには。

    vbsファイルを開くと「ファイル選択」ダイアログを表示してテキストファイルを選択するとそのファイルのパス先をhtaファイルのSPANタグに渡して表示するところまで作成する事ができました。このSPANタグに表示したパスをVBScriptで取得する事が解らず、困っています。 どのようにすればhtaファイルに渡したパスをVBScriptで取得する方法をご存知の方がいましたらアドバイスいただけませんでしょうか。 何卒、宜しくお願いします。

  • htaでVBSのソースを書いたらエラーを返します

    以下のソースででエラー文が返ってきてしまいます。 エラー文が帰ってくる場所には矢印と文をつけました。 エラー文は二つ返ってきます。 VBスクリプトとhtaを組み合わせたような感じになっております。 初心者で構文もよくわかっていないのですがよろしくお願いします。 やりたい処理は親フォルダのテキストファイルから文字列を読み込み、 その結果によって初期のチェックボックスを移動させるような感じです。 フォルダのテキストファイルから文字列を読み込む処理と 初期のチェックボックスを移動させる処理を組み合わせたらエラーがでたといった感じです。 <script language="VBScript"> Option Explicit Dim objFileSys Dim strScriptPath Dim strReadFile Dim strWriteFile Dim objReadStream Dim objWriteStream Dim strText Dim str Dim gyou(100) Dim i Dim data str = Replace(window.location&"","file:///","") str = Replace(str,"/","\") str = Replace(str,"%20"," ") str = Replace(str,"新しいテキスト ドキュメント (2).hta"," ") str = Replace(str,"vbs.hta"," ") str = Replace(str,"gattai.hta"," ") str =str+"text.txt" Set objFileSys = CreateObject("Scripting.FileSystemObject") strReadFile = objFileSys.BuildPath(strScriptPath,str) msgbox strReadFile Set objReadStream = objFileSys.OpenTextFile(strReadFile, 1) for i = 1 to 5 strText = objReadStream.ReadLine gyou(i) = strText NEXT objReadStream.Close Set objReadStream = Nothing Set objFileSys = Nothing </script> <!DOCTYPE html> <head><script> 文字が一致しません→   function foo(){ var a=document.getElementById("A"); var fso=new ActiveXObject("Scripting.FileSystemObject"); var data=gyou(1) if(data=1){ document.getElementById("A").checked="checked"; }else{ document.getElementById("B").checked="checked"; } } </script> 型が一致しません→   </head><body onload="foo()"> <input id="A" type="radio" name="aaa">A <input id="B" type="radio" name="bbb">B </body> </html>

  • CSV形式で編集された項目をVBからEXCELシートへ編集し印刷

    CSV形式で編集したテキスト項目(7項目,300行)を、EXCELファイルへ編集し、印刷する方法を教えて下さい。(VBでEXCELシートへ編集し印刷したが、編集から印字までの処理時間が大きいため、帳票データをCSV形式化し、処理速度を高速化したい)簡単なサンプルがあれば助かります。 処理の概要は、以下の通り。 (1)VBで、CSV形式のテキストファイル作成後、 (2)VBからEXCELファイルを開いて (3)CSVのテキストファイルをEXCELシートへ編集 (4)VBから印刷プレビューを出し (5)印刷指示することで 全て、VBから制御する方法

  • HTMLフォームをCSV出力させる

    見かけは一般のHTMLフォームなんですが、 送信するとそれがCSV形式でサーバー上にたまる メールフォームを探しています。 フリーで良いものはありませんか?

    • 締切済み
    • CGI
  • 【VAB】 エクセルファイルからCSVファイルをインポートするには

    お世話になります 実行可能か、わからず質問させて頂きます。 ■概要 ・CSVファイルをエクセルファイルにインポートしたいです ■設置 ・ユーザーフォームにテキストボックス、参照ボタン、実行ボタン を生成 ■動き ・参照ボタンをクリックするとダイアログボックスでCSVを選ぶ ・選んだあて先がテキストボックスに記載される ・実行ボタンでCSVをエクセルのシートに貼り付け (このとき貼り付ける列はVB内で決めておきたい、1,4,5,6,9列を貼り付けるなど) わかる方ご教授よろしくお願い申し上げます

  • mdb→csvへのエクスポートについて

    PHP初心者ですが、宜しくお願い致します。 HTMLのフォーム画面などで、mdbのテーブルを選択し、実行後csvファイルとして特定のフォルダへ 保存などできるものを作成したいと考えています。 PHPを利用して、Acceseのmdb内のテーブルをCSVファイルとしてエクスポート・CSVからmdbへ インポートをしたいのですが、可能でしょうか? 以上、宜しくお願い致します。

    • 締切済み
    • PHP
  • エクセルCSVの落とし穴?

    VB6.0について質問です。 少し話が複雑なので上手く伝わるか心配です。 いまVBからデータをCSV形式でいったんテキストに保存し、それをExcelに落とすという処理を行っています。 ここで問題なのが、VBからテキストボックスに何かしら入力して格納するときに長文の場合、Enterキーで改行するのですが。 それをCSVでExcelで落とすときに改行を認識してしまい改行しなくていいところで改行を行ってしまいます、、、 これを防ぎたいのですがどのような方法が考えられますでしょうか? お知恵をお貸しください>< よろしくお願いします。

専門家に質問してみよう