![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.2ベストアンサー
- 回答日時:
>Visual Basicと書いた方がより広範な意見が聞けると判断したためです
VBが全部、VBAやVB6以前の作りになっているわけじゃない
(VB.NETでは作りがまったく違います)ので、
バージョンをお聞きしました。
ということで、今回は、VBA(VB6以前)の話を前提ということでご回答いたします。
>「HTML要素へのアクセス#3 (APPLETオブジェクト)」を見たからです。
できると思います。
というのもExcel VBAではわかりませんが、VB6でブラウザコントロール
(もしくは、IEコンポーネントという言い方をしますが)を
使えば、HTMLのエレメントの中や貼り付けられている画像、JavaApplet
なども参照可能だからです。
# IEコンポーネントをCreateObjectして、
その中にあるJavaAppletのHTML要素を取得すれば、
VBAでもできると思います。(試していないので自信はないです)
>http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/techinf …
OLE/COM Object Viewerは使っていません。
OLE/COM Object Viewerを使っていない理由は、タイプライブラリを
使いたくなかったからということでしょうか?
タイプライブラリを生成させてやった方が、VB上のコーディングは
確かに楽ですが、
http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/techinf …
を試してみようとした意図が良くわからないのですが...
ということで、少しまとめると、
・IEコンポーネントまたは、ブラウザコントロールを使って、
JavaAppletが定義されている要素を探す処理を作る
例えは違いますが、
http://oshiete1.goo.ne.jp/kotaeru.php3?qid=1519932
あたりが似たようなことやっているので、参考になるのではと
思います。
(気になるのは、VB.NETの例になっていることですね。
ただ、スレ主が納得しているようなので、ある程度参考になる
んじゃないかと思います)
・JavaAppletの中にあるコントロールを動かすためには、
JavaAppletで公開されているパラメータがあるはずなので、
そのパラメータをブラウザ内から、JavaApplet用HTML要素を
取得&設定して、JavaAppletを操作する
で、実装できないかという感じになります。
あまり自信がないので、参考になるかわかりませんが、
ある程度、ヒントになれば幸いです。
この回答への補足
VBAでIEや外部プログラムを制御する方法を勉強するのにちょうど良いサイトや書籍をご存じでしたら紹介していただけないでしょうか。
補足日時:2007/08/23 10:47kero_mio様、ご回答ありがとうございます。
お礼が遅くなり申し訳ありませんでした。
上記の内容を吟味してから、再度質問なりお礼をしようと思っていたのですが、私の力では時間がかかってしまいそうなので、取り急ぎお礼をさせていただいた次第です。
>・IEコンポーネントまたは、ブラウザコントロールを使って、
JavaAppletが定義されている要素を探す処理を作る
>・JavaAppletの中にあるコントロールを動かすためには、
JavaAppletで公開されているパラメータがあるはずなので、
そのパラメータをブラウザ内から、JavaApplet用HTML要素を
取得&設定して、JavaAppletを操作する
この方法を自分で調査してみます。行き詰まったらまた質問をさせていただきますのでよろしくお願いします。
No.4
- 回答日時:
よくわかりませんが、、
JAVAアプレットはActiveXではない(少なくともActiveXオブジェクト名は表に出ない)です。
また、Javaアプレットで操作できるのは、publicメソッドやpublicメンバだけです。
例えばbutton1というボタンがあったとしても、これがpublicでなければ外部からアクセスできません。
というか、どうやってJAVAのクラスメソッド名などを知るつもりですか?
JARファイルからJAVAクラスを抜き出して、それを逆コンパイルするのでしょうか?
余り一般的ではないですし、著作物人格権的にちょっとグレーです。
※リバースエンジニアリングの禁止
じゃあ、できないのか?
っていうと、ActiveXとしての操作はできませんが、別のアプローチでできます。
それは、WindowsAPIを使って、画面上の全てのオブジェクトの情報を取得して、手でマウスを使ってクリックするように、ボタンを無理やりWindowsに押させる方法です。
市販されているソフトでは、自動試験ソフトがそれにあたります。
この回答への補足
PED02744様、回答ありがとうございます。
これまで頂いた回答で私は、自分の力ではどうにもならないことをやろうとしていると知らされたようです。
>それは、WindowsAPIを使って、画面上の全てのオブジェクトの情報を取得して、手でマウスを使ってクリックするように、ボタンを無理やりWindowsに押させる方法です。
初歩的な質問ばかりで恐縮ですが、WindowsAPIってどうやって使うんですか。アプリケーション同士をつなぐ関数が集められたものであると、漠然と解釈していますが、この解釈で合っているのかどうかも分かりません。PED02744様がおっしゃっていることで私がやりたいことが出来るのではないかと思いますが、具体的な例があれば理解が進むと思うのですが。
例えば、Javaアプレットにbutton1だけがあって、そのbutton1を押すためにはどのようにVBAでコードを書けばいいのでしょうか。
よろしくお願いいたします。
No.3
- 回答日時:
>VBAでIEや外部プログラムを制御する方法を勉強するのにちょうど良いサイトや書籍をご存じでしたら紹介していただけないでしょうか。
Win32 OLE系の書籍やサイトがお勧めかなと思います。
たぶん、VBAでこの手をものを捜すのは難しいので、
VB6用のWin32 OLE系の書籍・サイトを探してみてください。
(書き方は、VB6もVBAも同じですから)
後、VBではなく、Rubyでの例になってしまうのですが、
IEコンポーネントの操作方法が、Win32 OLEで掲載されている
サイトを発見したので、お知らせします。
(表現がRubyとVBで違いますが、ある程度、VBでどう表現を置き換えればいいかはサンプルコードから検討がつきます。)
http://jp.rubyist.net/magazine/?0003-Win32OLE
ご参考になれば幸いです。
kero_mio様、度々ありがとうございます。
参考にさせていただきます。私は随分大変なことをやろうとしているんだと感じています。
また、アドバイスよろしくお願いします。
No.1
- 回答日時:
配置するJavaAppletのつくりによっても、設定するプロパティや
パラメータは変わってくると思います。
(JavaAppletもJDKの標準コントロールを使っているのであれば
いいですが、手作りコントロールだと、話は変わってきます)
なので、どんなJavaAppletをVB上で配置したいのか、
JavaAppletの内容(ソースでもいいので)とかあれば
ご教示願います。
また、VBのバージョンは、何を使っているのか?
(VB6?VB.NET 2002?VB.NET 2003?VB.NET 2005?)
についても合わせてご教示下さい。
その上でわかる範囲でご回答します。宜しくお願いします。
この回答への補足
kero_mio様、回答ありがとうございます。
以下、補足というか、お詫びというか、再質問です。
Visual BasicでJavaアプレットを操作したいと書きましたが、実はExcel2000のVBAでそのような操作ができないかと思っています。Visual Basicと書いた方がより広範な意見が聞けると判断したためです。申し訳ありません。さらに、Javaアプレットは自作ではなくあるサイト上に表示されるものを操作したいのです。
ですので、Javaアプレットの内容と言っても全く分からないと言うのが実情です。実際にそのサイトを見てもらいたいのですが、URLに私の個人情報が含まれるためここに記載することができません。
Visual Basic(VBA)でJavaアプレットを操作できるのではと思った経緯は下記URLにある「HTML要素へのアクセス#3 (APPLETオブジェクト)」を見たからです。
http://iriyak.adam.ne.jp/uwsc.html
UWSCはVB(VBA)とは関係無いようですが、自作のスクリプト言語でできることなら完成されたプログラム言語であるVB(VBA)にだってできると勝手に判断したのです。
さらに下記URLにある「ActiveXオブジェクトの仕様を知る方法」の内容からJavaアプレットのActiveXオブジェクトさえ分かればWSHでできるならVB(VBA)にも・・・と言うことです。
http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/techinf …
OLE/COM Object Viewerは使っていません。OKWaveで良い回答が得られなかったら試してみようと思っていました。
やはり、サイトの制作者にJavaアプレットの詳細を聞くしかないのでしょうか。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java EclipseとVisual StudioをPC1台にインストールしただけではPCは重くならない? 3 2022/12/08 15:35
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- Visual Basic(VBA) visual basic初心者です。 visual studioで電卓を作成しています。 実行時にテ 1 2023/02/08 00:18
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 15:14
- Java mac mini 2009 でのmac OS における Java の入れ替えについて 1 2022/12/27 19:23
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- Java JavaでWebページ作成 7 2023/07/21 21:09
- Visual Basic(VBA) Access VBAから使用したExcelプロセスを閉じる方法について 4 2022/06/08 17:50
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- その他(ゲーム) マインクラフトJAVA版の導入・ローカルマルチプレイについて 1 2022/03/23 18:59
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
サーブレットコンテキストの意...
-
VBAでの[]
-
VB.netでメソッドからコントロ...
-
Vba ListViewの行挿入に関して...
-
getParameter()について
-
servletからjspへオブジェクト...
-
PrintFormを使用してのプリント
-
エクセルVBA/SpecialCellsで特...
-
カスタムアノテーションとは何...
-
javaで配列の中身を表示する方法
-
JSPでのArrayListの表示につい...
-
Dispose()は、どんな時に使うの...
-
C# トランザクション処理
-
エクセルVBA 画像を貼り付ける...
-
Excel VBA 定数にオブジェクト...
-
javaで、、、
-
arrayListの要素を参照出来ませ...
-
C#のクラスで値渡しをする
-
setRequestAttributeとは?
-
VB.NETでのnothing の意義について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
servletからjspへオブジェクト...
-
VBAでの[]
-
サーブレットコンテキストの意...
-
エクセルVBA 画像を貼り付ける...
-
JSPでのArrayListの表示につい...
-
C#のクラスで値渡しをする
-
VB.netでメソッドからコントロ...
-
Excel VBA 定数にオブジェクト...
-
Vba ListViewの行挿入に関して...
-
javaで、、、
-
Dispose()は、どんな時に使うの...
-
VB.NETでのnothing の意義について
-
getParameter()について
-
String型からlong型への変換は...
-
JTableで値を右寄せ表示する方法
-
C#で親にイベントを投げる方法
-
Javaでブラウザ判定
-
VBスクリプトでテキストファイ...
-
PrintFormを使用してのプリント
-
UTF-8のテキストファイルを開く...
おすすめ情報