2016-11-03 11 views
0

2つのWebクエリ接続を含むXLSMファイルがあります。私が "データ"タブの "接続"に行くとき、私は2つの接続を持っています。XLSMでデータ接続を自動的に実行

これらのそれぞれについて、「X分ごとに更新する」というプロパティを編集できます。これを1分に設定し、「バックグラウンドアップデートを有効にする」にチェックを入れました。

しかし、Webクエリの接続が実行されないため、これは機能しません。

最終的には、これらの接続を1時間に1回自動的に実行する必要があります。好ましくは、ユーザとのやりとりなしに、文書が開いていなくてもよい。

これは可能ですか?

+0

ファイルを開くことなく接続を更新することはできません。ファイルを開くときにクエリを実行するか、ファイルを開く 'VBA'ルーチンを作成し、' RefreshAll'を使用して毎時元のファイルに保存することができます。 – user3819867

+0

f.exでスケジュールできるVBAスクリプトのようなものです。 Windowsタスクスケジューラ? – Herter

+0

私は、あなた自身がExcelで書くことができるものとして 'VBA'スクリプトを意味しましたが、' VBS'も使えます。 – user3819867

答えて

1

ファイルを開くことなく接続を更新することはできません。ファイルを開くときにクエリを実行するか、ファイルを開くVBAルーチンを作成してから、RefreshAllを使用して、元のファイルを1時間ごとに保存することができます。
VBSも使用できます。 OPによって
最終的な解決策は:

私はオープン、リフレッシュ、 クローズを処理するために少しVBSスクリプトを作ってしまいました。次に、VBSスクリプト の実行とログを処理するバッチスクリプトラッパー。最後にWindowsタスクスケジューラでバッチスクリプト を定期的に実行します。

+1

これについて詳述するには: 毎時1回実行されるWindowsタスクスケジューラでタスクを設定します。タスクは、開始および終了メッセージを記録し、VBSスクリプトからの出力を記録するバッチスクリプトを実行します。 VBSスクリプトは、XLSMファイルに関連するすべてのもの、つまりデータ接続のオープン、更新、終了を処理します。プロセス全体は1秒以下で完了します。 2つのWebクエリを実行しています。 このアプローチは意図したとおりに動作すると思われ、これが私が使用するものです。 – Herter

関連する問題