こんばんは。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ですが、問題ありますでしょうか?
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
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のような結果を望んでいます。
まったく初心者なので「ダブルクリックで起動」というところが分かりませんが、ボタンなのでワンクリックです。よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) FileSearch2007に変わる構文について 1 2022/12/16 16:57
- Visual Basic(VBA) エクセルVBA(実行時エラー438)の対処法を教えてもらえないでしょうか 3 2023/04/22 13:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
html上で、バッチやexeファイル...
-
HTMLファイルからexeファイルを...
-
RPA(PowerAutomate)の実装について
-
jspのエラーが修正できません。
-
VBAで作成したマクロをデスクト...
-
起動中の全てのアプリ名の取得...
-
量子化学計算ソフト GAMESS の...
-
「暁の護衛」をDLしたのですが...
-
エラー この変数は宣言されて...
-
Access VBAよりシート名を取得...
-
exeファイルが実行中かどうか、...
-
LabVIEWでEXCELファイルを操作...
-
サーバ・クライアント環境で2...
-
vb.netでフォルダをcab圧縮する...
-
Eclipseのアンインストールの仕方
-
Eclipseで、プロジェクト名のと...
-
シンボルが見つかりませんとい...
-
split関数で区切り文字がない場合
-
vs codeはオフラインでも使用で...
-
classファイルについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
html上で、バッチやexeファイル...
-
VBAで作成したマクロをデスクト...
-
VBA Application visibleの...
-
別のAccessファイルのフォーム...
-
*.asp の拡張子名がついたht...
-
jspのエラーが修正できません。
-
HTMLファイルからexeファイルを...
-
RPA(PowerAutomate)の実装について
-
system.mdwを見つけることが出...
-
EXCELアドイン自動起動マクロ
-
エラー この変数は宣言されて...
-
LabVIEWでEXCELファイルを操作...
-
Access VBAよりシート名を取得...
-
AccessのMDBファイルを自動で最...
-
GUIアプリをコマンドラインで使...
-
VB5が起動しない
-
量子化学計算ソフト GAMESS の...
-
VBでShell○なのにShellExecute×
-
exeファイルが実行中かどうか、...
-
MS onedriveの中にあるaccessプ...
おすすめ情報