vbaのファイルを「earmark」する方法はありますか?私のコードは、一連のフォルダに入り、マスターデータベースにあるすべてのファイル(Excel)からデータをインポートします。操作の中で最も時間のかかる部分はファイルを開くことです - 現在、インポート後にファイル名に接頭辞を追加しています。コードはこの接頭辞を検索し、次のインポートサイクルでファイルをスキップします。VBA経由でExcelファイルを読み込む
ファイルをマークする方法がよりエレガントで、フロントエンドでは見えないため、VBAは完全なファイルを最初に開くことなく認識することができますか?
EDIT:わかりやすくするために、ファイル名が読み込まれ、接頭辞(I_)が付いているファイルは処理されません。私は、ファイルの位置やファイル名を変更せずにファイルをマークする方法を探しています。これは、データベースの他のユーザーが直ちに知ることのできないプロパティです。このマークは、コードが終了した後、同じファイルが後でもう一度チェックされ、おそらくは更新コードを実行している複数のマシンからチェックされた後も持続する必要があります。
処理されたファイルのデータベースを保持することはできません。数千も増えています。そのリストとの比較は、以前に実行されたかどうかに関係なく、ファイルを開いて処理するよりも時間がかかります。
処理されたファイルの配列は保持されません。私は同じファイルを1回の処理で複数回処理するのではなく、コードを一度だけでなく実行するたびに処理するか、ファイル名を変更してください。後者は良い解決策ではありません。私は他の人やプログラムから参照される何千ものファイルの名前を変更したくありません。
すでにインポートされているデータベースのファイルのログを保存できませんでしたか?または、ファイルを「完成したインポート」フォルダなどに移動しますか?ファイル名を確認するためにファイルを開いているのはなぜですか?ファイルを開く前にファイル名を確認して、接頭辞がある場合は開きませんか? – OpiesDad
ファイルを「処理済み」フォルダに移動しますか? – bated
ファイル名を取得するためにファイルを開くのはなぜですか? **ファイルを開く前にファイル名を確認するようにコードを修正してください。それはかなり速いでしょう。 – JNevill