• ベストアンサー

エクセルのWEBクリエで取り込めないデータ

DOUGLAS_の回答

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

>ただ過去のデータで・・記述がたくさんあったため >万一あったときのための気休め程度の存在です。 と心配していらっしゃいますが、恐らく、そういうことはご心配要らないかと存じます。  と申すよりは、こういう「WEBデータ の取り込み」においては、その WEBページ の作りに合わせて、取り込み側で逐一方法を考え、サイト側 で サイト の作りを変更したような場合には、方法を考え直すのが常道かと存じますし、まして、過去の サイト構成 データ を取り込むための「計算式」を温存しておく意味は皆無かと存じます。  従いまして、今般読み込んでいる サイト の冒頭の2行 Ch.401 J-POP最新ヒットチャート 放送日 : 2011/7/25~2011/7/31 「番組案内 (4時間サイクル)」 から「■110725SD401」を生成するだけでよろしいのでしたら、全部の行に、その「計算式」を挿入する必要は全くなく(サイト の構成を私が検証いたしました)、マクロ の中で、冒頭の2行を「■110725SD401」というように変えてしまえばよいかと存じます。  そういう理解でよろしいでしょうか?【問18】  もし、まだ、不安が残るようでしたら、冒頭の成形作業は、「繰り返し用_改訂版」のままで、マクロ には入れないことにいたしますので、文末の「テスト3」をお試しいただいてから、成形作業を マクロ に入れるか入れないかをお返事ください。【問19】  また、入れる場合、この文字列の間にある「SD」は、すべての ページ で「SD」のままでよろしいでしょうか?【問20】 -------------------------------------------------- >Lotusの方は2種類つくっていてChによって使い分けています。  詳しくご説明いただいてよく分かりました。 >説明するのにシートを直接見 なければ分かりそうにもありませんので、【問16】の方は、無かったことにさせてください。  却って無駄な時間を費やさせてしまいまして、誠に申し訳ございませんでした。  <(_ _)> -------------------------------------------------- >問17 xlsの場合 こちらは必要ありません。 >標準のxlsxを使用した場合、保存の段階で >次の機能はマクロなしのブックに保存できません  これは、保存しようとしている 新規ブック で「新しいマクロの記録」をされたからです。別の ブック に記録すれば、この エラー は出ないと存じます。  「ANo.10」の「お礼」に書いていらっしゃった >開こうとしているファイルが実際はその >拡張子が示すファイル形式ではありません。 の メッセージ につきましては、 http://park7.wakwak.com/~efc21/cgi-bin/exqalounge.cgi?print+200901/09010064.txt を拝見して、大体予想通りだと思われました。  つまり、「xls」で保存すると「FileFormat」が「xlExcel8」となり、 Filename:="D:\Book1.xls", FileFormat:=xlExcel8 「xlsx」で保存すると「FileFormat」が「xlOpenXMLWorkbook」となっているようですので、 Filename:="D:\Book1.xlsx", FileFormat:= xlOpenXMLWorkbook  従いまして、「ANo.10」に書きましたように、 >「.xls」の拡張子は、「.xlsx」に変更 するだけで行けるはずです。 --------------------------------------------------  さて、最後になりましたが、恐らく、これが最後の テスト になるかと存じます。  401チャンネル を開いて、ワークシート に展開する マクロ ですが、<<< 新規の ブック に 標準モジュール を挿入して >>> お試しいただいて、上記の質問にお答えください。  なお、冒頭の2行は、 ■110725SD401 「番組案内 (4時間サイクル)」 にまとめました。 '------------------------------------------------- Sub テスト3()  Dim objHttp As Object  Dim myTbl As Variant  Dim CB As New DataObject  Sheets("Sheet1").Select  Set objHttp = CreateObject("MSXML2.XMLHTTP")  With objHttp   .Open "GET", "http://www.stardigio.com/songlists/txtdata/lists1/401.txt", False   .Send   myTbl = .responseText   myTbl = Split(myTbl, "放送日")   myTbl(0) = Left(myTbl(1), InStr(myTbl(1), "~"))   myTbl(0) = Trim(Replace(Replace(StrConv(myTbl(0), vbNarrow), ":", ""), "~", ""))   myTbl(0) = Format(myTbl(0), "yymmdd")   myTbl(0) = "■" & myTbl(0) & "SD401"   With CB    .SetText myTbl(0) & Mid(myTbl(1), InStr(myTbl(1), vbTab))    .PutInClipboard    .GetFromClipboard   End With   Range("A1").Select   ActiveSheet.Paste   Columns("A:A").Replace "楽曲タイトル", ""   On Error Resume Next   Columns("A:A").Find("個人的に楽しむ場合を除き").Resize(2).Clear   On Error GoTo 0   Columns("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete   Columns("A:B").Columns.AutoFit   Range("A1:B1").Select   ActiveWindow.Zoom = True   Range("A1").Select  End With  Set objHttp = Nothing End Sub

