• ベストアンサー

excel VBA 自動入力

excel VBA 自動入力 こんにちは excelから現在バックグランドで開いているアプリケーションやWebブラウザのフォームなどに excelの値をVBAで入力するにはどのような指定の仕方をしたらよいでしょうか? 指定方法としては、"Alt+Tab"を1回押した時にアクティブになる部分、 つまり、作成予定のexcelファイルをアクティブにする直前にアクティブだった入力フォームへ 入力するという指定がしたいです。 どうかご教示お願いします。

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

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

質問はエクセルVBAをやっているレベルの者が扱うような課題ではない。エクセルVBAはいま実行しているエクセルの世界範囲でとじたようなもの。過大期待だと思う。 質問のそういう類のことをやりたかったら、VBAでなく他言語になると思うが、かつウインドウズの仕組みやプログラムでウインドウズを扱う根本から勉強する必要があると思う。 質問の世界の課題でなく、腰をすえて、情報の乏しい中で勉強する世界だ。 ーー 既回答に出ているSendKeysが、突破する針の穴なんだが、一般には十分な要求にはこたえられないとおもう。 ーー 他スレッド(タスク)などに割り込んだり、その実行中の情報を取るなんてことは、そこそこの技量では、そうそうたやすく出来るものではない。悪用されるとクラッカー行為になりかねない。 少し手間でも、もっと易しくできる方法が無いか考えるのが先。 ーー またIEはVBAと称するものは無いようなのだが、プログラムで扱うのはWEBなどに断片的に出ている。 (Googleででも「InterNwet.application createobject」で照会) エクセルVBAからIEを起動して、IEへ、実行しているエクセルのシートのセルの値を渡すコードは出来るのか、どうなるのかは、WEBでも調べるしかなかろう。IEを自在にプログラムで扱うことの概説書は市販されてないようにおもう。

bin-bou
質問者

お礼

狭い世界で考えていたということに気づかせてもらいました。 No1さんの回答で何ができるのかが分かったら、別の方法を考えてみます。(・・)

その他の回答 (1)

  • jcctaira
  • ベストアンサー率58% (119/204)
回答No.1

SendKeysでできそうです。   Sub 自動入力入力()   SendKeys "%{TAB}", True   SendKeys "TEST", True End Sub

bin-bou
質問者

お礼

ありがとうございます。 やってみたのですが、VBAをいじくるのが久しぶり過ぎてまだ、うまくいっておりませんで・・・ これをヒントにがんばってみます!

