事前にIEとExcelが開いている状態で、
表示されているWEBページを全選択(Ctrl+A)→コピー(Ctrl+C)して
Excelに切り替えて、最終行の一番左A列(Ctrl+End →Ctrl+左矢印キーですか?)で
値で貼り付けするにはどうすれば良いでしょうか?
その後、IEに戻って次のページに進んで(「次の20件」というリンクテキストをクリック)して、
WEBページのコピーをExcelの最終行に値で貼り付け・・・を繰り返そうと思っています。
本当は、「次の20件」というテキストががリンク無しテキストになるまで繰り返したいのですが、
分からないので、For文で適当に100回とか繰り返そうと思っています。
一番教えて欲しいのは、
・Excel最終行のA列に値で貼り付ける方法
もし次に分かると嬉しいのは
・これ以上次のページが見つからない場所まで自動で繰り返す方法
です。
よろしくお願いいたします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
>表示されているWEBページを全選択(Ctrl+A)→コピー(Ctrl+C)して
>Excelに切り替えて、最終行の一番左A列(Ctrl+End →Ctrl+左矢印キーですか?)で
>値で貼り付けするにはどうすれば良いでしょうか?
前回のご質問ではEXCELシートを「Shift+F11」で追加しながらコピーを貼り付けるという方針だったように思いますが、方針転換し一つのシートに次々とコピーを貼り付けるということのようです。
ただ、実際にやってみるとわかるのですが、WEBページをコピーすると当然テキストリンクや一部画像もコピーされますので、「形式を選択して貼り付け」から「値」は選択できません。
また、リンクを含むセルを値コピーするとリンク情報がなくなって、文字情報のみコピーされます。
ご質問者の最終意図はCSVファイルを取得することだと理解していますので、これではCSVファイルのダウンロードができないと思います。
というわけで、値コピーではなくHTMLでコピーすることとします。
EXCELにIEの画面のHTMLを貼り付けるサンプルを作成してみました。
EXCELを起動し、最小化してタスクトレイに入れた状態にしてから、UWSCを起動してください。
このサンプルの動作は、
①「教えて!goo」の「コンピュータ・テクノロジー」のカテゴリの質問一覧ページにIEでアクセスし、CTRL+AおよびCTRL+CでHTMLを取得
②EXCEL画面を表示し、最終行を探してその次の行を開始行として、HTMLを貼り付け
③IEに戻り「次の結果→」をクリック、①に戻り「次の結果→」がなくなったら終了
という動きをするものです。
従って
(1)URLを「コピー対象WEBのURL」に書き換える。
(2)「次の結果→」を「次の20件 >>」に書き換える
(3)EXCELを起動し、最小化してタスクトレイに入れた状態からスタート
とすれば、ご希望の動作になるのではないかと思いますが、EXCELとIEを組み合わせるならUWSCではなく、VBAで記述したほうがよいような気もします。
なお、以下のご要望
>「次の20件」というテキストががリンク無しテキストになるまで繰り返し
>たいのですが、
これも、対象WEBの構造が不明ですので、一応対応したつもりですが、実際動かしてみないとわかりません。
IE = CreateOLEObj("InternetExplorer.Application")
URL = "https://oshiete.goo.ne.jp/articles/qa/2012/"
IE.Visible = True
IE.Navigate (URL)
BusyWait (IE)
SLEEP(0.2)
IE2EXCEL()
flag0 = 1
While true
IF flag0 = 0 Then Break
KeyWordClick(IE,"次の結果→",Flag0)
Wend
MsgBox ("終了しました")
Procedure BusyWait(IE)
Repeat
Sleep (0.2)
until (! ie.busy) and (ie.readyState=4)
Fend
Procedure KeyWordClick(IE, KeyWord,Var Flag)
flag = 0
a_tag = IE.Document.getElementsByTagName("a")
For i=0 to GETOLEITEM(a_tag)-1
COM_ERR_IGN
If ALL_OLE_ITEM[i].innerText = KeyWord Then
flag = 1
ALL_OLE_ITEM[i].Click()
BALLOON("次ページへのリンクを見つけました。遷移します。")
BusyWait (IE)
BALLOON()
IE2EXCEL()
BREAK
EndIf
COM_ERR_RET
Next
Fend
procedure IE2EXCEL()
While true
ID0=GETID(" - Internet Explorer")
if id0>0 then break
SLEEP(0.2)
Wend
SLEEP(0.2)
CTRLWIN(ID0,MAX)
CTRLWIN(ID0,ACTIVATE)
SLEEP(0.2)
MOUSEORG(ID0)
BTN(LEFT,CLICK,84,15,300) //IEのウィンドウの上部枠をクリック(実際の画面にあわせてクリック位置を調整する)
SLEEP(0.2)
SENDSTR(0,"")
While true
IF GETSTR(0)<>"" then break
SCKEY(ID0,VK_CTRL,A,C)
SLEEP(0.2)
WEND
//buff=GETSTR(0) 本当に値コピーでよいなら頭のスラッシュ2つを削除
While true
ID1=GETID("- Excel")
if id1>0 then break
SLEEP(0.2)
Wend
SLEEP(0.2)
CTRLWIN(ID1,MAX)
CTRLWIN(ID1,ACTIVATE)
//SENDSTR(0,buff) 本当に値コピーでよいなら頭のスラッシュ2つを削除
SLEEP(0.2)
SCKEY(ID1,VK_CTRL,VK_HOME)
SLEEP(0.2)
SCKEY(ID1,VK_CTRL,VK_END)
SLEEP(0.2)
SCKEY(ID1,VK_CTRL,VK_LEFT)
SLEEP(0.2)
SCKEY(ID1,VK_DOWN)
SLEEP(0.2)
SCKEY(ID1,VK_CTRL,V)
SLEEP(0.3)
Fend
EXCELに貼り付けするのではなく、HTMLをそのまま保存する方法もありますが、当該ページのリンクの記述方法によっては取得したHTMLが正しく機能しない場合もあります。以下はC:\ログ出力というフォルダを作成しておけば、そのフォルダに上記のEXCELに貼り付ける内容をそのままページ毎にHTMLで、LOG1,html、LOG2.html・・・というように保存するスクリプトです。
(1)URLを「コピー対象WEBのURL」に書き換える。
(2)「次の結果→」を「次の20件 >>」に書き換える
(3)「C:\ログ出力\」の部分を実際に保存するフォルダ名に変更する
を実施してご利用ください。
No = 0
IE = CreateOLEObj("InternetExplorer.Application")
URL = "https://oshiete.goo.ne.jp/articles/qa/2012/"
IE.Visible = True
IE.Navigate (URL)
BusyWait (IE)
SLEEP(0.2)
No=No+1
save_html(IE,No)
flag0 = 1
While true
IF flag0 = 0 Then Break
KeyWordClick(IE,"次の結果→",Flag0,No)
Wend
MsgBox ("終了しました")
Procedure BusyWait(IE)
Repeat
Sleep (0.2)
until (! ie.busy) and (ie.readyState=4)
Fend
Procedure KeyWordClick(IE, KeyWord,Var Flag,var No)
flag = 0
a_tag = IE.Document.getElementsByTagName("a")
For i=0 to GETOLEITEM(a_tag)-1
COM_ERR_IGN
If ALL_OLE_ITEM[i].innerText = KeyWord Then
flag = 1
ALL_OLE_ITEM[i].Click()
BALLOON("次ページへのリンクを見つけました。遷移します。")
BusyWait (IE)
BALLOON()
No=No+1
save_html(IE,No)
BREAK
EndIf
COM_ERR_RET
Next
Fend
Procedure save_html(IE,No)
BaLLOON("LOG"+No+".htmlを保存中です。")
body = IEGetSrc(IE, "BODY")
body= replace(body,'//','https://')
body= replace(body,'https:https://','https://')
f_Name ="Log"+No+".html"
fid0=fopen("c:\ログ出力\"+F_Name,F_WRITE8)
FPUT(fid0,body,F_ALLTEXT)
FCLOSE(fid0)
BaLLOON()
fend
この投稿サイトでは「"」が変換されてしまうので、「'」で記述してあります。上記スクリプトの「'」は全て「"」に置換してからご利用ください。
保存されたHTMLをFireFoxやChromeで開くと正しく表示されるようですが、IEで開いたらが文字化けする場合は「エンコード」を「UTF-8」にしてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelに文字データのみを貼り付けたい 8 2023/05/03 15:38
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
- Windows 7 ショートカットキー 応用編 どういうの主に使いますか? 2 2022/12/28 23:46
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/04 17:58
- Excel(エクセル) Excelで画像のご担当「北山◯◯様」を 宛先の (ご担当 の次に入れるにはどうすればいいですか 3 2023/07/30 22:22
- Excel(エクセル) Excelの複数ファイルの複数行を別ファイル1つのシートにVBA、マクロで集約する方法 5 2022/09/13 06:30
- その他(Microsoft Office) エクセルマクロ オートフィルターでで選択コピー 2 2022/04/18 11:05
- Excel(エクセル) ログインIDの一発入力? 5 2023/07/07 12:30
このQ&Aを見た人はこんなQ&Aも見ています
-
好きなおでんの具材ドラフト会議しましょう
肌寒くなってきて、温かい食べ物がおいしい季節になってきましたね。 みなさんはおでんの具材でひとつ選ぶなら何にしますか? 1番好きなおでんの具材を教えてください。
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
土曜の昼、学校帰りの昼メシの思い出
週休2日が当たり前の今では懐かしい思い出ですが、昔は土曜日も午前中まで学校や会社がある「半ドン」で、いつもよりちょっと早く家に帰って食べる昼ご飯が、なんだかちょっと特別に感じたものです。
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
お風呂の温度、何℃にしてますか?
みなさん、家のお風呂って何℃で入ってますか? ぬるめのお湯にゆったり…という方もいれば、熱いのが好き!という方もいるかと思います。 我が家は平均的(?)な42℃設定なのですが、みなさんのご家庭では何℃に設定していますか?
-
(UWSC)エクセルのセルの値を読み込むには?
その他(プログラミング・Web制作)
-
uwscでExcelに自動記入
Flash
-
【UWSC】エクセルのセルの値をブラウザに貼り付ける操作。セルの値の判別方法について。
その他(プログラミング・Web制作)
-
-
4
uwsc webページ内のテキストボックス
その他(プログラミング・Web制作)
-
5
【UWSC】WEBページ中の特定文字リンクをクリックする動作を自動化したい
その他(プログラミング・Web制作)
-
6
【UWSC】HTML内のある部分を抽出したいのですが・・・
その他(プログラミング・Web制作)
-
7
(UWSC) エクセルのセルをコピーするには?
その他(プログラミング・Web制作)
-
8
UWSCでファイルを開く方法
その他(プログラミング・Web制作)
-
9
UWSCで指定のフォルダを開きたい。
その他(ソフトウェア)
-
10
UWSCでhtmlソースの文字列を取得したいです
その他(プログラミング・Web制作)
-
11
VBAで、なぜかSendkeyが効きません。
PowerPoint(パワーポイント)
-
12
UWSCに詳しい方簡単なテキスト入力方法を教えてください
その他(プログラミング・Web制作)
-
13
UWSCで値のみコピーするには?
Visual Basic(VBA)
-
14
UWSCを使用して、ドロップダウンリストを操作
フリーソフト
-
15
UWSCの待機コマンドについて
その他(ソフトウェア)
-
16
uwsc画像認識のあいまい判定について
C言語・C++・C#
-
17
変数内に入った文字列の結合 UWSC
その他(プログラミング・Web制作)
-
18
UWSCで特定のChromeのタブをアクティブにする方法
その他(プログラミング・Web制作)
-
19
uwcs のマクロで画像認識をしてその画像があればクリックというマクロを作成したのですが、クリック後
その他(開発・運用・管理)
-
20
ExcelのVBAでChromeの画面を全コピー
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access VBAから使用したExcelプ...
-
Listviewに表示された文字のコ...
-
DataTableに入っているデータを...
-
C++言語で、構造体のコピーは可...
-
マウントしたディスクにcpで、...
-
パスワードのコピー&ペースト...
-
ROBOCOPYをスペース付きのフォ...
-
EXCEL VBAで複数行のコピー(...
-
バッチで当日日付で作成される...
-
Delphi Form&sourceコピーについて
-
arduino unoからデータを読み出...
-
Eclipseでコピーするとき行数な...
-
Ctrl + Cなど複数の入力キー...
-
VB.netでフォームをコピーして...
-
Subversionで作業一段落の作業...
-
テーブルのコピーについて
-
jakarta poiを使用し、EXCELの...
-
ACCESS VBAでExcelを開き行をコ...
-
関数入りの行を挿入したいです。
-
ブラウザからコピペすると文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C++言語で、構造体のコピーは可...
-
Access VBAから使用したExcelプ...
-
一行おきに貼り付ける 可能でし...
-
DataTableに入っているデータを...
-
Ctrl + Cなど複数の入力キー...
-
マウントしたディスクにcpで、...
-
Eclipseのコード入力時の、行コ...
-
Listviewに表示された文字のコ...
-
文字列の切り出し
-
Activesheet.Pasteで困っています
-
エクセルVBA 実行時エラー'...
-
【UWSC】WEBページ内コピーした...
-
arduino unoからデータを読み出...
-
他プロジェクトのFormを自プロ...
-
シートに張り付けたボタンがシ...
-
Excelでコピーしたセル(テキス...
-
ブラウザからコピペすると文字...
-
Eclipseでコピーするとき行数な...
-
プログラム終了時にエラーが発...
-
ROBOCOPYをスペース付きのフォ...
おすすめ情報