noro6857
質問者

お礼

今度のテストは呼び込みがおっそろしく早いですねぇ! これはばっちりでした。 関数についてはご指示どおり排除してけっこうです。 問18/問19 1行目を ■110725SD401に変えていただければけっこうです。 ※なお、今頃気がついたのですが、開始時間の行は削除対象のものでした。 したがって上記は1行目だけでかまいません。 問20 日付の次はすべてSD(半角)になります。 これはVBAの中にチャンネル番号が記述されていますが、実際には前回のような連続もしくはテキストボックスの数値を当てはめることになるのですね あと、前回以来せっかくご指導いただく機会ができたので、前回の分について、サイト名(記述式)が変更になってしまったのでここで修正の方法をお願いしてよろしいでしょうか。 後に別の方に別のVBAを教えていただきましたが、最近文字化けが発生することが多いのでやや困っていました。

関連するQ&A

  • Webクリエ うまく読み込みできません><

    Webクリエ うまくできません>< http://fx.himawari-group.co.jp/report/weeklycalendar.html のサイトのカレンダーを読み込みたいのですが・・・ エラーが出てしまいます! *画像参照お願い致します!

  • 新しいクリエ買ったのはいいんですが

    とうとうVZ90買いました。 いままで使っていたクリエからデータを移したいのですが、そのままできるんじゃないかなと思い、 強引にホットシンクさせたらやっぱりダメでした。 前のクリエの全部のデータをそのまま移せる方法って ないんでしょうか・・・? MSバックアップで移行もしてみましたが、このデバイスでバックアップされたものではないと蹴られてしまいました

  • ウェブサイトのデータの入手方法

    VisualBasic6.0でウェブサイトのデータをオブジェクトとして 取得する方法が判りません。 ExcelのWebクリエのようにHTMLのテーブルタグの内容が直接 オブジェクトとして取得できるようにしたいのですが、方法 が判りません。 今は、タグを一つ一つ外してから、読み込むようにしている のですが、サイトが変更されると一からやり直しなので、で きればもっと簡単な方法があればお願いします。

  • エクセルのデータを自動的にWebに入れるには?

    いつもお世話になっています。 エクセルのデータをホームページに入れる時、決まった動作の繰り返しをするので、これを自動化することは出来ないでしょうか?VBAだとエクセル内部でしか出来ないのではないでしょうか? こういう操作です。 エクセルの場面でセルをCtrl+Cでコピーして、リターンキーを押して(セルが次のセルへ飛ぶ)、Alt+TabでWeb画面へ移動して、Ctrl+VでWebにエクセルの数値を貼り付けて、Tabキーを数回(回数は一定)押して次の入力欄へ移動させて、Alt+Tabでエクセル画面へ戻って、またCtrl+Cでコピー。 この繰り返しでエクセルの数値をWeb画面に入力するのです。このような定型的な動作はコンピューターが得意とするはずですが、VBAでは実現できない(と思う・・。エクセルの外部にまで操作出来るのでしょうか?)。 何か方法があるはずですが、ご存知の方がいらっしゃればよろしくお願いしたします。

  • ボタン天国をインストールするとWEBからのデータ取り込みができない

    Excel用ボタン天国100をインストールしたところ、「データ」→「外部データの取り込み」→「新しいWEBクリエ」によるWEBデータの取り込みが出来なくなりました。

  • VBAを用いて、ウェブからデータを取り込みたい

    エクセルVBAでウェブからデータを取り込みたいと思い、いろいろ挑戦していますが、以下のやり方(1)と(2)は失敗中です。 取り込みたいのは、ウェブページ中に描かれてある「表」の部分のデータです。 アドバイスをお願いいたします。 ◆◆◆◆◆失敗(1)◆◆◆◆◆ ActiveSheet.QueryTables.Add(Connection:="url;http://***省略***.htm", Destination:=Range("A1")) の方法の場合、取得したデータをエクセルシートに張り付けた場合に生じる文字化けがなおらず挫折・・・ QueryTableは文字コードを指定して読み込めないので困難という結論に至りました。 ちなみに目的のウェブページはshift-JISでcharsetされてますが、取得したいデータ部分はSQLサーバーでUTF-8で記述されていると思われます。 →http://okwave.jp/qa/q7864296.html ◆◆◆◆◆失敗(2)◆◆◆◆◆ ユーザーフォーム機能から、WEBブラウザーコントロールを用いて目的のウェブページを表示する方法では、表示したウェブページの情報をエクセルシートに転記する方法が分からず挫折・・・ url_report = "http://****省略.htm" WebBrowser1.Navigate url_report 'ここから先、どうすればエクセルシートにデータ取得できる? 上記(1)や(2)以外で他のやり方も含め、経験者の方のアドバイスをお願いいたします。 ウェブページ中の表データをエクセルシートにVBAで自動取得したいのですが・・・何か良い方法がありますでしょうか? ((+_+))

  • クリエでMacでMP3は聴けますか?

    クリエ(Clie)のPEG-N700CがMP3に対応したと雑誌で読みました。 これまで、MacからクリエにはOpenMG形式のファイルを落とせなかったようですが、MP3になって、Macからもクリエに音楽データを落とせるようになるのでしょうか? Macユーザーなんですが、クリエでMP3を聴きたいのです。方法を教えてください。 まず、メモリースティックとメモリースティックリーダーはやっぱり必要なんですよね? また、ダウンロードが始まったというAudioPlayer Ver.2はMacでも使えるのでしょうか?

  • Excel VBA で Webからデータを取得する方法

    Excel VBAを使ってWebページからデータを 取得する方法を探しています。 最初に、そのWebページの認証ページにIDをパスワード をVBAから自動で送信したいのですが、方法が全く わかりません。 認証ページはJavascriptを利用したページです。 どちらかご存知の方がおられましたら、 ご教授ください。

  • またまたエクセルでWEBデータを取り込む

    下のVBAは以前にお世話になった方に教えていただいたWEBからのデータ取得するものです。 日付を入力することで、その日のデータを取り出すことができます。 ところがWEBのURLが変更になってしまいました。 当方、VBAは疎いため適当に部分修正で利用しようとしたもののなかなかうまくできません。 呼び出したデータも以前と若干形式がちがっているためそのへんも直したいところがあるのですが 取りあえずWEBの取り出し方記述を教えていただければありがたいです。 (70, 80, 32, 62, 101,…というのはたぶんジャンル区分なので今回は不要です。) よろしくお願いします。 WEBURL(旧) http://www.m******/****/0062/00620726.html WEBURL(新) http://m*****/*****/2012-04-17/ ●旧WEB取り出しVBA Sub Using_Web_query30A() Dim arrMenu As Variant Dim myDate As String Dim myURL As String Dim Connection_URL As String arrMenu = Array(70, 80, 32, 62, 101, 102, 90, 120, 40, 22, 31) myDate = InputBox("オープンする日付を「月/日」のように入力してください。", _ "日付の入力", Format(Date, "m/d")) myURL = "0062/0062" & Format(Split(myDate, "/")(0) * 1, "00") & _ Format(Split(myDate, "/")(1) * 1, "00") Connection_URL = "http://www.m*********/***/" & myURL & ".html" Columns(1).ClearContents With ActiveSheet.QueryTables.Add(Connection:= _ "URL;" & Connection_URL, Destination:=Range("A1")) .WebFormatting = xlWebFormattingNone .WebTables = "9" .Refresh BackgroundQuery:=False End With

  • エクセルのWEBクエリで取り込めないデータ(続)

    QNo6887062で教えていただいたWEBからデータを取り出すVBA(A15)で対象URLのレイアウトが変更になってしまいました。そこで引き続き活用したいため修正方法を教えていただければと思います。 URLの変更については一部対応できたのですが、取り出す範囲、除去する方法です。 具体的にはQ&Aの中で書きますので、上記VBAを修正できる方でお願いします。 Excel2010/WinXP