ExcelのクリップボードテキストをIEのテキストBOXへ貼付ける方法
未読分:5件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#5 2015年3月20日(金)12時06分 From: 鈴木 | 返事 削除 変更 |
早速のご回答に感謝しています。 いまテストしてOKでした。これでスッキリです! ありがとうございました。 カリーニンのメッセージ(#3)への返事 > ↓のように付加してみてください。 > > '略 > Dim mystr As String > '略 > > '略 > OBJIE.navigate ("about:blank") > mystr = OBJIE.document.parentWindow.clipboardData.GetData("text") > OBJIE.navigate "http://www.google.co.jp/" > '略 > > '略 > objInpTxt.Value = mystr > '略 > > ※これ以外にもいくつかクリップボード内容を取得する方法があります。 > 今回はせっかくIEを使っているのでIEを使ってクリップボード内容を取得す > る方法をご紹介させていただきました。 |
Message#4 2015年3月20日(金)11時37分 From: 鈴木 | 返事 削除 変更 |
早速のご回答に感謝しています。 一部の紹介だけだったので理解し難くてすみませんでした。 セルの内容をクリップボードにコピーするのは出来ています。このテストVBAで値はセット出来ていますが、コピー元のテキストはセル値としたい。IEのテキストBOXにその値を貼付けたいです。貼り付け先がワードならPASTEで出来ますが相手がIEなので不可です。Call WaitFor(5)はIEの表示を待ってから処理する為です。 VBAマスターのメッセージ(#2)への返事 > Call WaitFor(5)が何を意味するのか分かりませんが、 > > > Set objInpTxt = objIE.document.getElementsByName("q")(0) > > objInpTxt.Value = "test" > > で値はセットできると思いますよ。 > > > 上記”test"の部分をExcelのクリップボードの内容(テキスト)を貼り付けるにはどの様にすれば良いでしょうか? > > クリップボードの内容って処理前に何かコピーしてるんですか? > それともセル値をセットするってことですか? > > ダブルクリック時のイベント処理で利用されるみたいですが、ダブルクリックするセルの値を代入したい場合は、ActiveCell.Valueでいけるかと思います。 |
Message#3 2015年3月20日(金)01時38分 From: カリーニン | 返事 削除 変更 |
↓のように付加してみてください。 '略 Dim mystr As String '略 '略 OBJIE.navigate ("about:blank") mystr = OBJIE.document.parentWindow.clipboardData.GetData("text") OBJIE.navigate "http://www.google.co.jp/" '略 '略 objInpTxt.Value = mystr '略 ※これ以外にもいくつかクリップボード内容を取得する方法があります。 今回はせっかくIEを使っているのでIEを使ってクリップボード内容を取得す る方法をご紹介させていただきました。 |
Message#2 2015年3月20日(金)01時34分 From: VBAマスター | 返事 削除 変更 |
Call WaitFor(5)が何を意味するのか分かりませんが、 > Set objInpTxt = objIE.document.getElementsByName("q")(0) > objInpTxt.Value = "test" で値はセットできると思いますよ。 > 上記”test"の部分をExcelのクリップボードの内容(テキスト)を貼り付けるにはどの様にすれば良いでしょうか? クリップボードの内容って処理前に何かコピーしてるんですか? それともセル値をセットするってことですか? ダブルクリック時のイベント処理で利用されるみたいですが、ダブルクリックするセルの値を代入したい場合は、ActiveCell.Valueでいけるかと思います。 |
Message#1 2015年3月19日(木)17時57分 From: 鈴木 | 返事 削除 変更 |
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) Dim objInpTxt As HTMLInputTextElement Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True objIE.navigate "http://www.google.co.jp/" Call IEWait(objIE) Set objInpTxt = objIE.document.getElementsByName("q")(0) objInpTxt.Value = "test" Call WaitFor(5) End Sub 上記”test"の部分をExcelのクリップボードの内容(テキスト)を貼り付けるにはどの様にすれば良いでしょうか? |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降