• 締切済み

VBや、Excelでこんなことできますでしょうか?

ネットワークでマージャンゲームをやっています。 そのマージャンゲームではつもった牌や捨てた牌のログが常に画面上に 出力されています。 このログから文字列、例えば”3万”とか”8ピン”といったものを 抽出し、ソフト上あるいはExcel上に表示させたいのです。 つまり、単にログから文字列を取得し、その値を得たいということです。 こういう動作をするソフトというかプログラムを作成したいのですが、 何からはじめたらよいのかわかりません。そこで以下の2点を教えて下さい。 1.VBやExcelで上記プログラムは作成できるか 2.できるとしたら一番重要な準備は何であるのか 私のスキルは7年位前にVBの本で数冊勉強した程度です。 以上、よろしくお願い致します。

みんなの回答

  • nac03056
  • ベストアンサー率48% (203/419)
回答No.4

面白い発想だと思います。 確かにVBやVBAを使って、そういった程度のことであれば可能だと思います。 ただ、この手の処理に関して言えることなんですけど、双方向のデータのやりとりが簡単にできるかどうかが問題になります。いわゆる、ログとして表示が出るとのことで、当然目で見ることは出来ますが、それをマウスやキーでドラッグしコピーすることが出来るかどうかで大きく可能性がかわります。ゲームによっては不正防止のために意図的に切り取れないように仕様ができているものもありますので、まずは手動でログを部分的に切り取れるかどうかを確認してみてください。これで出来ないと言うことであれば、ログを画像イメージとして切り取って文字認識する必要が出るため、殆ど不可能な(手間がかかりすぎる)話になります。で、もし取れたなら、あとはゲーム操作に支障の無いように取りこぼしのなくログをコピーできるか、写し取ったログから必要な文字だけを抜き取ることが出来るのかという具体的なプログラムに入れますので、いくらか目処も立つのではないでしょうか。 ちなみに今ログの見本を見ていてふと思ったのですが、チーについて、何と組み合わせてチーしたかという情報は出るのでしょうか?これが出ないと手動選択することになり、チーが連続したときなどログ読み取りとチー選択とでかなりやっかいな考え方が必要になる気がします。 なんにせよ、趣味のプログラムは面白そうなことでないとモチベーションが続きません。いい機会だと思いますのでぜひ完成させてください。

  • phoenix343
  • ベストアンサー率15% (296/1946)
回答No.3

1.VBやExcelで上記プログラムは作成できるか →できる 2.できるとしたら一番重要な準備は何であるのか →まずはExcelのマクロを知ることだ。 突っ込みとして 上記の画像はちょっと足りない点があると思う 牌は4つずつあるよね?

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

私の場合エクセル・アクセスのVBA・VBなどを学んできました。 情報源は書籍・雑誌、WEB、質問コーナーなどです。それでも解説書などに載っていない問題にはお手上げです。 何が難しいかとなると、IEなどの通信・WEB関係のものをVBのコードで扱うとなると情報が極端に少なくなります。解説書も、本屋に行った時いつも探してますが見つかりません。ちなみにワードVBAについても体系的な本は1本も出てないようです。本の購入者がそこそこ期待できないと出版されない。 中にはマイクロソフトがスクリプトを作っていない分野もあります。 ですからエクセルなどと他ソフトを関連づけてコードで処理することは勉強上、非常な困難が伴います。初心者にはまず無理でしょう。 ーー ただそうは言っても ●MSのヘルプ(コード実例あり)を探し、読み解く(その力あり) ●海外の人のWEBも読める。世界は広い。例えば米国人では特殊な分野のことでも解説している人が居る。 ●全般的な課題でなく、限定的な一部分(本件もそれに当たる)だけの解決のために情報を集める(そうは言っても、限定的だから易しくなるかというとそうでもない場合が多いようだ) ●VB.Net(2002-2008)では色々な分野のソフトを扱えるように考えているようだ。 ●株式トレード関係の解説書(需要が相当有るから)にVBAでWEB情報を扱うコードが、部分的にしろ載っているかも。 ●エクセルでの「WEBクエリ」は有名になっているので、WEBにも記事は相当有る などが突破口かなと思う。 そばに詳しい人(プロ)がいる場合は、疑問点など聞いて進められるが、稀有なことだし、私はこういう質問を見ると、「XX蛇におじず」 と思ってしまう。 しかし、多分若くて潜在能力があり(多分理系の人)、他のプログラム経験や職場でのソフト作成経験などあり、良くやっていると思うような記事もたまに出くわす(例えばワードVBA)。 だから不可能とはいえないと思うが、一般には質問者の努力と能力と指導者次第だろう。 能力に乏しい小生の(人皆同じ的な考えで)言うことなので、割り引いて考え、発奮してくれればと思うが。

  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.1

#VBは存じませんので、VBAで。。。 >つもった牌や捨てた牌のログが常に画面上に出力されています。  どのような形で出力されているのか存じませんが、下記のようなことで実現できないでしょうか? ・エクセルの [データ(D)] - [外部データの取り込み(D)] - [新しい Web クエリ(W)] でそのページを読み込み、VBAで解析する。 ・CreateObject("InternetExplorer.Application") の Navigate2 メソッドで、ログを読み込み、VBE の ウォッチウィンドウ で、オブジェクトの「Document プロパティ」配下を調べて、解析する。  いずれの場合も、ログが画像で出力されているような場合は、その画像のURLが、例えば http://okwave.jp/8man.jpg というな文字列になっていると存じますので、そこから「8man」を取り出して対応するセルに斜め罫線、あるいは オートシェイプ を引く様にすればよいかと存じます。

関連するQ&A