vbscript を使用して、Excel オブジェクトを作成し、ユーザーがファイルを開いて保存した後、ファイル内のデータを確認できるようにしたいと考えています。WaitForChangedResult を使用して、ファイルがあるディレクトリを監視し、変更されるのを待ってから続行しようとしましたが、ファイルが保存されたときではなく、保存せずに閉じられたときにのみ移動します。そのコードは次のようになります。
Dim xl As Object
xl = CreateObject("excel.application")
xl.FileDialog(1).AllowMultiSelect = False
xl.FileDialog(1).Title = "Navigate to 60-40 loan calculator"
Dim strFilePathAndName As String
If xl.FileDialog(1).Show() = -1 Then
strFilePathAndName = xl.FileDialog(3).SelectedItems(1)
Else
Exit Sub
End If
xl.Visible = True
xl.Workbooks.Open(strFilePathAndName)
Dim strXLTab As String
strXLTab = xl.ActiveSheet.Name
Dim result As System.IO.WaitForChangedResult
Dim directory As String
directory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
Dim watcher As New System.IO.FileSystemWatcher(directory, "Calculator.xls")
result = watcher.WaitForChanged(System.IO.WatcherChangeTypes.Changed)
TextBox1.Text = directory
これを行うより良い方法はありますか?