題記の件、よろしくお願いいたします。
Win XP SP2です。
VBScriptでHTMLファイルを開こうとしています。
しかし、「アクセス拒否されました」とエラーが返ってきます。
プログラムは以下の通りです。
Set SubWin = Window.Open("Target.html?" & lstLogon,"SubWin","location=no,directories=no,status=no,resizeable=yes,width=730,height=390")
開こうとしているHTMLファイルは、実行するスクリプトと同じディレクトリにあります。
HTMLファイルのセキュリティの設定を変更して、Everyoneにフルコントロール許可を与えてみましたが
結果は変わりません。
同じプログラムをWin XP SP1上で実行するとHTMLファイルを開くことができます。
開こうとしているHTMLファイルを、直接クリックすると問題なく開くことができます。
何の設定により、このような結果になるのか どなたかご存知でしたらご教授ください。
IEのインターネットオプションのセキュリティの設定をいじり、開きたいHTMLファイルを信頼済みサイトに登録し
出来る限りの設定を「有効」にしてみましたが結果は変わりませんでした。
ポップアップ ブロックの設定はどうなっていますか?
お返事ありがとうございます。
既定では「ポップアップをブロックする」にチェックが入っていました。
チェックをはずして再度実行してみましたが、エラーは変わりませんでした。
以下のような方法を試してみたところ、OKでした。
Set objIE = Wscript.CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate "Target.html"
Set ojbIE = Nothing
しかし、このようにURLに引数を与えるとNGのようです。
IEは起動しますが、ページを表示することが出来ず、「Target.html?****がみつかりません。」とIEのエラーが表示されます。
Set objIE = Wscript.CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate "Target.html?" & lstLogon
Set ojbIE = Nothing
さらに試しに 拡張子.vbsのファイルを作成し、上記の処理を行ったところ、IEは起動しますが、ページを表示することが出来ず、「Target.html?****がみつかりません。」とIEのエラーが表示されます。
加えて、「指定された操作はユーザによって取り消されました。」というVBScriptのエラーメッセージが表示されます。
処理実行端末によって適用されたポリシーの制限によるものか?と考え 適用されたポリシーを調べてみましたが、「IEのアドレスバーのURLの引数を無効にする」ような設定は見つかりませんでした。
> しかし、このようにURLに引数を与えるとNGのようです。
> objIE.Navigate "Target.html?" & lstLogon
Navigate に指定されたのは、URLではなく、ファイル名ですよね。
ファイル名に ? を含める事はできないので、エラーになったのでしょう。
こちらの環境では、IEのアドレスバーに直接「C:\a.html?test」のような
文字列を指定した場合も、見つかりませんというエラーになりましたし。
http: とか https: とか file: などから始まるパスで試してみてください。
お返事ありがとうございます。
確かに ご教授いただいたとおり、
objIE.Navigate "file://Target.html?" & lstLogon
とすることでアドレスバーのURLに引数を与える形式でHTMLファイルを開くことができました。
(Window.Openコマンドが使用できないわけは分からないままですが)
解決とさせていただきたいと思います。
感謝します、どうもありがとうございました。
ツイート | ![]() |