DOBON.NETプログラミング道掲示板

■35458 / 親記事)  エクセルのみ監視ができない
  
□投稿者/ たた 一般人(1回)-(2023/06/20(Tue) 20:07:08)
  • アイコン環境/言語:[VB.NET Freamwork4.8.1 VisualStudio2019] 
    分類:[.NET] 

    こちらのサイトのフォルダ、ファイルの変更を監視するを使って特定のエクセルを監視しようとしています。
    しかしながら、watcher.Filter の部分を
    watcher.Filter = "hoge.xlsx"
    としていますがhoge.xlsxが変更されても変更と認識されません。

    試しに watcher.Filter = "" としてみたところ
    changedResult の Name 部分が
    "FBF70100"
    のようになっており、"*.xlsx"の形になっていません。

    hoge.txt で試してみたところ正常にNameは hoge.txt になっていました。
    どのようにすれば hoge.xlsx を監視できるようになるでしょうか。
マルチポストを報告
違反を報告
引用返信 削除キー/
■35459 / ResNo.1)  Re[1]: エクセルのみ監視ができない
□投稿者/ Azulean 大御所(538回)-(2023/06/20(Tue) 21:38:03)
  • アイコンNo35458に返信(たたさんの記事)
    > こちらのサイトのフォルダ、ファイルの変更を監視するを使って特定のエクセルを監視しようとしています。

    Excel はおそらく、一時ファイルに書き込んで、正常に終了してから、名前の変更と削除で「上書きのように見せかけている」のが実情だと思います。

    新規作成・名前の変更・削除も拾えるようにして観察してみてください。
違反を報告
引用返信 削除キー/
■35460 / ResNo.2)  Re[2]: エクセルのみ監視ができない
□投稿者/ たた 一般人(2回)-(2023/06/21(Wed) 17:57:19)
  • アイコンいくつか疑問が残る結果になりましたが、とりあえず解決しました。

    備忘録もかねて
    最初に動作確認をした際には "hoge.xlsx" ですべて確保できていた。何故できていたのか不明だが、Azuleanさんの仰るように一時ファイルへの書き込みに対応しておく必要がある。
    "FBF70100" や "hoge.tmp" のように一時ファイルへの書き込み名が統一されていないため対応したプログラム作成を行わなければならない。
    場合によってはファイル名が "~$hoge.xlsx" となっている。
    これらをクリアしたプログラムを作成(スッキリとしませんが)すれば解決する。
解決み!
違反を報告
引用返信 削除キー/



スレッド内ページ移動 / << 0 >>

このスレッドに書きこむ

Mode/  Pass/


- Child Tree -