Я хочу произвести замену в файле xls, а затем открыть его в Excel. У меня есть это
Imports Microsoft.Office.Interop.Excel
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
OpenFileDialog1.ShowDialog()
End Sub
Private Sub OpenFileDialog1_FileOk(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
Dim strFileName As String
OpenFileDialog1.Title = "Apri file TimeSheet"
OpenFileDialog1.InitialDirectory = "c:"
OpenFileDialog1.Filter = "File Excel (*.xls)|*.xls|All files (*.*)|*.*"
OpenFileDialog1.FilterIndex = 2
OpenFileDialog1.RestoreDirectory = True
If OpenFileDialog1.FileName.Length > 0 Then
strFileName = OpenFileDialog1.FileName
Dim xlapp As Microsoft.Office.Interop.Excel.Application = New Microsoft.Office.Interop.Excel.Application()
Dim wb As Microsoft.Office.Interop.Excel.Workbook = Nothing
wb = xlapp.Workbooks.Open(strFileName.ToString())
wb.Worksheets(1).Cells.Replace(".", ",")
wb.Save()
wb.Close()
Threading.Thread.Sleep(500)
Process.Start("EXCEL.EXE", strFileName)
End
End If
End Sub
End Class
Но process.start не работает *, потому что файл кажется перемещенным, даже если путь и имя файла совпадают. Как я могу решить эту проблему во время выполнения (то есть без вмешательства пользователя)?
* означает, что приложение Excel запускается, но не может открыть файл и выдает ошибку о том, что «не удается открыть файл, возможно, он был перемещен или недоступен "