アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんばんは。HTMLやjavascriptは初心者ですが、よろしくお願いします。まず、こちらをご覧ください。

<HTML>
<HEAD>
<TITLE>Menu</TITLE>
<SCRIPT LANGUAGE="VBScript">
<!--
Option Explicit
Public fso, indexPageTS, i
Sub Start(ByRef i)
Dim rootFolder, rootPath
Set fso = CreateObject("Scripting.FileSystemObject")
Set rootFolder = fso.GetParentFolderName(WScript.ScriptFullName)
alert rootFolder.Name
Set indexPageTS = fso.CreateTextFile(fso.BuildPath(rootFolder.Path, "index.html"), True)

このように、<HEAD>にサブプロシージャを記述しております。少し中略します。<BODY>に以下のボタンを置きます。

<input type="button" name="InputBtn" onclick="Start(1)" value="リンクの更新">

これを押すとエラーになってしまいました。
IEでは「ページでエラーが発生しました」、htaEditというソフトで実行すると表題に掲げたエラーが出ました。6行目の、
Set rootFolder = fso.GetParentFolderName(WScript.ScriptFullName)
のところをfso.GetFolderで手書きのパスを指定したらうまくいっていたので、'WScript'の使い方がいけないのかなとも思いましたが、VBSファイルにして実行すると問題ありませんでした。
htmlページのボタンではWScript.ScriptFullNameは使えないのでしょうか?
IEのヴァージョンは少し古めで、5か6ですが、問題ありますでしょうか?
よろしくお願いします。

A 回答 (2件)

WScriptオブジェクトは、cscript.exeかwscript.exeで実行された場合だけに使えるオブジェクトです。

VBSファイルはwscript.exeで実行されるのでOKですが、HTMLやHTAだと使えません。

HTAファイルのあるフォルダ名を得たいと言うことでしょうか?Explorerからダブルクリックで起動するなら、
Set rootFolder = fso.GetFolder(".")
でいいのでは?

この回答への補足

HTMLファイルのあるフォルダ(オブジェクト、またはパス名)を得たいです。Set rootFolder = fso.GetFolder(".")だと、「ホームディレクトリ」と言うのでしょうか、「マイドキュメント」が出てきます。
ShellのCurrentDirectoryも、CurDir関数も、「マイドキュメント」を返しました。ExcelのThisWorkbook.Pathのような結果を望んでいます。
まったく初心者なので「ダブルクリックで起動」というところが分かりませんが、ボタンなのでワンクリックです。よろしくお願いします。

補足日時:2010/02/26 00:22
    • good
    • 0

拡張子をHTAにして、そのファイルをダブルクリックで起動してみてください。



htmlファイルをブラウザで見るのであれば、ファイルのありかを知るのは、無理じゃないかなあ。
    • good
    • 0
この回答へのお礼

とりあえず、問題の所在が明らかになりました。
htaでがんばってみます。
ありがとうございました。

お礼日時:2010/02/26 12:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!