• 締切済み

vbscriptをHTMLに埋めるとエラーが出る

下記のvbscriptをHTMLに埋める手段を考えています。 <SCRIPT LANGUAGE="VBScript">で入れると、 ActiveX コンポーネントを作成できません。:GetObject とエラーが出てしまいます。回避方法をご教授ください。 Dim usr,group,ComputerName,UserName,strADsPath ComputerName = "server" 'コンピュータ名 UserName = "testuser" 'ユーザ名 strADsPath = "WinNT://" & ComputerName & "/" & UserName & ",user" set usr = GetObject(strADsPath) For Each grp In usr.Groups MsgBox "グループ名: " & grp.Name Next

みんなの回答

回答No.2

「FSOと同じようにローカルリソース扱いになってしまって、 ブラウザからはセキュリティの関係ではねられてしまう」 が正解っぽいですね。 とりあえず、対象サイトを「信頼済み」に設定したら動くかも。

akaakiha
質問者

補足

ローカルファイルだったものを、サーバにアップロードし、信頼済みにアドレスを追加し、ステータスバーにも信頼済みサイトと出ましたが、同じエラーが出ました。 申し訳ありません、関係はないようです。

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

当然、IEですよね。 何がやりたいのか今一わかりませんが、 「カレント オブジェクトのインスタンスがあるとき、または、既に読み込まれたファイルを使用してオブジェクトを作成するときは、GetObject 関数を使用します。カレント オブジェクトのインスタンスがなく、ファイルを使用してオブジェクトを作成しないときは、CreateObject 関数を使用します。」 set usr = CreateObject(strADsPath) にしてみればどうでしょう?

akaakiha
質問者

補足

ユーザ名から、AD上の所属グループを取得したいと思っています。 多数のユーザが使うことから、WinXPであれば動くというものにしたいと思っています。 <HTML> <HEAD></HEAD> <SCRIPT LANGUAGE="VBScript"> <!-- Sub cmdChange_OnClick Dim usr,group,ComputerName,UserName,strADsPath ComputerName = "COM1" 'コンピュータ名 UserName = "testuser" 'ユーザ名 strADsPath = "WinNT://" & ComputerName & "/" & UserName & ",user" set usr = CreateObject(strADsPath) For Each grp In usr.Groups MsgBox "グループ名: " & grp.Name Next End Sub --> </SCRIPT> <BODY> <CENTER> <FORM NAME="frmForm"> <Input Type = "Button" NAME="cmdChange" VALUE="ここをクリック"><p> </FORM> </CENTER> </BODY> </HTML> とした状態で実行すると ActiveXコンポーネントはオブジェクトを作成できません。 WinNT://COM1/testuser,user と出ます。 HTMLに起こさず、vbsとしてであれば問題なく(GetObjectで)稼動します。

関連するQ&A

専門家に質問してみよう