• ベストアンサー

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

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

  • hiroi
  • お礼率89% (223/248)

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

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

>この繰り返しでエクセルの数値をWeb画面に入力する  私は、「クロネコヤマトの荷物お問い合わせシステム」(参考URL)のWEBページを開いて、エクセルからクロネコメールの伝票番号を10件ずつコピペし、新しいタブを開いては問い合わせるというようなVBAを書きました。  基本的には、 CreateObject("Shell.Application").Windows.Item(~~).Document.~~ というようなことで、順にコードを書いていって、ステップ イン デバッグ しながら .Windows.Item(~~).Document.~~ のプロパティをウォッチ ウィンドウ で確認すれば、 .forms(0)(~~).Value = Range(~~).Value みたいなことでコピペができます。  最後に、 CreateObject("Shell.Application").Windows.Item(~~).Document.forms(0)(~~).Click みたいなことで、WEBページのボタンをクリックします。

参考URL:
http://toi.kuronekoyamato.co.jp/cgi-bin/tneko?init
hiroi
質問者

お礼

DOUGLASさん ご解答どうもありがとうございます。このようなコマンドは経験ないので勉強してみます。その為には、たぶん貴方のコードと思われるものを見つけましたので、後日ゆっくり貴方のコードとやり取りの内容も1つ1つ吟味しながらマスターしていきたいと思います。ありがとうございました。 http://www.kotaete-net.net/Default.aspx?pgid=14&qid=6028449630

その他の回答 (3)

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

[回答番号:No.3] の DOUGLAS_ です。 >たぶん貴方のコードと思われるものを見つけました  ん~... 意図通りでした。  実は、私は OKWave の方は初心者でして、先日、「こちらの掲示板では、コードの呈示がない場合に、回答者の方からコードを呈示するのはいかがなものか」というような回答を拝見いたしまして、コードの全面的な呈示を差し控えておりました。  が、検索キーワードの変わりに、「クロネコヤマトの荷物お問い合わせシステム」と「VBA」でいけるかなと思っておりましたら、ちゃんと見つけてくださいましたね。  あちらの方へは、他の方のご参考に供するため、操作の方法やエラー処理をコメントアウトしておりますので、お解りやすいかと存じます(自画自賛)。  ちなみに、あのコードのポイントは 「CreateObject("internetexplorer.application") だけではなくて、 CreateObject("Shell.Application") によって ウィンドウ オブジェクト の数を読んで、タブを操作する」 という点です。  新しいタブを開くような処理が不要の場合は、もっとスッキリとしたコーディングになりますので、念のため申し添えます。  また、「Sub A列からの入力()」とマクロ名を付けておりますように、A列に「****-****-****」(お問い合わせ番号)というような数字を入力しておいて、ステップ イン デバッグ でお試しください。  A1:A10 を超えてデータが入っている場合は、新しいタブが開きます(Internet Explorer 7 以上)。

hiroi
質問者

お礼

DOUGLASさん 答えてねっとというものは初めて聞きました。ここは長く使っていましたが、答えてねっとの存在どうもありがとうございます。 「クロネコヤマトの荷物お問い合わせシステム」と「VBA」で検索したのではなく、「CreateObject("Shell.Application").Windows」という難しそうなコードなので、これを検索したら貴方が出て来た訳です。 あそこにある貴方のやり取りは、私にとってはかなり高度な内容でまだ分かりませんが、そのうち理解できるように努めます。 今後は答えてねっとも使わせて頂こうと思います。その時また会えるかも知れませんが、その時はよろしくお願い致します。

noname#194317
noname#194317
回答No.2

UWSCを使ってみてはどうでしょうか。これはキー入力やマウス操作を記憶して、再生するソフトです。 ダウンロード先(種類があります。フリーソフト版を選んでください) http://www.uwsc.info/download.html 紹介記事 http://www.vector.co.jp/magazine/softnews/060627/n0606273.html やろうと思えば、自分で処理内容を記述して、もっといろんなことをさせることも可能ですし、単なるキーボード・マウスの操作を記憶・再生するソフトとしても十分使えるので、何かと便利ですよ。

hiroi
質問者

お礼

siremono2496さん ごアドバイスどうもありがとうございます。 こういうソフトがあるなんて知りませんでした。これは使えそうですね。素晴らしいと思います。それに自分でプログラミングも出来るとか。ぜひ使わせて頂きます。ありがとうございました。

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

操作したいHPを見てみないとなんともいえないですが、参考に なるかもしれません。 三流君VBAでIE操作 InternetExplorer.Applicationを操作する http://www.ken3.org/cgi-bin/group/vba_ie.asp

hiroi
質問者

お礼

marbinさん アドバイスどうもありがとうございます。 内容見てみました。ちょっと難しそうですね。それにWeb画面でIDとパスワードを入れなければならないから、難しいと思う。でも参考になります。ありがとうございます。

