• 締切済み

セルをフォームに一発入力

モニターの左半分にsleipnir 右半分にエクセルを表示させているのですが、 sleipnirの方にはcgiのページを表示させていて、一番上にフォームがついています。 エクセルの右クリックか何かで、セルをsleipnirの方のフォームにその値を一発で入力することは可能でしょうか?

みんなの回答

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

[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 '-- コード(この上まで) --------------------------------

aslikethat
質問者

お礼

再度の回答ありがとうございます。 前回のでもよかったのですが、今回さらに便利になりよかったです。 >私は Sleipnir を インストール しておりませんので、試しておりません。 は無責任ですね。 いえいえ、全然前回のでよかったので、大丈夫です。

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

>セルを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") の方が、いろいろと応用が利くと思われます。