Webのフォームに自動入力するツールを探しています。


具体的には商品ごとのコードをシステムに登録する必要があり、
商品区分+登録日+シリアル+棚番号で構成されるものを
フォームのテキストボックスに入力する必要があります。

例としては、k20070101001-A1といった形式となり、
kが商品区分、A1が棚番号となります。
シリアルは商品の登録ごとに1つずつ増やしていきます。

こういった内容を、
1.Webのフォームに自動入力
2.ペーストとの要領で簡単に入力
のいずれかが出来るツールはないでしょうか?

最低限、日付+シリアルの自動入力が出来ればいいと考えています。
商品区分・棚区分はずっと一定のものを入力していきますので、どこかに設定画面のようなものがあって変えることが出来ればベターです。

回答の条件
  • 1人2回まで
  • 登録:2007/01/11 23:29:14
  • 終了:2007/01/18 23:30:02

回答(3件)

id:hamster009 No.1

hamster009回答回数3431ベストアンサー獲得回数502007/01/13 02:52:53

ポイント27pt

javascriptのプログラミングになると思います。http://end

id:benjamintokyo

私が作っているシステムではなく、既存のシステムですのでjavascriptでの解決は難しいです。

2007/01/13 20:02:51
id:ardarim No.2

ardarim回答回数897ベストアンサー獲得回数1452007/01/13 13:54:55

ポイント27pt

かんたんなHTMLの知識が必要になりますが、URLにフォームデータを追加することでかんたんに事前入力ができます。URLの後に、"?input1=AAA&input2=BBB"のような感じの文字列をつけると、フォームのinput1という入力欄にAAA、input2という入力欄にBBBのような感じで入力された状態でページが表示されます。


たとえばはてなのログインページ(https://www.hatena.ne.jp/login)で自動的にユーザー名を入れるには、ブラウザで

https://www.hatena.ne.jp/login?key=hatena@example.com

というURLを開きます。

keyというのはユーザー名の入力欄の名前です。(HTMLソースを表示して、inputタグを検索して調べます)


ただしログイン管理されているようなWebシステムですとURLの直接入力ができないと思うのでこの方法は使えない可能性があります。



またExcelVBAの知識がおありでしたら、ExcelからIEを開いて、Excelシートの内容からフォームに自動入力と言うようなことがExcelマクロ(VBA)でできます。(そんなに複雑で難しいプログラムにはなりません)

Excelシートをベースに管理できますし、いろいろカスタマイズも効くので便利です。


そういう前提でよければサンプルマクロを回答してもかまいませんが、技術的な話を期待されているかどうか分かりませんので今回の回答では書きません。

id:benjamintokyo

既存のシステム(具体的にはamazon.co.jpです)への適用なので、ご提示の方法では解決できないかと思います。

Excelから呼び出すという方法もおもしろいのですが、スピードを要求されるため実際には難しいかと思います。

2007/01/13 20:05:04
id:ardarim No.3

ardarim回答回数897ベストアンサー獲得回数1452007/01/13 23:27:11

ポイント26pt

Excelから呼び出してもそれほど遅くはないです。


試しに作ってみたので参考にどうぞ。

他にいい回答がなければ試してみるのも良いでしょう。


適当な新規ブックに[ツール]-[マクロ]-[Visual Basic Editor]でエディタを開き、ThisWorkBookに以下のプログラムをコピペしてください。

Option Explicit
Option Base 0

Dim objIE As Object

Sub CheckAmazon()

    Dim i As Long
    Dim r As Long
    Dim elements As Object
    
    Set objIE = CreateObject("InternetExplorer.application")

    objIE.Visible = True
    IE_navigate "http://www.amazon.co.jp"

    If MsgBox("サインインを行ってください。準備ができたらOKを押してください。キャンセルで終了します。", vbOKCancel) = vbCancel Then
        objIE.Quit
        Exit Sub
    End If

    IE_navigate "http://www.amazon.co.jp"
    
    r = 1
    Do While Worksheets(1).Cells(r, 1).Value <> ""
    
        Set elements = objIE.document.getElementsByName("field-keywords")
        If elements Is Nothing Then
            Exit Sub
        End If
        elements.Item(0).Value = Worksheets(1).Cells(r, 1).Value
    
        elements.Item(0).form.submit
        Call WaitForReady
    
        If InStr(1, objIE.document.getElementsByTagName("HTML").Item(0).outerhtml, "完全に一致する結果がありませんでした") > 0 Then
            Worksheets(1).Cells(r, 2).Value = "一致する商品なし"
        Else
            Set elements = objIE.document.getElementsByTagName("SPAN")
            If Not elements Is Nothing Then
                For i = 0 To elements.Length - 1
                    If elements.Item(i).className = "srTitle" Then
                        Worksheets(1).Cells(r, 2).Value = elements.Item(i).FirstChild.nodeValue
                        Exit For
                    End If
                Next i
            End If
        End If
    
        r = r + 1
    Loop
    
    MsgBox "完了しました"

    Set objIE = Nothing
    
End Sub

Sub IE_navigate(url As String)

    objIE.navigate url
    WaitForSeconds 1

    Call WaitForReady

End Sub

Function WaitForReady()

    Do While objIE.busy
        DoEvents
    Loop
    
    Do While objIE.document.ReadyState <> "complete"
        DoEvents
    Loop

End Function

Sub WaitForSeconds(ByVal seconds As Double)

    Dim t As Double
    
    seconds = seconds / 24 / 60 / 60
    t = Now()
    Do While (Now() - t) < seconds
        DoEvents
    Loop

End Sub

マクロ(CheckAmazon)を実行するとIEが起動しamazonのトップが表示されます。サインインを行って、Excel側でOKを押すと、Sheet1の列Aに書かれた複数のキーワードで次々と検索を行い、最初に見つかったアイテムを列Bに書くサンプルです。


検索フォームを使ったサンプルですが、他のフォームでも応用が可能です。

id:benjamintokyo

スピードが要求されるという意味が上手く伝わらなかったようで大変失礼しました。

実際の作業では、アイテムの状態などを手作業で登録し、それぞれに商品IDを登録するような作業を行います。同一の条件を繰り返すようなものではないので、PCの処理にかかる時間を要求しているのではなく、人間がいかに時間を変えずに作業できるか、作業の簡便さを求めています。

ただ、フォーム上に定型の内容入力することを簡単にして欲しいだけなのです。

2007/01/17 04:39:22
  • id:wedoit
    ExcelWebAddin

    ExcelWebAddinはWebデータの自動入力を中心に、データ入力を自動化するアドインです。

    ExcelWebAddinをインストールすると「Excel」のリボン[機能拡張]に自動入力のボタンが追加されます。

    Excelに入力した各行のデータを自動的にウェブページの対応項目に転記して、終わったタイミングで結果をExcelにコピーすることもできます。テスト自動化、使い慣れたら、ウェブデータ入力で相当効率アップできます。

    http://www.superdbtool.com/excelwebaddin.html

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません