• 締切済み

VBA 再実行

エクセルVBAでループによる以下のような定期実行を行っています。 >1時間に一度株価のデータを取りに行きます。 >データ取得後、他のPCに(VBAでソフトを起動させて)アップロードします。 *このアップロードの時に、ソフトが別の処理をしていると起動しません。 VBAで起動はさせるものの、ソフトが実行しないという状態になります。 そこで、一度行った処理を時間をおいて再度実行させたいのです。 できれば、30秒後と1分後に2回再実行するというようにしたいと思っています。 どなたか、お力添え頂けませんか

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

Googleででも「timer VBA」や「Application.OnTime」で照会すれば、実例コードがでてくる。  勉強のこと。

関連するQ&A

  • VBAについて

    エクセルVBAでグラフを書く操作をやっていますが、元のデータがプログラム上(あるデータを24時間10秒間隔でとっている)詳細にデータを取りすぎていて、容量・実行時間的に考えると簡素化されていなく、マクロで1分間データに処理をしたいのですが、どこで宣言したらいいのか・どのような構文を使えばいいのか教えてください。ちなみに30列のデータについて各For文を使ったのですが、ループで時間がかかっているので、実行したら12分もかかります。(元データ2MB・変換データ24MB)です。データは8640行・150列です。そのうち 元データが30列要らないのですがその点も新しいデータは別のブックに持っていけるようにしたいのですが。大至急回答希望します。  

  • VBAでのwebservice関数の更新方法

    エクセルにてwebservice関数を使って、定期的に情報を更新したいと思っています。 VBAでESCを押すまで無限ループを回して、定期的(例えばsleepで5秒寝かせるなど)にwebservice関数を実行したいと思っています。 しかし、シートの再計算などをさせてもwebservice関数の内容が更新される気配がありません。 webservice関数をVBAからの指示で再実行させる方法があれば教えてください。

  • EXCEL2003 VBAで2つのDBに接続してSQLを実行し、異なる

    EXCEL2003 VBAで2つのDBに接続してSQLを実行し、異なるDBのTBLを結合する。 こんな方法あるのかどうかわかりませんが、 VBAでDBに接続する際に同時?に2つのDBに接続し1つのSQLで違うDB同士を任意のキーで結合はできるのでしょうか? どなたかわかる方お願いします。 今考えているのは最初に1つのDBに接続し、データを取得後、再度違うDBに接続し取得したデータを先ほどのデータとVBA内で結合しようと考えています。 ほかにいい方法があればアドバイスおねがいします。 ※今まではACCESSを介してこの処理を行っていましたが引継ぎの関係でEXCELのみでこの処理を  実行しなければなりません。

  • VBAである処理を実行中に・・・

    お世話になります。 ExcelのVBAである処理を実行中に、フォームやその他の方法でもいいのですが、あるフォルダ内の画像ファイルをランダムに表示することは可能でしょうか? ある処理には、外部データの取り込みでwebの情報を取得し、それを関数で加工して、テキスト形式で排出する処理で、Loopが所々に入っています。 この処理には多少時間がかかります。 その間に、画像ファイルの表示をランダムになるべくなら等間隔で表示させたいのですが、出来るものでしょうか? 処理完了までに時間がプラスされるのは覚悟しています。 要するに、バックではある処理がされ、画面上には写真などがプレビューされるようにしたいということです。何か方法をご存知の方、よろしくお願いいたします。

  • WordのVBAマクロの実行を、一気に取り消す

    こんにちは。 Word2007以降で、1つのVBAマクロで行った処理を全て取り消す方法が見つからず、困っています。 例えば、Word文書の内容を、Forループなどで1段落ずつ処理していくマクロの場合、 そのマクロを実行した後、実行前の状態に戻すには、段落の数だけアンドゥをしなけれななりません。 こういったマクロの実行を、一気に取り消す方法は無いのでしょうか? 以上の件について、何か良い方法を知っておられる方がいらっしゃれば、是非教えて頂きたいと思います。 では、よろしくお願い致します。

  • VBAで日報を作っています。

    VBAで日報を作っています。 日報はほとんどできましたが、 みんなで使っている全体のスケジュール管理ソフトがあり、 VBAで日報を自動で処理している途中で、全体のスケジュールソフトを起動させ実行させたと 思っています。 今のVBAの途中に付け加えたいと思っています。 VBAで日報を処理している途中でデスクトップにあるショートカットのプログラムを実行させる 事はできるのでしょうか? Shellで他のプログラムを実行できると聞いたことがあるのですが、 人により、デスクトップのパスが違ってくると思うので、パスを取得し そのパスにあるショートカット(exe)を実行させ、開いた画面にある スタート(A)を押したいのですが、VBAでできまでしょうか? 説明が下手なので、すみませんがよろしくお願いします。

  • VBAを時間指定で自動実行

    就業時間内(9時~6時)でエクセルVBAを指定時間に自動実行させたいです。 エクセルはパソコン起動した朝に、開いておきます。(バックグラウンド) 指定時間になったらVBAを自動実行させたいのです。 指定時間は例えば、 10時11分 10時16分 10時21分 などです。最初の時間から5分間隔で実行。 こういう事はできるのでしょうか?VBAでできるのか? それ以外の方法があるのか?よくわかりません。 詳しく教えてください。

  • 特定のファイルを定期的に実行したい

    特定のファイルを定期的に実行したい あるソフトウェアが起動している際、 特定のファイルを定期的に実行を繰り返すようにしたいです。 具体的には、 ソフトウェアが実行中にautoItで作成したau3ファイルのマクロを定期実行させたいのです。 環境はWindows8.1で タスクスケジュールで何とかできないか試みたのですが、自分には無理でした。 [アプリの起動→マクロの定期実行ループ]自体をマクロ化してしまえば できなくはないのですが、 できれば常にマクロが動いてる状態ではなく 定期的にマクロが実行されるように実装したいです ご助言のほどよろしくおねがいします。

  • WSHスクリプトから動かしたEXCEL・VBAマクロでWSHスクリプトを停止する方法

    WSHスクリプトからEXCELファイルのVBAマクロを呼び出し実行させます。 このマクロ内ではif関数で設定している条件の真偽を判定しています。偽の場合、マクロは終了しEXCELファイルは一旦閉じられます。そして一定時間がたったら、WSHスクリプトのループ処理で再び同じマクロが開かれif関数で条件判定を行います。 もし、真の場合、マクロの設定処理の実行・終了とともにWSHのループ処理も終了させたいのですが、VBAマクロからそのマクロを実行させているWSHスクリプトを停止させることは可能でしょうか。

  • vbaを修正するとADOが実行できなくなる。

    アクセス2003、vistaを使用しています。 vbaを使っていて、ADOを使っています。 アクセスを使っている間に いくつか修正したいところがあり、vbaコードをいじって保存し、 vbaを実行すると、 CN.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CurrentProject.FullName ←の部分で RS.Open "Qタイトル", CN, adOpenStatic, adLockPessimistic 実行時エラー '-2147467259(80004005)' 「マシン '<マシン名>' のユーザー 'Admin' が データベースを開けない状態、またはロックできない状態にしています。」 となります。 一度ファイルを閉じて再度開くと問題なく作業できますが これは何故起こるのでしょうか? 一応調べてみましたが http://www.accessclub.jp/bbs/0017/beginers7727.html http://okwave.jp/qa4388870.html 解決には至りませんでした。 よろしくお願いします。

専門家に質問してみよう