Vet hur man gör och det fungerar, har googlat som sjutton, och förstått att man måste stänga ner alla processer av excel innan man öppnar sin xls-fil via kod (varför vet jag inte!!!) om man inte gör det öppnas det i bakgrunden och ligger där tills man killar processen manuellt. Varför vet jag inte, men följande kod fungerar. Vad jag vill veta är hur man kringgår problemet att man måste stänga ner excelprocesserna innan man öppnar en ny via kod. Nån som kan hjälpa ? förstår inte vad du menar med att du måste stänga ner Excel? Skriva till excelfil och öppna den
<code>
Try
'måste döda alla excelprocesser annars blir det fel! varför !?!?!?!!?!?
For Each thisproc As Diagnostics.Process In Process.GetProcessesByName("EXCEL")
If Not thisproc.CloseMainWindow Then
thisproc.Kill()
End If
Next
Dim myProcess As New System.Diagnostics.Process()
myProcess.StartInfo.FileName = strFileName
myProcess.StartInfo.UseShellExecute = True
myProcess.Start()
Catch ex As Exception
Me.MainGlobals.Popup_Error("Fel! Kunde inte öppna genererad excelfil: " & strFileName & ".xls")
End Try
Try
Threading.Thread.CurrentThread.Sleep(250) 'så att filen hinner öppnas in den tas bort..
IO.File.Delete(strFileName)
Catch ex As Exception
End Try
</code>Sv: Skriva till excelfil och öppna den
Hirsomhelst, detta funkar ypperligt för oss oavsett om excel är igång eller inte:
<code>
string strFileName = "c:\\test.xls";
if (File.Exists(strFileName))
System.Diagnostics.Process.Start(strFileName);
</code>