• ベストアンサー

エクセルのデータをwebフォームに転記したい

エクセルに数字の羅列があるのですが、直接webに手入力していくにはとても大変で困っております。 こちら(gooですが・・・)http://okwave.jp/qa/q5739589.htmlにぴったりのことが書いてあるのですが実際に使用してみると「ActiveXコンポーネントはオブジェクトを作成できません」とか怒られます。解決方法を教えていただければ幸いです。 追加ですがwebフォームがエクセルのようにセル状になっていて、指定の場所に転記する場合はどうしたらよろしいのでしょうか?

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

  • ベストアンサー
  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.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

sansansansansan
質問者

お礼

本人降臨とは思いませんでした。 実はUWSCを使って無理やり自動化したらうまくいきました。 今後の参考にさせていただきます。 ありがとうございます。

その他の回答 (2)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

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

sansansansansan
質問者

お礼

ありがとうございます 参考にさせていただきます

  • LHS07
  • ベストアンサー率22% (510/2221)
回答No.1

Excelで保存するときに、Webページで保存します。 出来たHTMLファイルをメモ帳で開いて 表のところを別のHTMLファイルにコピーします。 コピー場所は <table から </table> までです。

sansansansansan
質問者

お礼

ありがとうございます。 HTMLはまだ勉強不足ですが今後の参考にさせていただきます。

関連するQ&A