• 締切済み

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

モニターの左半分に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") の方が、いろいろと応用が利くと思われます。

関連するQ&A

  • フォームボタン値をセルに連続入力

    フォームボタンの値をクリックするたびにExcelセルに連続入力又、セル範囲を左クリックで示した後、ボタンクリックで範囲内に値が入力したいのですがVBAコードなどどなたか解る方よろしくお願いします。

  • ユーザーフォームの値を指定のセルに入力

    エクセルのシート上のフォームで リストのボックスの値を上下キーで値を選択エンターキーで選択した値をシートの指定したセルに入力 フォームを閉じる このようなことをさせたいのですが どのようにすればよいでしょうか よろしくお願いいたします。

  • エクセルに貼り付けた入力フォームの中身を、別のセルに移したい

    例えば、YAHOOトップページの検索フォームの周りなどをコピーして、エクセルに貼り付けると、入力フォームもエクセルに貼り付けられるのですが、このフォーム内のテキストを別のセルに移し変えられるような、計算式かマクロを組みたいと考えております。 上記のような仕組みの設計について、詳しく説明してあるページなどありましたら、ご教授いただけないでしょうか。

  • エクセルで各セルをダブルクリックで各入力フォームが出る

    エクセルで顧客管理ソフトのようなものを作っています。本来アクセスが良いと思うのですが、導入できない環境です。 またVBAに関しては初心者ですが、懸命に勉強しております。 今回作っているものは、実際に使用するのはエクセル初心者(文字入力程度しか出来ない人)が使用することになるため、極力分かりやすいように出来ればと思っています。 A   B   C   D   E ID  姓   名   所属  性別 このような表があったとき、IDのセルをダブルクリックすると、そのIDの人の入力フォーム(姓名、所属、性別等)が出るようにしています。 例えばA2セルをダブルクリックでフォーム1(ID:001用)が出るという感じです。 が、このデータが大体1000人弱くらいあります。 このような場合、A3のセルはID:002のフォームが出るように、手作業で入力していかないといけないのでしょうか。(入力フォームを人数分用意しないといけないでしょうか) 出来れば人数が増えた時など「フォームの追加」などで、追加できればよいと思っています。このボタン一つで、対応したフォームが作成され、A列には「ダブルクリックで対応したフォームが開く」というような感じにすることは可能でしょうか。 また、入力フォームで入力した内容がシートにリストとなって表示されていますが、いくつかの条件をもとにそれに合う人を抽出する場合、VLOOKUPが使われることが多いと思いますが、これも「検索フォーム」のようなもので、条件を入力(もしくはプルダウンリストから選ぶ等)して表示させることは可能ですか? 分かりづらい点がありましたら補足いたします。 ご教授いただければと思います。

  • 入力フォーム後の確認ページの作り方

    今、入力フォームを使ったWebページを作っています。 アンケートなどに回答すると、「これでよろしいですか?」と、 記入ミスが無いか確認できる画面が、送信ボタンを押すと表示 される場合がありますが、これってJavaScriptのみでつくるこ とは可能ですか?それともCGIを組み合わせないとダメですか?   入力フォームで入力された値をJavaScriptで作った変数に格納して、 その変数を別ページ(確認ページ)で読ませてこのようなページが できないものか考えているのですが、私の力量ではうまくいきませ んでした。   是非みなさんのお知恵をお借りしたいと思います。 よろしくお願いします。

    • 締切済み
    • CSS
  • 昔の検索フォームに戻せませんか?

    久しぶりにパソコンを開いたら、以前の検索フォームがなくなり非常に使いづらくなっていました。 以前は、yahooでも、googleでも、パソコンを開くとオープン画面が検索フォームで(画面左側に縦表示で検索フォームはありました) そこに検索したいキーワードを入れると(縦表示に)ズラ~っと検索結果が表示され、見たいものをクリックするとそのすぐ右側にクリックしたページが大きく表示されるというスタイルだったのに・・・ 今は、yahooでも、googleでも、検索フォームは画面の上部にあり(横長のフォーム)、検索ワードを入力すると、そのすぐ下に検索結果が表示され、それをクリックすると・・・別ウインドウは開かなくとも丸々1ページクリックしたページに切り替わるので、以前のように検索候補にあがったページを左画面に表示し、見たいページを右画面で見るということができなくなったので非常に不便です。他のページを見たいときも戻らないといけないし、、、 どうにかして、昔の様式に戻せないでしょうか? 画面左端に検索フォームをおき、候補にあがったサイトは検索フォームすぐ下に 縦表示で羅列され、見たいページがあればクリックして、それを右画面に大きく表示する ひとつのページに検索結果(左画面)と見たいページ(右画面)を並べたいんです。 パソコンはWINDOWS7です。

  • エクセル vbOKCancel

    エクセル vbOKCancelについて Sheet上にボタンを作り、フォームが表示 フォーム上の ボタンをクリックしたらTextBoxの値がSheetの セルに値を入れるようにしました! MsgBoxを表示させて ”セルの値を入れますか?”と させましたが・・・はいをクリックは問題ないのですが いいえをクリックしても 値はセルに入力されてしまいます! いいえをクリックしたら 入力させない記述はあるのでしょうか? 教えて下さい。

  • エクセルでセル入力を選択肢を選んでする方法

    お世話になります。 セル入力をするために、セルをクリックすると、右に逆三角形の印がでて、そこをクリックすると、登録してあるデータが左に表示されます。そのデータをクリックするとデータ入力ができます。 上記のように設定するにはどうすればよいのでしょうか。 このファイルが無茶苦茶になっているので直そうとするのですが、セルの書式設定を見ても分かりませ。コンボボックスのプロパティを見ようとしても見えません。 宜しくお願いします。

  • エクセルのセルへの入力について

    エクセルのセル、例えば「A1」に言葉を入れたら、それが「B1」に飛ぶ(同じように表示される)操作はよく利用していますが、あるページだけは「A1」に言葉を入れると、「B1」には『#VALUE!』と表示されてしまい、「A1」の言葉が飛んできません。「B1」のセルに何らかの制御がかかっているのではないかと思いますが、懸命に調べましたが分かりませんでした。他人が作った入力フォームなので、どのようにしてあるのか分かりません。また、「B1」のセルに「IF関数」を用いてみましたが、全く上手くいきませんでした。「A1」の言葉が「B1」に飛んでくるようにするにはどうしたらいいのか、お教えいただきたいと思います。

  • VBAでWebページにセルの値を入力

    エクセルVBAを用いて指定したセルの値を 表示中のWebページにあるテキストエリア等(よくある入力フォーム)に入力する というものを作りたいのですが、 IEとの連携がよくわかりません。 似たようなもので、googleページを自動で開き、 テキストエリアに検索語句を入力し、ボタンを押す というもののソースがありました。 下記のページの3番です。 http://www.hatena.ne.jp/1137216805 これを応用できるかなと思ったのですが、 うまくいきません。 ・表示中のページに入力したいので ie.Navigate ("http://www.google.co.jp/") この部分が必要ありません。 呼び出したページではなく、表示中のページを ie.document.allの対象にするにはどうすればよいのでしょうか? また、他にも良いやり方がありましたら、教えてください。 よろしくお願いします。

専門家に質問してみよう