• ベストアンサー

ウインドウにデータを入力するプログラム言語

ウインドウにデータを入力するプログラムは不可能なのでしょうか? 私は今までコマンドラインから使う市販の科学系ソフトに大量のケースのパラメータを入力するため、 Perlで一度に入力し、結果もまとめて一つのファイルにするプログラムを作成して使っていました。 しかし、この度、ソフトがWindows用にバージョンアップしたため入力もウインドウに書き込み、 結果も一つずつ新しいウインドウに出力されます。 このようなソフトの場合は以前のようなプログラムは作成できないのでしょうか? Perlでは難しいと思いますのでどなたか可能な言語を知っておられたら回答お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.3

キーボードの操作を記録・再生できるソフトのうち、記録ファイルがテキスト形式で直接編集できるようなものを利用すると良いと思います。 キーボードマクロ&マウスマクロ KMmacro http://www.vector.co.jp/soft/win95/util/se211440.html > 結果もまとめて 結果がどういう出方をするか?ですね。 テキストフィールドに出るのなら、そこからコピペとか。 画面に表示されるんなら、画像として保存していくとか。再利用がしにくいですが。 過去に使った事のある製品版のものですと、VisualTestが使いやすかったです。 作成したアプリケーションを自動で試験するためのツールですので、値の取得や比較、自動処理なんかまで。 -- 他の方法としては、入力値をExcelにまとめておいて、VBAのSendKeyコマンドなどを使って自動で動作させる方法とか。 サンプルが見当たらないので書籍の紹介ですが、 C&R研究所のホームページ - アッと驚く達人のExcel VBA実践技&上級大全 http://www.c-r.com/mo_tevb03.htm | ●Excelからメモ帳を起動してデータを書き出す・・・・・・237 | ■「SendKeys」でアプリケーションを操作するには事前にアプリケーションをアクティブにせよ! なんかに書かれているハズ。

参考URL:
http://www.vector.co.jp/soft/win95/util/se211440.html, http://www.c-r.com/mo_tevb03.htm
yfsft061
質問者

お礼

お礼が遅れてすいませんですた。大変役に立ちました。 色んな人に聞いたのですがキーボードやマウスの動きを記憶できるソフトは知りませんでした。 ループや条件までプログラムできて大変役立ちました。 時間があれば自分でVBAからでも作ってみようと思います。ありがとうございました。

その他の回答 (3)

  • notnot
  • ベストアンサー率47% (4848/10261)
回答No.4

#3さんお書きの方針がよいと思います。PerlでもActivePerlだと、Win32::GUITest::SendkeysやSendMouse でGUI操作ができるようです。 あと下記のようなソフトもあります。 お金がかけられるなら、#3さん紹介のような、「GUIアプリの開発時に使うテストツール」を買うと楽だと思います。

参考URL:
http://www.vector.co.jp/soft/winnt/util/se332987.html
  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.2

以前はコマンドラインからのみ動作するアプリだったのが、Windowsコンソールがついたものに変わったということで、そちらでの入力作業もマクロ化したいということなんでしょうかね。 で回答としては そちらのアプリの仕様次第となってしまします。 Windowアプリでもコマンドライン対応をするものは多々あり、特に基がコマンドアプリだったものがバージョンUPしただけのものであるなら以前のコマンドはそのまま受け付けるタイプのものが多いです(アーカイバ系アプリは殆どがそうです)。 それでしたらおそらく以前の方法でそのまま使えるかと思います。 全く別アプリということであれば、その仕様書なりヘルプを確認して下さい。コマンドラインからの起動や引数などについての言及があればその仕様に従えば同様の処理ができると思います。 また設定ファイルなどで起動オプションをつけたりすることが出来るものもありますので、その手の場合でしたらiniファイルを直接編集してそれからアプリを起動させたりでマクロ化することも可能でしょう。 で全くそういうのがないアプリの場合でしたら、ご希望のことはほぼ不可能です。 ある程度の仕様等が公開されているアプリでしたらそれなりのことが出来ますが、おそらくされていないでしょうから、例えばキーイベントを発生させて所定の項目を選択させてそこに文字列を流し込むというようなことぐらいは可能ですが、キーイベントによる操作はPCの処理状況などによっては期待通りの動作はしませんから難しくあります。 この手のことならプログラム言語は簡単なVBとかでも出来ます。そのアプリ自体を乗っ取るのならC系の方がお勧めです。

  • brax3
  • ベストアンサー率36% (17/47)
回答No.1

ウィンドウというのが何を指しているのかわからないですが、GUIならVBかVCでいいのではないでしょうか

関連するQ&A

  • Windowsのプログラムを作成するのに始め易い言語

    私は今までにWindowsのプログラムを作ったことがなく、 Windowsのプログラムを作成してみようと思うのですが、 どの言語のプログラムが覚えやすい/使いやすいでしょうか? 一応Windows以外の言語では以下の言語を扱えます ※独学なので、完全には覚え切れていません HTML / CSS / Javascript / perl5 / php4 / php5 / XHTML / Ajax? 身近にアセンブリ?アセンブラ?どっちかわかりませんが、 そういう言葉を耳にするのですが、どういう事なのでしょうか? 断片的なことしか聞いてないし検索してみても、明白な説明?の あるサイトも見つからないので、もし知っている方がいらっしゃれば そちらの方も聞いてみたいです

  • C言語プログラミングで「コマンドラインから3つの整数を入力し、大きい順に並べる

    C言語プログラミングで「コマンドラインから3つの整数を入力し、大きい順に並べるプログラムの作成」なのですが,どなたかわかる人はいらっしゃりますか? C言語初心者です. if else文を使って作成するのですが,整数の入力において、同じ数字を認める方法と認めない方法がありますが,両方教えていただけると助かります. 例えば 10、5、21の数字をコマンドラインから入力したときに 出力結果は21、10、5と並ぶ. 同じ数字を認めるとき、例えば 10、10、30と入力したとき出力結果は30、10、10となる 同じ数字を認めないときは、コマンドラインからの入力時に、もし同じ数字が入力されたらエラーメッセージを返して終了 といった具合です.どなたかお願い致します.

  • プログラムのパラメータの自動入力

    お世話になっております. 以下のようなプログラムがあります. 1. hoge.exe を実行すると 2. Dosウインドウが立ち上がり InputA : _ #入力待ち状態になる,Enterを押すと3.へ 3. inputAにパラメータを入力すると InputB : _ #再び入力待ち状態になる 4.すべてのパラメータを入力すると,プログラムが走って結果がテキストファイルに出力される. そこで質問ですが,この入力(InputA,InputB...)を自動化する方法はあるでしょうか? ソースは無く,exeファイルしか現在は手元にありません. いくつかパラメータを変更して,出力ファイルを比較したいのですが,良い方法は無いでしょうか? 助言を宜しくお願い致します.

  • C言語でMS-DOSプロンプト入力でプリンタに出力する方法は?

    OS/Win98でVC++を使ってC言語を学習している初心者です. C言語のプログラムでMS-DOSプロンプト上のコマンド入力において プリンタに出力する方法を知りたいです. たとえばMS-DOSプロンプト上で C:>[プログラム名][ファイル名(XXX.txt)] と入力すればプリンターにおいて、入力した[ファイル名(XXX.txt)]が 出力されるようなプログラムを作成したいです. 主にプログラムの流れをどのようにすれば良いか知りたいです. 宜しくお願いします.

  • C言語プログラミング初心者

    C言語プログラミング で、「0~100の整数値をコマンドプロンプトから入力し,0~59のとき「不可」,60~69のとき「可」,70~79のとき「良」,80~89のとき「優」,90~100のとき「秀」と出力するプログラム」を作成したいのですがどのようにかけばよろしいのでしょうか?

  • 引数で入力された月の翌月を算出する(Bシェル)

    実現したいことはC言語で記述したプログラムにて「AA_201012.txt」というファイルを出力した後に、Bシェル上でmvコマンドでリネームすることです。 上記の「201012」は年月なのですが、システム日付(date)から取得したものではなく、パラメーターとして入力されてくる「201011」の翌月をC言語で記述したプログラム上で求めたものであるため、「201011の翌月」をBシェル上で求める方法がわかりません。 C言語で出力する時の201012はシステム日付ではなくパラメーターの日付を出力していて、処理を流す日付に左右されず、パラメーターの201012をファイル名として使用するという制約があります。 ある環境ではそのままの名前でファイルを出力し、ある環境ではリネームしたいが、プログラムは変えたくないため、Bシェルでなんとかしたいです。 プログラムに不慣れなため、ご教授お願いします。

  • Pythonのプログラムの実行の考え方について

    pythonの教科書のサンプルの実行についてお尋ねします。 テキストのサンプルには普通、インタープリターで書いてあるものと、プログラムをファイルに書き出してそれをコマンドで一気に処理するもの(こちらの方が他の言語の実行に近いか)の2通りがあります。 インタープリター向きに記述されたものをファイルに書き出してpythonコマンドで、インタープリターと同じように実行するにはどのような書き換えが必要になるのでしょうか。結果を出力するときにインタープリターでは配列名を入力するだけでその内容が出力されたりしますが、ファイルではそれができないのでコマンドを指定するとかになると思いますが、他になにかあるでしょうか。 ファイルに書き出したプログラムの実行ですが、Pythonコマンドを実行しても実行形式の出力がないのでコンパイルではないわけですが、これはバッチとかシェルスクリプトと同じような意味になるのでしょうか。1行1行実行していくということですが。とするとインタープリターと同じになるのかなと思うのですが。 実行形式が単体のファイルとして出力されて単体として実行できるというのは従来のプログラム(C,Fortranなど)ですが、Pythonはそれがないわけですね。Ruby, Perlに近いものなのでしょうか。速度が求められる科学技術計算ではライブラリを導入して高速化できるということですが、どの程度かなと思いますが。その中間的なものがJavaなのかなと思いますが(半分実行ファイルみたな)。 たぶんベタな質問と思いますが、よろしくお願いします。

  • ラダープログラムはプログラム言語ですか

     制御盤の制御では、シーケンサ(PC)を使って専用ラダーソフトで作成されることが多いのですが、これもプログラム言語の一種でしょうか。  また、C言語などの構造化に適したプログラム言語にくらべて、ラダーソフトは規模が大きくなると非常に見にくくなります。 それでも、このスタイルのプログラミングが支持されてているのは、なぜでしょうか?

  • C言語プログラム

    C言語プログラム ある数を入力して、入力された数を一辺とする図形を描くプログラムを作りたいんです。 分かりやすくすると、 入力された数が5だった時、画面には ***** ***** ***** ***** ***** ↑こう出力させたいんです。 四角だけじゃなくて、 * ** *** **** ***** ↑こういう三角とか、逆三角とか、 *        * **     *** ***  ***** **     *** *        * こんなかんじでいろんな形を描けるようにしたいんです。 C言語で、for文の二重ループを使うようにとのことなんですが、 どうすればいいでしょうか。 こういうのってズルですけど、何かヒントでも貰えればと思っています...。

  • Linuxのブラウザで、動作をプログラム言語でコントロールできるものは

    Linuxのブラウザで、動作をプログラム言語でコントロールできるものはありますか? Windowsでは、IEをオブジェクトとしてVBやVBAからコントロールし、ページ移動をさせたり、入力フォームに値を入れたり、ページの内容を受け取ったりすることができます、Linuxで同じ様なことができるブラウザはありますか? やりたい事は、レンタルサーバーや、レンタルカードなどの管理画面にログインして、プログラムで発生させた記述内容をアップしたり、結果として表示されている内容をダウンロードしたりすることです。 プログラム言語は、できれば perl がいいです。 よろしくお願いします。

専門家に質問してみよう