none
IE/JavaScriptスクリプティング:ADODB.streamのSaveToFileメソッドのオプション、"adSaveCreateOverwrite"が予想通り動作せず RRS feed

  • 質問

  • IE上、JavaScriptスクリプティングをして、ADODB.streamのSaveToFileメソッドを利用することによりローカルファイル操作(読み書き)をするつもりです。

    ※ これは、通常インターネットから、ローカル・ファイル操作をするのではなく、ローカルIEからローカル

      データ(ファイル)をアクセス・操作したい、というのが目的です。

    勿論、(IEからのADODB.streamによるローカルファイルへのアクセスにセキュリティ上の制限を適当にWindows設定によりクリア済み。

    今、データ読み(LoadFromFileメソッド)がチャンと出来る、書き込みは、SaveToFileのセーブオプションがadSaveCreateNotExistであった場合さえ、出来るのですが、問題となるのは、adSaveCreateOverwriteオプションを使用する場合だけ、旨く出来ない。

    MSオンラインマニュアルによると、SaveToFileメソッドのセーブ・オプション”adSaveCreateOverwrite”は、

    セーブファイルが存在する場合、上書きされる。私は、セーブファイルを存在にする場合、と存在しないようにする場合、両方とも、テストしましたが、全然セーブファイルが上書きされない、または、新規に作成されません。

    要は、このオプションが、全然動作しません。

    何故でしょうか。ご存知の方は、教えて下さい。

    2010年7月13日 9:17

回答

  • アドバイス有り難うございます。

    W3Schoolsのフォーラム(上記3番目のURLリンク)にてディスカッションにより、問題を特定・解決出来るように

    なりました。問題は、同一変数adSaveCreateOverwriteですが、adSaveCreateOverWriteのように書いた

    箇所もあり、結局、大小文字区別のJSに対して、問題を起こしました。詳細は、W3Schoolsサイトに書きました。

     

    • 回答としてマーク 服部清次 2010年7月26日 8:00
    2010年7月26日 7:35

すべての返信

  • Zero Flag さん、

    こんにちは。
    フォーラム オペレーターの服部 清次です。

    ご質問の件に関しまして、海外のフォーラムでも同じ質問を投稿されているようですので、
    こちらのスレッドを閲覧されている方々のために、URL をまとめさせていただきますね。

    http://social.technet.microsoft.com/Forums/en/ITCG/thread/ed77f03d-34fd-4d25-b6e6-8056d5d14a89 (英語)
    http://social.technet.microsoft.com/Forums/en/itprovistaie/thread/3373a01d-3fdc-490b-9cf1-1c60f2b8cae3 (英語)
    http://w3schools.invisionzone.com/index.php?showtopic=32469 (英語)

    また、もしこちらのスレッドをご覧になっている方で関連情報をお持ちの方がいらっしゃいましたら、
    ぜひご共有ください。
    よろしくお願いします。


    _______________________________________________
    マイクロソフト株式会社 フォーラム オペレーター 服部 清次

    2010年7月20日 4:47
  • フォーラム オペレーター 服部さん
     
    まとめて頂き有り難うございます。了解しました。
    皆さんからのご回答・コメントをお待ちしております。
    Zero Flag
    2010年7月20日 6:34
  • 普通に使えますが。。。

    adSaveCreateOverwriteを定義してますよね?

    2010年7月20日 17:51
  • そちらで大丈夫そうですか。

    関数内トップのところ、定義しました(値=2)。次のような感じです -

    Function saveTextFile(save2Filespec, .......) {

    var adSaveCreateOverwrite = 2;

    . . . . . . . . .

    alert("In my func saveTextFile() .... ---1---"); // debug msg #1
    objStrm.SaveToFile(save2Filespec, adSaveCreateOverwrite); // Call SaveToFile method
    alert("In my func saveTextFile() .... ---2---"); // debug msg #2

    . . . . . . . . .

    }

    ちなみに、現象は、アラートメッセージ#1が表示されてから、#2がされなかったです。だから、SaveToFile()にて何らかの原因で落ちたみたいです。

    2010年7月20日 23:28
  • 他人が追試可能な最小再現コードを提示してみるとか。

    或は諦めて、存否確認して既存なら削除してから新規作成するとか。

    2010年7月21日 6:42
  • アドバイス有り難うございます。

    W3Schoolsのフォーラム(上記3番目のURLリンク)にてディスカッションにより、問題を特定・解決出来るように

    なりました。問題は、同一変数adSaveCreateOverwriteですが、adSaveCreateOverWriteのように書いた

    箇所もあり、結局、大小文字区別のJSに対して、問題を起こしました。詳細は、W3Schoolsサイトに書きました。

     

    • 回答としてマーク 服部清次 2010年7月26日 8:00
    2010年7月26日 7:35
  • Zero Flag さん、

    こんにちは。
    フォーラム オペレーターの服部 清次です。

    無事問題が解決したとのことで、ご報告ありがとうございます!
    今回、質問者ご自身の投稿ではありますが、問題の原因と解決策を紹介してくださった
    Zero Flag さんの返信を [回答としてマーク] させていただきました。

    また何か疑問や質問がありましたら、ぜひ MSDN/TechNet フォーラムをご利用ください。
    今後とも、よろしくお願いします。
    それでは、また。


    __________________________________________________
    マイクロソフト株式会社 フォーラム オペレーター 服部 清次

    2010年7月26日 8:02
  • マイクロソフト株式会社 フォーラム オペレーター 服部  さん

    こちらこそ、今後とも宜しくお願い致します。

    2010年7月26日 14:14