- ベストアンサー
エクセルのデータをwebフォームに転記したい
エクセルに数字の羅列があるのですが、直接webに手入力していくにはとても大変で困っております。 こちら(gooですが・・・)http://okwave.jp/qa/q5739589.htmlにぴったりのことが書いてあるのですが実際に使用してみると「ActiveXコンポーネントはオブジェクトを作成できません」とか怒られます。解決方法を教えていただければ幸いです。 追加ですがwebフォームがエクセルのようにセル状になっていて、指定の場所に転記する場合はどうしたらよろしいのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>こちらにぴったりのことが書いてあるのですが お示しの URL の回答者です。 >実際に使用してみると「ActiveXコンポーネントは >オブジェクトを作成できません」とか怒られます。 それは、Sleipnir を インストール しておられないからですね。 「ぴったりのことが書いてある」ということは、「クロネコヤマトの荷物お問い合わせシステム」でも使っていらっしゃるのでしょうか? 私は、もう何年も前から、同サイト の「お問い合わせ伝票番号」を エクセル の ワークシート から自動で入力するという VBA を書いて使っております。 実際に、「答えてねっと」という QAサイト に私が投稿した VBA の コード を書き換えて利用している方もいらっしゃいます(http://www.tokyocafe.net/slog/?eid=48)。 同じ方が、内容を更新していらっしゃいますので、お使いの ブラウザ が Internet Explorer の場合は、こちら(http://www.tokyocafe.net/slog/?eid=226)をご覧ください。 なお、念のため、基本形の最も簡単な コード をお示しいたしますので、スキル に応じてお書き直しください。 ただし、Internet Explorer の バージョン は 7 以上でいけると存じます。 Option Explicit Sub tneko_for_IE() Dim LastRow As Long 'A列最終行番号 Dim strURL As String '「クロネコヤマトの荷物お問い合わせシステム」のURL Dim objShell As Object 'タブカウント用の Shellオブジェクト Dim SWC As Long '最後のタブのインデックス Dim objIE As Object 'IEオブジェクト Dim Track_No As Integer '問い合わせ伝票番号の行番号 LastRow = Range("A" & Rows.Count).End(xlUp).Row strURL = "http://toi.kuronekoyamato.co.jp/cgi-bin/tneko?init" '予め、Shellオブジェクト の ウィンドウ の数を調べておく。 Set objShell = CreateObject("Shell.Application") SWC = objShell.Windows.Count 'Internet Explorer の起動 '「クロネコヤマトの荷物お問い合わせシステム」の読み込み Set objIE = CreateObject("InternetExplorer.Application") With objIE .Navigate2 strURL While .Busy Or .ReadyState <> 4: DoEvents: Wend End With '「お問い合わせ伝票番号」の照会 Do With objIE Do Track_No = Track_No + 1 .Document.all("number" & Format(Right(Track_No - 1, 1) + 1, "00")).Value = Range("A" & Track_No).Value Loop Until Right(Track_No, 1) = 0 .Document.all("sch").Click While .Busy Or .ReadyState <> 4: DoEvents: Wend If Track_No > LastRow Then Exit Do '次の10件問い合わせのために、新しいタブをアクティブにせずに開く(&H1000) .Navigate2 strURL, &H1000 Application.Wait (Now + TimeValue("00:00:03")) End With '開いたタブウィンドウを objIE で参照できるようにセット Set objIE = objShell.Windows(CLng(SWC + Int(Track_No / 10))) Loop 'オブジェクトの解放など objIE.Visible = True Set objShell = Nothing Set objIE = Nothing End Sub
その他の回答 (2)
- xls88
- ベストアンサー率56% (669/1189)
VBAは駄目でしょうか。 ≪参考≫ 三流君VBAでIE操作 InternetExplorer.Applicationを操作する http://www.ken3.org/cgi-bin/group/vba_ie.asp VBA(エクセル)で地図サイト(http://www.its-mo.com/index.html)にアクセスし... http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1012294895
お礼
ありがとうございます 参考にさせていただきます
- LHS07
- ベストアンサー率22% (510/2221)
Excelで保存するときに、Webページで保存します。 出来たHTMLファイルをメモ帳で開いて 表のところを別のHTMLファイルにコピーします。 コピー場所は <table から </table> までです。
お礼
ありがとうございます。 HTMLはまだ勉強不足ですが今後の参考にさせていただきます。
お礼
本人降臨とは思いませんでした。 実はUWSCを使って無理やり自動化したらうまくいきました。 今後の参考にさせていただきます。 ありがとうございます。