- 締切済み
セルをフォームに一発入力
モニターの左半分にsleipnir 右半分にエクセルを表示させているのですが、 sleipnirの方にはcgiのページを表示させていて、一番上にフォームがついています。 エクセルの右クリックか何かで、セルをsleipnirの方のフォームにその値を一発で入力することは可能でしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- DOUGLAS_
- ベストアンサー率74% (397/534)
[ANo.1] の DOUGLAS_ です。 >私は Sleipnir を インストール しておりませんので、試しておりません。 は無責任ですね。 「Sleipnir 2.9.3 正式版」を入れて試してみました。 ------------------------------------------------------------ 下記の操作は、 A)Sleipnir を開き(元から開いてあっても問題はありません)、 B)「クロネコヤマトの荷物お問い合わせシステム」の ページ を開いて、 C)エクセルの A1:A10 に入力された下記の データ を [お問い合わせ伝票番号] の欄に転記し、 D)[お問い合わせ開始] ボタン を クリック する までの操作を自動化してあります。 ------------------------------------------------------------ ●● Sleipnir の準備 ●● 1)Sleipnir の メニュー から [ツール(T)] - [Sleipnir オプション(E)...] で [オプション] ダイアログ を開きます。 2)左ペイン から [クライアント] - [全般] を クリック し、右ペイン の [スクリプトによるクライアントの操作を許可する(C)] に チェック を付けます。 3)左ペイン から [クライアント] - [起動] を クリック し、右ペイン の [起動時に前回終了時の状態を復元する(R)] の チェック を外します(Sleipnir が起動していないときに、新たに Sleipnir を開くと、たくさんの タブ が開いて VBA の操作が面倒になるため)。 4)[OK] を クリック します。 ●● Excel の準備 ●● 5)エクセル の A1:A10 に 9624-2261-0026 9624-2261-0030 9624-2261-0041 9624-2261-0052 9624-2261-0063 9624-2261-0074 9624-2261-0085 9624-2261-0096 9624-2261-0100 9624-2261-0111 と入力されているとします。 6)[Alt] + [F11] で [VBE(Visual Basic Editor)] を開きます。 7)[挿入(I)] - [標準モジュール(M)] を クリック して現われた コードウィンドウ に下記の コード を コピペ します。 実際には ※印 の3行は、aslikethat さんの実情に応じて書き換えることになります。 8)[Alt] + [F4] で [VBE] を閉じます。 9)[Alt] + [F8] で [マクロ] ダイアログ を開き、[マクロ名(M):] から「Sleipnir_CGI」を選択して、[実行(R)] を クリック します。 '-- コード(この下から) -------------------------------- Sub Sleipnir_CGI() '変数の宣言 Dim url As String Dim objSN As Object Dim wndID As Long Dim i As Integer url = "http://toi.kuronekoyamato.co.jp/cgi-bin/tneko" '※ 'Sleipnir を オブジェクト に セット Set objSN = CreateObject("Sleipnir.API") wndID = objSN.NewWindow(url, True) objSN.Navigate wndID, url While objSN.IsBusy(wndID): DoEvents: Wend '「セルをsleipnirの方のフォームにその値を一発で入力」 With objSN.GetDocumentObject(wndID) For i = 0 To 9 .forms(0)(i + 5).Value = Cells(i + 1, 1).Value '※ Next .forms(0)(3).Click '※ End With 'オブジェクトの解放 Set objSN = Nothing End Sub '-- コード(この上まで) --------------------------------
- DOUGLAS_
- ベストアンサー率74% (397/534)
>セルをsleipnirの方のフォームにその値を一発で入力する Sleipnir ではなくて、Internet Explorer でしたら、エクセル の VBA で With CreateObject("InternetExplorer.Application") .navigate "{cgi の ページ の URL}" For i = 1 To 10 objIE.Document.forms.○○ = Cells(1, i).Value Next End With みたいなことはできます。 Sleipnir でも、それらしきことができるかも知れません http://www.sleipnir-wiki.jp/index.php?%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8 が、私は Sleipnir を インストール しておりませんので、試しておりません。 というか、CreateObject("InternetExplorer.Application") の方が、いろいろと応用が利くと思われます。
お礼
再度の回答ありがとうございます。 前回のでもよかったのですが、今回さらに便利になりよかったです。 >私は Sleipnir を インストール しておりませんので、試しておりません。 は無責任ですね。 いえいえ、全然前回のでよかったので、大丈夫です。