• ベストアンサー

プログラミングに興味がありますが、勉強の仕方がわか

会社でどうやら昔にプログラミングに得意な人がいたようで、サイトにアクセスしpasswordを自動で打ち込みログインするというプログラムを見つけました。 中をメモ帳で見てみると、どうやら サイトを開く→TAB✖️3→Enter といった具合に単純にキーボード操作を行ってくれる物のようで、今はそのプログラムを書き換えて業務に役立てています。 そこで質問なのですが、 1.上記のプログラムは途中で操作を行ったり、別の画面と干渉してしまって、動作が安定しないので、どうしたらいいか 2.会社でマニュアルを印刷する業務があるのですが、日々更新されるマニュアルのため、毎日ウェブにアクセスし印刷といった行為を手動で行なっています。これを自動化したいのですが、どういった勉強をすればいいか 会社のパソコンなので、一般に販売されているWindows7の初期から使えるアプリケーションでできるものだと嬉しいです。 プログラミングは全くの無知なので、その他必要な情報があれば教えて下さい。 よろしくお願い致します。

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

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

>毎日ウェブにアクセスし印刷といった行為を手動で行なっています。これを自動化したいのですが こういう有名なパターンはWEBで検索すると記事が出てきます。 Googleで「vba ie 印刷」で照会。その中に http://vba-code.net/ie/print-a-web-page/ VBAによるIE自動制御 https://teratail.com/questions/57503 vbaでのエラー ここで、While Now < Futuretimeに修正し実行すること。 以下標準モジュールに張り付けて実行しテスト 以下は上記の記事をそのまま利用。ただしエラーが出る部分は修正して実行し、よさそう。 ===== '定数の定義 Public Const OLECMDID_PRINT = 6 Public Const OLECMDEXECOPT_DONTPROMPTUSER = 2 '日経新聞のホームページに接続して印刷するプロシージャ Sub PrintNikkei() Dim objIE As Object 'IE起動 Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True '日経新聞のホームページに接続 objIE.navigate "http://www.nikkei.com/" 'IEを待機 Call IEWait(objIE) '3秒停止 Call WaitFor(3) '画面を印刷する objIE.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER 'IEを待機 Call IEWait(objIE) '30秒停止(印刷なので少し長めに待機) Call WaitFor(30) 'IE終了 objIE.Quit Set objIE = Nothing End Sub 'IEを待機する関数 Function IEWait(ByRef objIE As Object) Do While objIE.Busy = True Or objIE.readyState = 4 DoEvents Loop End Function '指定した秒だけ停止する関数 Function WaitFor(ByVal second As Integer) Dim futureTime As Date futureTime = DateAdd("s", second, Now) While Now < futureTime DoEvents Wend End Function これは日経の記事を印刷する例なので、望むものにURLを変えること。 ==== プログラム(VBAなど、Scriptに限定して)はよい面も多いですが、覚悟を決めて勉強し、首を突っ込まないと、大変です。 (1)まだまだ特定の目的に絞ると情報が少ない。欧米の本やWEB記事を読む必要。 (2)スクールも少なく、東京に集中していて、また受講は高価。 (3)勉強に時間がかかる(早くても数年かかる) (4)退職後・転勤後に引き継ぎ者が扱いが困る。ゴミになりかねない。 (5)理解者が少ない。時間がかかる割に理解してもらえない。 (6)他社では別のシステムを採用していたりして、役立たないとか、プロとしてやっていくには、不十分なスキルに終わると思う。 よく考えて、業務処理などに応用には、首を突っ込むか、踏みとどまるか、考えてください。

その他の回答 (1)

  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.1

こんにちは メモ帳で見られるという事はVBSかな? バッチファイルの作り方とか、VBSについて勉強するとか、 ExcelのVBAを勉強するのが自分はお勧めです。 毎日ウェブにアクセスし印刷といった処理はExcelVBAで出来る事が多いです。 色々な省力化ツールを作成するのは、属人化するとか色々批判も有るかとは 思いますが、アクセスするサイトが修正されたり、業務の内容が変わったり すれば永続的に使い続けられるシステムなんて無いのですから、その時々で 作り直せる人がいるかどうかにかかってきますよね。 ただし、色々なツールを作成して自分自身の省力化をしても中々褒めては 貰えません。 こんなものを作ってこれだけ時間外が減りましたとか、アピールした方が いいですよ。 また、他の人の手助けになるようなツールを作っても、時間外が稼げない って言われてしまったり、手が空いた分、仕事していないように見られるとか 疎ましく思われたりもします。 時間内に処理しきれない仕事を短時間に済ませる事が出来るようなツールを 希望している人に作成してあげると、個人的には感謝されたりします。

hatahata77765
質問者

お礼

回答ありがとうございます。 エクセルVBAですね、調べてみます。 省略化も一長一短のということですね、心に留めておきます。そういったアドバイスも非常に助かります。ありがとうございました。