Wyskakuje mi taki błąd podczas odpalania mojej wersji release w innym katalogu niz ten w kotrym stworzylem aplikacje, pełna tresc to:
System.Runtime.InteropServices.COMException (0x800A03EC): Nie można odnaleźć pliku Zaopatrzenie c. Sprawdź pisownię nazwy pliku i zweryfikuj, czy jego lokalizacja jest poprawna.
Jeśli próbujesz otworzyć plik z listy ostatnio używanych plików, upewnij się, że nazwa pliku nie została zmieniona oraz że plik nie został przeniesiony ani usunięty.
w Microsoft.Office.Interop.Excel.Workbooks.Open(String Filename, Object UpdateLinks, Object ReadOnly, Object Format, Object Password, Object WriteResPassword, Object IgnoreReadOnlyRecommended, Object Origin, Object Delimiter, Object Editable, Object Notify, Object Converter, Object AddToMru, Object Local, Object CorruptLoad)
w Zaopatrzenie.Form1.button1_Click(Object sender, EventArgs e)
w System.Windows.Forms.Control.OnClick(EventArgs e)
w System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
w System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
w System.Windows.Forms.Control.WndProc(Message& m)
w System.Windows.Forms.ButtonBase.WndProc(Message& m)
w System.Windows.Forms.Button.WndProc(Message& m)
w System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
w System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
A pluje sie o ta funkcje:
private void button1_Click(object sender, EventArgs e)
{
int oddzial = listBox1.SelectedIndex;
int miesiac = listBox2.SelectedIndex;
int ilosc_przedmiotow = 0;
dane = oddzialy[oddzial] + " - miesiąc " + miesiace[miesiac] + ":\r\n";
data = new Data();
data.przedmioty.Clear();
data.oddzial = oddzialy[oddzial] + " - miesiąc " + miesiace[miesiac];
//zmienne potrzebne do otworzenia arkusza excel'a
String path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
String xlsFile = path+"\\dane\\"+oddzialy[oddzial]+".xls";
Excel.Application xlsApp; // obiekt aplikacji
Excel.Range xlsRange; // zakres danych do wczytania
Excel.Workbook xlsWorkbook; // dokument
Excel.Sheets xlsSheets; // arkusze
Excel.Worksheet xlsWorksheet;
System.Object m_xx = System.Type.Missing;
object missing = System.Reflection.Missing.Value;
xlsApp = new Excel.Application();
xlsWorkbook = (Excel.Workbook)xlsApp.Workbooks.Open(xlsFile,
0,
true,
5,
"",
"",
true,
Excel.XlPlatform.xlWindows,
"\t",
false,
false,
0,
true,
1,
0);
ilosc_przedmiotow = xlsWorkbook.Worksheets.Count;
xlsSheets = xlsWorkbook.Worksheets;
for (int i = 1; i < ilosc_przedmiotow + 1; i++)
{
int j = 3;
xlsWorksheet = (Excel.Worksheet)xlsSheets.get_Item(i);
dane += xlsWorksheet.Name + ":\r\n";
Przedmioty przedmiot = new Przedmioty();
przedmiot.nazwa = xlsWorksheet.Name + ":";
data.przedmioty.Add(przedmiot);
xlsRange = xlsWorksheet.get_Range("A"+j, "N"+j);
while (true)
{
String kto = "";
xlsRange = xlsWorksheet.get_Range("A" + j, "N" + j);
try
{
kto = ((Excel.Range)xlsWorksheet.Cells[j, 2]).Value2.ToString(); //sczytuje wartosc komorki w danym wierszu z danego miesiaca
}
catch (Exception ee) { break; }
String m = "";
try
{
m = ((Excel.Range)xlsWorksheet.Cells[j, miesiac+3]).Value2.ToString();
}
catch (Exception ee) {}
if (m!= "")
{
dane += "\t-" + kto + " - " + m + "\r\n";
przedmiot.komu.Add("-" + kto + " - " + m);
}
j++;
}
}
//textBox1.Text = path + "\r\n" + xlsFile;
textBox1.Text = dane;
textBox1.SelectionStart = textBox1.Text.Length;
textBox1.ScrollToCaret();
textBox1.ScrollBars = ScrollBars.Vertical;
xlsApp.Quit();
}
Dokladnie to pluje sie o xlsWorkbook = (Excel.Workbook)xlsApp.Workbooks.Open() i nie mam pojecia dlaczego. W katalogu domyslnym dziala i nie rzuca wyjatkow, a tego pliku zaopatrzenie.c nie mam, nie znalazlem go. Pomozcie.