UWSCでie内のデータを取得しエクセルにコピーする方法
- UWSC初心者がinternetexplorerのtableのtd情報を取得し、全てエクセルにコピーする方法について質問しています。
- 現在は個別にTD情報を取得しエクセルに貼り付けていますが、簡単に記述できる方法を知りたいと困っています。
- 初歩的な質問ですが、助言いただけると助かります。
- ベストアンサー
UWSCでie内のデータを取得しエクセルにコピーする方法につい
はじめまして。 先日、UWSCを知り、始めたばかりのUWSC初心者です。 internetexplorerのtableのtd情報をあるだけ取得し、全てエクセルにコピーしたいのですが、その、書き方の質問になります。 最初はieとexcelを起動させたあとの記述は以下のような感じで書きました。 ww = IEGetData(IE,"TAG=TD",11) sendstr(0,ww1) ww2 =IEGetData(IE,"TAG=TD",12) sendstr(0,ww2) ww3 =IEGetData(IE,"TAG=TD",13) sendstr(0,ww3) ww4 =IEGetData(IE,"TAG=TD",14) sendstr(0,ww4) ww5 =IEGetData(IE,"TAG=TD",15) sendstr(0,ww5) ww6 =IEGetData(IE,"TAG=TD",16) sendstr(0,ww6) sheet1.range("a2").value = ww1 sheet1.range("b2").value = ww2 sheet1.range("c2").value = ww3 sheet1.range("a3").value = ww4 sheet1.range("b3").value = ww5 sheet1.range("c3").value = ww6 ・・・とアナログ的に書けば、確かにie内のTDの1,2・・・の情報を取得して excelにコピーできますが、TD1,2,・・・・の部分をあるだけ個別に取ってくる作業をもっと簡単に記述出来ると思うのですが、その書き方がわからなくて、ほんと困っています。。 あちこち参照して、for を組み合わせて使えばよいのは、なんとなくわかったのですが・・・tdデータの個別の抽出とエクセルに順序よく貼付する方法がわからなくて、どうしても思っているような作業がうまくできません。。 (下のような記述をしてみました。) obj = ie.document.body.getelementsbytagname(\"td\") for i = 0 to obj.length-1 tdn = obj.item(i).innertext sendstr(0,tdn) next sheet1.range("a2").value = tdn かなり初歩的な質問で、あきれてしまうかもしれませんが、どうか、宜しくお願いします。
- mokuyoku
- お礼率100% (5/5)
- その他(プログラミング・開発)
- 回答数1
- ありがとう数4
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
操作対象のURLの提示がないので、UWSC掲示板の関連の話題を載せます。 http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=all&no=349&log=ON&cnt=3 http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=all&no=1451&log=ON&cnt=13 http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=all&no=1468&log=ON&cnt=12 http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=all&no=1787&log=ON&cnt=15 上は[掲示板検索ツール UBTrek]で探しました。 http://sourceforge.jp/projects/uwsclib/
関連するQ&A
- (UWSC)エクセルのセルの値を読み込むには?
UWSCで、エクセルのセルの値を読みこむ方法について 悩んでおります。 Excel = GETACTIVEOLEOBJ("Excel.Application"); val1 = Excel.ActiveSheet.range("A1").value; を使えば、開いているエクセルのA1セルにある値を 「val1」に読み込むことができました。 今、A1~A100にある100個のリストを順々に読み込むことを 考えています。おそらくfor文を使って、以下のようにするのかな? と思っております。 for i=1 to 100 val=○○ next A1~A100の値を順々に読み込むにはどのようにすればいいのでしょうか?
- ベストアンサー
- その他(プログラミング・開発)
- -UWSC:IEで自動クリック-
-UWSC:IEで自動クリック- 下記HTMLのようなボタンを UWSCでIE上で自動クリックさせたい(マウスアクションではなく) のですがどうのように記述すれば良いでしょうか。 試したけどエ反応しなかった(エラーも出ず)記述は IE.CreateOLEObj("InternetExplorer.Application) IE.Visible=TRUE IE.Navigate("javascript:this.form.orderMode.value='1';openPage('order')") です。よろしくお願い致します。 -ボタンのHTML- <div id="sub_button"> <div><input onClick="this.form.orderMode.value='1';openPage('order')" name="" type="image" src="../images/parts/pgs/b_cartsbmt.gif" class="sub_but"/></div>
- ベストアンサー
- その他(プログラミング・開発)
- UWSCで現在開いているIEのサイト名を取得する方法
UWSCを使って、エクセルに記録された複数のURLを順番に巡り、そのサイト名をエクセルに記録したいと思っていますが、IEで開いていたサイトの名称を取得する方法が分からずにいます。 例:IEで「http://oshiete.goo.ne.jp/」を訪れたら、サイト名「質問&回答 (Q&A) コミュニティ - 教えて!goo」を取得する。 上記の処理についてご存知の方がいらっしゃったら、是非教えてください。 よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- なぜかデータがコピーされない(ExcelVBA)
お願いします。 Sheets("sheet6").Range("A1:IV65536").ClearContents Xn1 = Sheets("sheet3").Range("B65536").End(xlUp).Row Sheets("sheet6").Range("A1:B" & (Xn1 - 2)).Value = Sheets("sheet3").Range("B3:C" & Xn1).Value このコードでシート6に何もコピーされないのはなぜでしょうか。 シート3のB,C列には数値が並んでいます。 Xn1はカウントされています。(xn=1631)
- ベストアンサー
- オフィス系ソフト
- excelのデータをコピーする
excelVBAで、他ブック(AAA)にあるシート(AA)のA列に入っているデータをBBBというブックのBBというシートのA列にそのまま移行したいのです。 そこでBBに次のように記述したのですが動作しません。 Range("[AAA]AA!A1:A700").copy Destination:=Range("A1:A700") 本当はAに入力されているものを全て、としたいのですが良く分からなかったためとりあえず700までとしてみました。 また、このモジュールが出来たら、そこから"###"という文字列だけを抜いてコピーをする、というように条件をつけたいと思っているのですが、可能でしょうか? 方法は、VBAでなくマクロでも何でも、出来れば構いません。 教えてください。よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- EXCEL VBA オートフィルタの値コピー
ほぼ初心者ですのでよろしくお願いします。 Sheet2にデータがありそのデータをオートフィルタで日付から抽出してSheet3にコピーして、その後Sheet1の表に該当項目をコピーする際についてですが、オートフィルタ後、1日当たり行は10~15行あります、そのうちG列にはデータが通常2つのセルに値があるだけでほかの行は空欄です。(日によってどの行になるかはわかりません)この2つのセルの値をそれぞれSheet1のM10とM11コピーしたいのです、 ちなみにセル番地は下記の方法で取得できましたが、値の取得ができません。 Range("D1").Value = Worksheets("sheet1").Range("A1").End(xlDown).Row Range("D2").Value = Worksheets("sheet1").Range("A65536").End(xlUp).Row Sub データコピー() Range("AB17") = Format(Sheet3.Range("A3").Value, "yy") Range("AE17") = Format(Sheet3.Range("A3").Value, "mm") Range("AH17") = Format(Sheet3.Range("A3").Value, "dd") Range("AK17") = Format(Sheet3.Range("A3").Value, "aaa") Range("D22") = Sheet4.Range("D3").Value Range("D25") = Sheet4.Range("E3").Value Range("H22") = Sheet4.Range("F3").Value Range("D22") = Sheet4.Range("G3").Value Range("L22") = Sheet4.Range("K3").Value Range("Q22") = Sheet4.Range("L3").Value Range("U22") = Sheet4.Range("M3").Value . . . End Sub
- ベストアンサー
- Visual Basic
- EXCEL VBA オートフィルタの値コピー2
たびたびすいませんよろしくお願いします。 EXCEL VBA オートフィルタの値コピーの追加質問です http://okwave.jp/qa4803815.html?ans_count_asc=20 オートフィルタ後、1日当たり行は10~15行あります、そのうちH列からM列まで、ある1行にデータがありますそのデータをH列から順番にSheet1のM20とM28までコピーしたいのです、ただ日によってその列は空欄の時やM列だけの時もありますもあります。さらにN列からP列まで同じようにデータがある時(H列からM列と行が違うときがあり)、上にある行からSheet1のM20とM28に上詰めでコピーしたいのです。 もっと簡単にいいますとH列からP列まである値を上の行からさらにH列から順番に上詰めでSheet1のM20とM28にコピーしたいのです。 なにとぞよろしくお願いします。 Sub データコピー() Range("AB17") = Format(Sheet3.Range("A3").Value, "yy") Range("AE17") = Format(Sheet3.Range("A3").Value, "mm") Range("AH17") = Format(Sheet3.Range("A3").Value, "dd") Range("AK17") = Format(Sheet3.Range("A3").Value, "aaa") Range("D22") = Sheet4.Range("D3").Value Range("D25") = Sheet4.Range("E3").Value Range("H22") = Sheet4.Range("F3").Value Range("D22") = Sheet4.Range("G3").Value Range("L22") = Sheet4.Range("K3").Value Range("Q22") = Sheet4.Range("L3").Value Range("U22") = Sheet4.Range("M3").Value . . . End Sub
- 締切済み
- Visual Basic
- エクセルVBA 双方向での書式のリンク方法
エクセルVBAにて双方向での書式のリンクをさせたいと考えています。 具体的にはセルの背景色の双方向リンク方法について教えていただきたいです。ここで双方向での背景色のリンクとは別々のシート上のセルの背景色をどちら側の変更であっても、もう一方に変更を反映させることです。 【シート1】 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then Sheets("Sheet2").Range("$A$1").Value = Sheets("Sheet1").Range("$A$1").Value Sheets("Sheet2").Range("$A$1").Interior.ColorIndex = Sheets("Sheet1").Range("$A$1").Interior.ColorIndex End If End Sub 【シート2】 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then Sheets("Sheet1").Range("$A$1").Value = Sheets("Sheet2").Range("$A$1").Value Sheets("Sheet1").Range("$A$1").Interior.ColorIndex = Sheets("Sheet2").Range("$A$1").Interior.ColorIndex End If End Sub 上記のコードを記述しています。値のリンクはできているのですが背景色のリンクがどうしてもうまくできません。どちらかの変更と同時にもう一方の背景色も変更されるようにするにはどうすればよいでしょうか? どんな方法でもかまいませんのでお詳しい方よろしくお願いします。
- 締切済み
- Visual Basic
- 【エクセルVBA】データの振り分けについて。
エクセルVBAでのデータの振り分けについて教えて下さい。 シート(1)のA列には他のファイルから抽出したデータがあります。 各行のデータの中に、H20年度が含まれている場合はシート(2)のA列に移動させ、H21年度が含まれている場合にはシート(2)のC列に移動させたいと思っています。 以前に sheets(1).Range("H40").Value Like "*○○*" Then sheets(2).Range("H40").Value = 0 sheets(1).Range("G" & myRow).End(xlUp).Offset(1, 0).Value = _ sheets(2).Range("H40").Value こういうものを使ったことがある為これを応用するといいのかなとも思ったのですが、わからなくなってしまい質問させていただきました。 勉強不足ですいません。 教えて頂けないでしょうか。よろしくおねがいします。
- 締切済み
- Visual Basic
- EXCEL 名前の定義 VBA参照の方法
EXCELの名前の定義を、VBAから参照する方法を教えていただきたいのですが 名前を定義する シートA 名前:TEST 範囲:シートA シートB 名前:TEST 範囲:シートB シートC 名前:Pass 範囲:ブック それぞれをVBAから参照する場合 Range("TEST").Value: シートA内のVBA Range("Pass").Value では、参照できず。 Worksheets("シートA").Range("TEST").Value Worksheets("シートC").Range("Pass").Value にて、参照できました。 明示的なシート名入力が必要なのでしょうか? よろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
お礼
nemutai_sh様 アドバイス、ありがとうございます。 こちらは参考になりそうです! URL先を見て、もうちょっと勉強してみます。 ありがとうございます。