VB.NetでExcelファイル回復プログラムを作成して、Microsoft's recommended methodsにアクセスしてアクセスすると便利です。おそらく私のkludgyに興味があり、充実したエラーがあり、十分なクリーンアップコードがない場合は、http://pastebin.com/v4GgDteYです。私はまだグラフのマクロテーブルのリカバリをテストしていませんが、基本的な機能は動作するようです。VB.Net:以前のシャドウコピーバージョンのファイルを表示して1つを選択できるようにする方法
シャドウコピーサービスが有効になっていて以前のコピーがある場合、VistaおよびWindows 7のユーザーはアプリケーション内のファイルの以前のバージョンのリストを提供されることから利益を得ることができました。これはどうすればいいですか?
私は多くのウェブページを見ていましたが、ベビーベッドのコードは簡単ではありませんでした。私は、シェル経由でvssadminを使うことが1つの可能性はあると思いますが、それはかなり面倒です。私は、以前のバージョンのプロパティシートのようなダイアログボックスを表示し、ユーザーが以前のバージョンの1つを選択できるようにしたいだけです。私は、コンテキストメニューと "以前のバージョンの選択を復元"をプログラムで呼び出すことで、以前のバージョンのプロパティシートをシェルから表示することができたと思いますが、Vista Home BasicとPremiumユーザーのリストを提供できるようにしたいと思っています。明らかに以前のバージョンが存在していても、そのタブにアクセスできます。さらに、私はXPのユーザファイルをシャドウコピーに置いているだけですが、XPユーザには同じ機能を提供したいと考えています。
私はシャドウコピーサービスのMSDNを見て、すべてのページを調べました。また、AlphaVSSとAlphaFSとすべてのコメントも調べました。私はAlphaVssとAlphFSを使い、次のことをする必要があると思っていますか?
- コンピュータに存在するスナップショット/復元ポイントの一覧を確認します。
- これらのスナップショットをマウントします。
- マウントされたボリュームを、ユーザーが回復したいExcelファイルに移動し、それらのパスのリストを作成します。
- パスのリストを使って、ある種のdiffプログラムと比較して、元のファイルのシャドウコピーを比較します。
- 復旧対象と異なるシャドウコピーの中で最も古いバージョンまたは最も古いバージョン(問題はないと思われます)を引き出します。
- 異なるバージョンのファイルがリストされています。
これは面倒で時間がかかるようですが、おそらく最速の方法です。私はちょうど今行く方法である確認が必要です。
VBには、あなたのためにそれらのいくつかをきれいにするかもしれないWithステートメントがあります。 – StingyJack