関連するQ&A

  • VBAでエクセル内の情報を他のアプリケーションへ自動入力したいです

    業務効率を上げるために、VBAでエクセル内の情報を他のアプリケーションに自動入力させたいです。 入力する情報は、複数の項目があり、固定されています。 できれば、ワンクリックですべての入力フォームに自動入力させたいです。 これらのことは、VBAで実現可能なのでしょうか? また、実現可能な場合、どのようにすればよろしいのでしょうか? VBAを始めたばかりで何が出来て何が出来ないか、あまりわかっておりません。 VBAを習熟している方にとっては、簡単に質問であるかも知れませんが、どうぞご教授ください。 よろしくお願いいたします。

  • 転記作業を自動化できないか

    こんな作業を自動化・高速化できないでしょうか。 ある入力フォームについて、Excelデータから転記する作業をしています。その入力フォームには縦横に入力用テキストボックスが並んでいるわけですが、横方向の入力をする場合 ExcelファイルのA1セルをコピー(Ctrl+C) → 入力フォームをアクティブに(Alt+Tab) → 貼付け(Ctrl+V) → Excelをアクティブに(Alt+Tab) → ExcelのB1セルへ移動(Tab)してコピー(Ctrl+C) → 入力フォームをアクティブに(Alt+Tab) → 次のテキストボックスへ移動(Tab)して貼付け(Ctrl+V) ・・・というのを繰り返してやっています。非常に単純な機械的繰り返し作業なので、なんとか自動化できないでしょうか。 ちなみにA1セル~B1セルを一度にコピーしてテキストボックスに貼付けても、2つのテキストボックスに一度に貼付けられたりはせず、1つのテキストボックスにしか貼付きません。また、データの自動取込み機能などは、その入力フォームにはありません。

  • エクセルのデータを自動的にWebに入れるには?

    いつもお世話になっています。 エクセルのデータをホームページに入れる時、決まった動作の繰り返しをするので、これを自動化することは出来ないでしょうか?VBAだとエクセル内部でしか出来ないのではないでしょうか? こういう操作です。 エクセルの場面でセルをCtrl+Cでコピーして、リターンキーを押して(セルが次のセルへ飛ぶ)、Alt+TabでWeb画面へ移動して、Ctrl+VでWebにエクセルの数値を貼り付けて、Tabキーを数回(回数は一定)押して次の入力欄へ移動させて、Alt+Tabでエクセル画面へ戻って、またCtrl+Cでコピー。 この繰り返しでエクセルの数値をWeb画面に入力するのです。このような定型的な動作はコンピューターが得意とするはずですが、VBAでは実現できない(と思う・・。エクセルの外部にまで操作出来るのでしょうか?)。 何か方法があるはずですが、ご存知の方がいらっしゃればよろしくお願いしたします。

  • Excelのセルの内容をブラウザに自動入力するには

    よろしくお願いします。 Excelに入力されている内容をWebブラウザに入力していくといった作業を自動化したいと考えているのですが、何を使えば実現できるかが分かりません。 Excelのセルの内容を参照して、Webの<form>内に次々に入力していくだけで、双方向や数値の変化にアクティブに追従する必要はないです。 色々と検索して、VBAを使えば出来るのかな?と感じてはおります。 以上、詳しい方の回答をお待ちしております。よろしくお願いします。

  • エクセル VBA 日付入力?

    エクセル 2000のVBAにて簡単な 日程表を作成しています。 フォームの テキストボックス1に 10/8 を入力したら テキストボックス2には 10/15 ~ テキストボックス15には 1/21 が自動で 入力されるようにするには、どのようにすればよろしいでしょうか?

  • エクセルでブラウザ操作のVBAを教えて下さい

    現在、やりたいこととしては 以下の動作を指定したX回繰り返す方法で エクセル→alt+tab→Firefoxブラウザのページ→ページ全選択コピ(ctrl+A)ー→alt+tab→エクセル貼り付け→別の成形マクロ実行→alt+tab→Firefoxブラウザのページ→tabキー5回→enter→ページ全選択コピ(ctrl+A)ー→alt+tab→エクセル貼り付け→別の成形マクロ実行→alt+tab→Firefoxブラウザのページ→tabキー6回→enter と繰り返す形を模索しております。 要は、エクセルからブラウザに切り替えて全コピーして、エクセルに貼り付け、 ブラウザに切り替えてtabで次のページ切り替えのボタンを押して同様にコピーペースト、 もう一度切り替えて、今度は前のページ、次のページがあるのでtabボタンを押す回数が1回増えるという形です。 分かりにくい説明かと思われますがよろしくお願い致します。 当方使用環境 OS:Win XP Win7 2機種 エクセル2010 ブラウザ:ファイアーフォックス var23.0.1

  • エクセル VBA 飛ぶセルの自動連番のつけ方

    エクセル VBA で添付画像のように1枚に30までの自動連番、 セルに1~150と入力すれば自動採番で5枚印刷できるような VBAをご教示下さい。 番号は001のような3ケタの場合でお願いします。

  • エクセルVBAで

    初めて質問させていただきます。エクセルVBAでスクロールバーを使ってデータを表示させることをしたいんですがなかなか理解できません。具体的にはあるフォームを作ってあって、スクロールを一つ動かすごとに過去にフォームに入力した値を順次表示させるというやり方なんですが、難しいでしょうか?

  • EXCEL入力値のWeb画面への入力について

    Excelに入力された値をWeb画面上のある入力領域に挿入し、 Web画面上のボタンを押すという処理を繰り返し行いたいと思います。 単純な操作なのですが、手入力で行うと結構面倒で、できれば 自動化したいと思います。 VBAプログラムでプログラミングしたいと思うのですが、 Web画面上への入力、ボタン押下処理は、どのようにしたら 良いのでしょうか。

  • Excel VBA ユーザーフォームのコンボボックスに表示する値の入力方法

    Excel Xを使用して、VBAのユーザフォームにコンボボックスを作りましたが、どうしてもコンボボックス内に表示する値の入力方法が分かりません。 WEBや本などで「これ」と思われるものを実験していますが、どれも表示することができません。 できるだけ詳しく教えていただけませんか? したいことは、  cbocenter というコンボボックスに値を出します。  値は List シートの A2 から A18 に入力済みです。  それと値から選択した値を data シートの J列 に  表示させたいのです。(行の指定はできています) 本当に困ってます。よろしくお願いします。

専門家に質問してみよう