今まで、気象データの集計をするのに、特定のウェブ上で参照したい年月日を入力して、その日の時毎データの頁を開き、データ表をマウスで範囲を指定してコピーし、エクセルに貼り付けて、そのデータを用いて集計を行っておりました。
しかし、上記の方法ですといちいち年月日の指定→画面の表示後必要箇所をコピー→エクセルに戻って貼り付け→ウェブに行って次の日の指定→と繰り返し作業が面倒です。
そこで、アクセスのフォームで取り込みたい年月日の範囲を指定することで、参照元のウェブから、特定範囲のデータを次々にコピーして、テーブルに各データを格納できるマクロを作成できないかと考えました。
所有バージョンはアクセス2002です。
今まではエクセルをよく使っており、簡易的なデータベースとしてもエクセルで済ませていましたが、データが蓄積すると処理に時間がかかるようになりましたので、アクセスを使った方がいいかなと考えます。
クエリーをとりあえず構成できるようになったのは2日前からです。モジュールは全く作ったことがありません。
よろしくご教示下さいますよう、お願い申し上げます。
No.2ベストアンサー
- 回答日時:
ほんじゃ、ok、gooどちらからアクセスしてるか
しりませんが、「教えて!goo」のトップページに
出る質問タイトル3つを取得する例。
VBEの[ツール]→[参照]でMicrosoft Internet Controls に
チェックを入れてください。
Sub test()
Dim ie As New InternetExplorer
Dim mylines As Variant
Dim qlines As Variant
'指定URLに接続
ie.Navigate ("http://oshiete.goo.ne.jp/jsp/oshiete_top.jsp")
'読み終わるまで待つ
Do Until ie.ReadyState = READYSTATE_COMPLETE
DoEvents
Loop
'読み込んだテキストを改行で分割
mylines = Split(ie.Document.body.innertext, vbCrLf)
'"Q."を含む文字列抽出
qlines = Filter(mylines, "Q.")
'メッセージボックス表示
MsgBox (qlines(0) & vbCrLf & qlines(1) & vbCrLf & qlines(2))
'IE終了
ie.Quit
End Sub
上記例ではinnertextを使ってますが、
innerhtmlでHTMLを取得することもできます。
必要に応じて使い分けてください。
再度ありがとうございます。
サンプルとして作成していただいたものを参考に、取り込みたいURLと文字列を変更したところ、とりあえずメッセージボックスに表示することができました。
ご教示いただいた内容をとっかかりにして、勉強することができます。
No.1
- 回答日時:
可能ですが、
>モジュールは全く作ったことがありません。
というレベルでは、先が長そうです。
処理は大雑把に考えて
(1)フォームで指定した日付をプログラム(VBA)に渡す。
(2)(1)の値を参照して、InternetExplorerコントロールで
指定URLからデータを取得。
(3)(2)で取得したデータから必要部分を抜き出す。
(4)抜き出したデータをテーブルに追加。
てな感じですが、それに伴い、以下のような
ことを大雑把にでも理解しておく必要があります。
(1)Accessのフォームに関する知識。
(2)InternetExplorerコントロールに関する知識。
(3)文字列操作に関する知識。
(4)ADOもしくはDAOといったデータベース操作に関する知識。
まぁ、少しずつ学んでいって、具体的にわからない所が
でてきたら、質問してけばよいかと思います。
この回答への補足
アドバイスありがとうございました。
報告が遅くなり申し訳ありません。
あれから勉強し、知識(1),(3)をある程度理解できました。また、処理(1)も概ね可能なレベルになりました。
つきましては、処理(2)の方法についてご回答賜りたく思います。11/28で本質問を締め切りたく思います。
よろしくご教示のほどお願い申し上げます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】同じフォルダ内にある複数ブックから1つのブック内の1シートにデータを集めたい 6 2022/09/28 18:16
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Visual Basic(VBA) VBA 毎日取得するデータを順番に反映していく方法 6 2023/08/26 16:22
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Excel(エクセル) エクセルで沢山のレコードの最後に追記するには? 7 2023/04/10 13:27
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
Access コンボボックスの値をクリアしたい。
PowerPoint(パワーポイント)
-
Accessの条件付き書式設定で、複数の条件が一致した時の書式を設定したい
その他(Microsoft Office)
-
-
4
ACCESSで日付ごとに自動連番(日付+連番)する方法
Access(アクセス)
-
5
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
6
Accessで、一つのフォーム画面を複数開きたい
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【VB.NET】Excelの最終行までの...
-
「Nullの使い方が不正です」の...
-
C# DataTableに最後に追加した...
-
【C#】textBoxの指定行のデータ...
-
非同期のプロセス間通信(パイプ...
-
batでレジストリキーから読み取...
-
java / jsp selectedについて
-
エクセルのマクロ コンボボッ...
-
Excel VBAでグラフの可変データ...
-
ADODBでの行番号の取得、もしく...
-
VBAコンボボックスの内容が反映...
-
VB2005 で NetworkStream で取...
-
ActiveReportのdetailをデータ...
-
COBOL数値転記の仕様
-
MSFlexGrid 行選択状態
-
エクセルのCSV読み込みについて
-
アクセスでウェブ上のデータを...
-
XMLでデータとして画像を指定す...
-
[リボンのキーボード ショート...
-
VBAでアクセスDBからデータの取...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
XMLでデータとして画像を指定す...
-
【C#】textBoxの指定行のデータ...
-
VBAでアクセスDBからデータの取...
-
Excel VBAでフォルダ内の全テキ...
-
【VB.NET】Excelの最終行までの...
-
C# DataTableに最後に追加した...
-
「Nullの使い方が不正です」の...
-
VBAコンボボックスの内容が反映...
-
COBOL数値転記の仕様
-
クリスタルレポートでレコード...
-
VB2010で、選択した系列を最前...
-
アクセスでウェブ上のデータを...
-
Excel VBAで1週間毎にカテゴリ...
-
非同期のプロセス間通信(パイプ...
-
エクセルのセル最終行取得
-
ActiveReportのdetailをデータ...
-
富士通(汎用機)のAIMについて
-
Excel VBAでグループ毎に集計す...
-
エクセルのCSV読み込みについて
-
AccessVBAでのExcelメモリ解放
おすすめ情報