関連するQ&A

  • エクセルのデータを自動的にwebブラウザ上のフォームに入力

    はじめまして。 下記のような作業を自動化したいのですが、フリーソフトか何かしらの言語を使って、自動化することは可能でしょうか? 1、エクセルのセルA1にあるデータを取得。 2、そのデータをIE,またはFirefoxに表示されているページの複数あるテキストボックスのひとつにペースト。 3、エクセルのセルA2にあるデータを取得。 4、そのデータを先ほどのテキストボックスの横にあるテキストボックスに入力。(テキストボックスは全部で20あります。) 5、この動作を繰り返し、20のテキストボックスすべてにエクセルから取得したデータをペーストし終えたら、検索ボタンを押す。 6、その後、検索結果をコピーし、エクセルのセルG1(G1というのは便宜的なものでどこでもA以外ならどこでも大丈夫です)にペースト。 自分はこの動作をキーボードのメニュキー(右クリックの役割を果たすキー)でコピー、CTRL+TABでウィンドウ切り替え、メニューキーでペーストをして、すべてペーストし終えたら、tabで検索ボタンに移動、enterでやっていました。また、キー入力を記録するフリーソフトを使って、5までは自動化に成功しました(動作が不安定なのか失敗することが多いのですが・・・)。 しかし、6がどうしてもできません。セルA300まである場合もあり、どうしても手入力では正確さでも速さでも限界があります。 何かいい方法はないでしょうか? 自分はエクセル、VBA、HTML、CSSしか使えません。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つのテキストボックスにしか貼付きません。また、データの自動取込み機能などは、その入力フォームにはありません。

  • エクセルのセルの移動と選択セルへのデータ入力について

    エクセル2000で、セルにデータを入力して「Enter」を押すとカーソルが下のセルへ移動するはずですが、Tabと同じの右のセルに移動します。 また、複数のセルを選択してデータを入力して「Ctrl+Enter」で複数のセルに同じデータが表示されるはずですが、入力したセルだけに表示されてしまいます。 変更できる機能をいろいろ探したのですが、解からず、修復インストールしましたが改善されません。 解決方法について教えて下さい。

  • エクセルのTAB移動について

    エクセルでTABを使って移動すると隣のセルに移動せず、画面上の一番端のセルに移動してしまいます。 自分なりに色々見てみたところ、オプション→移行「Lotus1-2-3形式のキー操作」にチェックがついていたので、はずしてみたら隣のセルに移動するようになったのですがまた新たにエクセルを立ち上げた時に元の状態に戻ってしまいます。 TABを使って移動した時に隣のセルに移るようにしたいのですが、設定方法が分かりません。 お分かりになる方、お教えください!よろしくお願いします。Excel2000です。

  • Ctrlキー+HomeキーでセルA1へ移動できない

    Excelのキー操作によるアクティブセルの移動で出来ない操作があります。 例えば ● Ctrlキー+HomeキーでセルA1へ移動する           ● Ctrlキー+Endキーでデータの入力されている四角い範囲の一番右下の       セルに移動する           ● Shiftキー+Homeキーで選択範囲を行の先頭まで拡張する     ● PageDownキー・・・・1画面下にスクロールする     ● PageUpキーで・・・1画面上にスクロールする           ● Alt +  PageDown・・・1画面右にスクロールする     ● Alt +  PageUp・・・1画面左にスクロールする OSはWindows2000です。 何故こんなに出来ない操作があるのでしょう。教えてください!      

  • エクセルの入力に関する質問です。リスト設定してあるセルまでタブで移動し

    エクセルの入力に関する質問です。リスト設定してあるセルまでタブで移動したら、Alt+↓キーで選択できる事が分かったのですが、sheetにVBAを設定する事で自動的に▼が押下されている状態を作ることはできないでしょうか。

  • エクセルの 貼り付けについて

    会社でエクセルを使う必要に迫られています 操作内容としては社内ソフトデータをエクセルにコピーして編集するんですが コピー内容をエクセルに貼り付けると 普通はセルの中に貼り付くはずですが 貼り付けた領域の表示の状態はと言うと罫線類が消えたようになり選択セルから始まって数式バー辺りからデータシートの上に貼り付いている感じでセルに収まってくれません 何とか元に戻す機能でクリアすると選択セルに#連続で入っています 数値値のクリアで消して再度やってみますが同じ事の繰り返しです 貼り付ける時の領域選択にミスがあるんだろうと思うんですが対処法がわかりません  説明が解り難いと思いますが居ますがよろしくお願いします

  • Excelの操作

    WinXPで、Office2003のExcelを使用しています。そのExcelの操作でお教えください。 左右上下の矢印キーではセルが移動してたはずですが、いつの間にか、セルではなく画面自体が移動するようになってしまいました。 ツール→オプションでいろいろと試してみましたが、どうも元に戻りません。 どこをどうすれば、矢印キーでセルを移動させるようにできるでしょうか? どうぞよろしくお願いいたします。

  • WEB上の文章 ⇒ EXCELへコピー

     WEB上の文章を、EXCELへコピーすることが、よくあります。  が、思うとおりにコピーできません。  その1  WEB上で数行にわたって記載されている文章を、EXCELではひとつのセル内にコピーしたい(セル内で改行)  その2  WEB上で数行にわたって記載されている文章をEXCELにコピーすると、1行(列?)にコピーされてしまうことがある。だらだらと長ったらしく見難いので、ほどよい間隔で改行されるようにしたい。  

  • エクセルのセル表示

    こんばんは、エクセルの画面でセルの枠がなく、web画面になっているようなのを見ました。 VBAを使用するボタンが配置できればそのシートでエクセルの機能を使用する必要はないのですが、どうやって作っているのかご存知の方教えていただけませんでしょうか? エクセルでwebのようにボタンでシート移動したり、グラフを表示したいです! HPからエクセルのファイルを開き、なるべく見やすく、きれいな画面でエクセルの機能を使いたいです。 どのような方法があるかどなたか教えて下さい!!!!!!!!! よろしくお願いします