Excel VBA(エクセル マクロ) WebデータベースそのD ホームページデータを毎日指定時刻に自動追加A

ホームページのデータを毎日指定時刻に自動追加し、
データベースを構築する(自動化そのA)。

完全自動化版を完成させたがパソコン、エクセルを24時間立ち上げておかなければ為らない。

そこで、パソコンをスタンバイ状態にしておき、指定時刻になったらパソコンが立ち上がってエクセル実行、指定時間後にまたスタンバイ状態にする方法を考える。


Excel立ち上げ時にマクロ自動実行するように設定する。
小技集そのK Excel立ち上げ時にマクロ自動実行参照。


VBE(VBA編集画面)の左側にVBAプロジェクトというものがあって、Thisworkをダブルクリックすると、編集画面が出てくるので、以下のプログラムを入れる。

Private Sub Workbook_Open()
Application.OnTime Now + TimeValue("00:00:50"), "コピー", Now + TimeValue("00:01:59")
End Sub


後はそのBで作ったマクロを入れる。

Sub コピー()
Dim Line As Integer, flag As Integer

Line = 3
flag = 0
Do Until Cells(Line, 1).Value = ""
If Cells(Line, 1).Value = Date Then
flag = 1
End If
Line = Line + 1
Loop
If flag = 0 Then
Cells(Line, 1).Value = Date
Cells(Line, 2).Value = Sheets("株価").Cells(224, 2).Value



ActiveWorkbook.Save

End If

End Sub

ActiveWorkbook.Saveで値の取り込みが終了した時セーブするように設定。


次はパソコン側の設定。

指定した時刻にマクロを作成したエクセルファイルを実行するようにする。
エクセルファイルは【ツール】→【マクロ】→【セキュリティ】でセキュリティレベルを低にして、マクロを有効にしますかというダイアログを消さなければならない。
セキュリティにかかわりますので注意してください。

【スタート】→【コントロールパネル】→【タスク】→【スケジュールされたタスクの追加】をクリックし、ウィザードが実行されるので、指定した時刻にエクセルファイルを実行するように設定する。

そうすると、スケジュールされたタスク(エクセルのファイル名が入ったもの)が完成するので、ダブルクリックして中身をみる。

タスク、スケジュール、設定とあるが、設定をクリックし、タスク実行時にスリープを解除するをチェックする。

そうすると、スリープ時にパソコンが立ち上がって、エクセルを実行するようになる。

あとは、パソコンを切る設定。

Windows画面で右クリックし、プロパティをクリックして画面のプロパティに入り、スクリーンセーバーの中の電源をクリックし、システムスタンバイを20分後にしておけば、パソコンは20分後にスタンバイモードになる。

以上で完成。


ただ、エクセルのセキュリティレベルを低にするため、ウィルスが感染したエクセルファイルを間違って開くと、マクロの存在確認なしにマクロが走ってウィルスに感染してしまう。

注意が必要です。

VBでExcelを制御するプログラムを作成し、このExcelファイルを開くときのみセキュリティレベルを低にする方法もある。

それは別途考案する。

忍者Admaxのテキスト広告で収入UP!

実践!ExcelデータベースTOP