プロが教える店舗&オフィスのセキュリティ対策術

次のように、①~③の操作で、指定した英単語(X)の訳語(Ya)を表示しますが、辞書登録にない略語のような単語の訳語(Yb)を登録できるカスタマイズされた辞書機能から、登録語に対して入力した訳語のリストを作成するプログラムを作ろうとしています。
もう少し説明します。
① Web画面を使用し表示される英文(X)の単語を指定し右クリックで指定すると、
その単語を取り込んだ単語窓EWDに英単語(X)を反転表示(X‘)状態で辞書機能DICが起動し、指定英単語(X)の対する訳語(Ya)を表示します。③この時単語(X)が略号などで辞書登録されていなければ、同辞書DICの入力窓INWに訳語(Yb)を入力し登録ボタンRECを押下することで登録終了します。①の画面はWeb画面なので、右クリックのコンテキストに「ソース表示」選択でHTMLのタグを含むソースコードを表示できますが、②のDIC画面はソース表示できません。
===
この環境の下で、VBAを使って【選択した英単語と入力した訳語のリストをシートにまとめる】プログラムを作りたい。
そこで、質問です。
EXCEL2016のVBAで①で指定してDIC機能に取り込んだ英単語(X)をEXCELシート名「取り込み語対入力訳語」の“A1”セルに張り付けし、③の登録訳語を“B1“セルに書き込むプログラムを作りたいのですが、EXCELのシート間の処理プログラムではないので、VBAプログラミングが難航しています。
現在「EXCEL VBA Win64/32APIプログラミングの本を購入して勉強中です。
もちろん、上記の作りたいVBAプログラムへのコメントを頂けるのが最大の希望です。
しかし、基本はこのような個人用プログラムを作るための参考文献を推奨していただけるとありがたいです。(VBA基本、応用、関数の本は通読し、今は上記のAPIを勉強中)
質問者は、テキストファイルへの入出力処理がようやくできるようになった初級レベルにいます。
よろしくご教示ください。操作環境は・Windows10、・EXCEL2016を使っています。

A 回答 (3件)

こんにちは。



>「EXCEL VBA Win64/32APIプログラミングの本を購入して勉強中です。
すごいですね。その怖さを知らないというか。(^^;
その本は高すぎて、私には、とても手がでません。

最初に、私の書いた内容は、アドバイスにもなりません。

どちらかというと、Web環境ですと、ブラウザに依存してくる部分があるのですが、IE ではないのでしょうか。ただ、ご質問内容は、Win APIの世界の話とは違っていたような気がしますね。かつて、ロボワードとかいうツールの会社が、どうしようもなく、泥沼にハマっていった記憶にあります。これは、P-DICでも同じですよね。長い年月を掛けても、うまくできなかったと思うのです。FireFox のみが成功したのは、ブラウザの構造の違いだと思うのです。現在は、Google Chrome のアドオンソフトのほうが上位かもしれません。

それで、IEではなく、Edge だということになると、今度は、SeleniumVBAなんていうことになってくるのですが、この SeleniumVBAが、ブラウザの改変に追いつかないので、使い物にならなかったりします。ついに、諦めてしまいました。

まず、
>① Web画面を使用し表示される英文(X)の単語を指定し右クリックで指定すると、
>その単語を取り込んだ単語窓EWDに英単語(X)を反転表示(X‘)状態で辞書機能DICが起動し

ここまで、出来ているのでしょうか?
これ自体、もうVBAではないと思いますが。

Office のツール(MODI)は使っているのでしょうか。

>EXCEL2016のVBAで①で指定してDIC機能に取り込んだ英単語(X)
「DIC機能」というものは何でしょうか。Exce 2016 は所有していないので、良く分かりません。
それとも、今のところ、無料で使えますが、Microsoft Translator を使うということでしょうか。APIを使うことになりますが、これも、むつかしいです。

それと、ClipBoard コントロールを使おうとされているのでしょうか。そこらは大丈夫でしょうか。Win32 APIで作ろうとしていますか?異様に難しいものになるはずです。開けたり・締めたりがややこしいです。

次に、辞書についても、検索エンジンを、ADOなどを使うとか、その肝心の元の辞書をどう手に入れるのかとか、Excel VBAの内容を遥かに越えてしまいます。ある程度は、私もやってきました。

#2様のおっしゃる、例えば、ネットサイトのQuizeLet の一覧のようなものを取り入れるというのでさえ、初級レベルの人には手が出ないはずです。

もう少し、お話を聞かせてください。
    • good
    • 0
この回答へのお礼

操作したいこと(目的)と、操作している環境(特に、あいまいな用語で勝手に解ったように錯覚している。)を的確に把握していないことを反省します。もう少し、整理してからあらためて質問するようにします。EXCEL VBA Win64/32APIプログラミングの本を読み進めてますが、原点に立ち戻らないと猿まねすらできそうにないと、また反省してます。アンサーありがとうございました。長年、通信技術に関わり最近ソフト技術に挑戦!迷路に入りそうです。ご意見ありがとうございました。

お礼日時:2016/12/23 20:14

サイトによってつくりがバラバラなので、ここでは満足な回答は無理かと…


取り込みたいサイトのアドレスを提示していただけると、具体的な回答が返ってくるかもしれませんよ。
    • good
    • 0
この回答へのお礼

夢のような機能を勝手に描いて書き込んで、困惑させて申し訳ないと思います。ポイント絞り込んで、出直します。
コメントありがとうございました。

お礼日時:2016/12/23 20:22

Web画面ってなんだろう?


ウェブブラウザのウインドウの事だろうか。

・・・本題・・・
Webクエリを使っていますか。
Excel2016なら標準で備えています。

[データ] → [新しいクエリ] → [その他のデータソースから] → [Webから]
で、対象のURLを入力してクエリを作成し、そのクエリに対して処理を行った方が早くて簡単と思うんですが、いかがでしょう。


・・・余談・・・
遠回しすぎる説明は読んでいて疲れます。
まず目的を明確にし、
現在困っていることをピンポイントで説明したのちに
全体の説明をすると第三者に伝わりやすくなります。
これって、プログラミングにおいて一番重要なアルゴリズムの処理と通じるところがあります。
少しずつ直していきましょう。
    • good
    • 0

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