私はC#の初心者です。多くの実験をしています。私はプログラムをユーザーフレンドリーにしています。 最初は郵便受けの場所は静的な文字列であり、問題はありませんでした。問題ありませんExcelファイルを保存中にエラーが発生しました。
private void but_Browse_Click(object sender, EventArgs e)
{
var FD = new System.Windows.Forms.OpenFileDialog();
if (FD.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string fileToOpen = FD.FileName;
System.IO.FileInfo File = new System.IO.FileInfo(FD.FileName);
//OR
System.IO.StreamReader reader = new System.IO.StreamReader(fileToOpen);
//etc
but_Browse.Text = fileToOpen;
this.but_Browse.AutoSize = true;
But_Import.Visible = true;
}
}
は、Excelファイルを読むと、私はこれにそれを変更しました:
public string Excellocation()
{
string xlLocation;
if (but_Browse.Text == "Zoek Excel")
{
xlLocation = @"E:\Levi\Documents\Verjaardagen.xlsx";
}
else //Only if I get into this part of my code I get the error
{
xlLocation = but_Browse.Text;
}
return xlLocation;
}
そして私は、ユーザーが私のExcelファイルの場所を与えることができます使用するボタンがあります私のプログラムはそれを見つけてそれを処理します、ユーザが "ブラウズボタン"を使用して場所を変更した場合に限り、Windowsからその名前のExcelファイルがすでに存在するというメッセージが表示されます。そのメッセージをクリックして、私のコードは、Excelファイルを保存しようとする行にエラーを表示します
xlWorkbook.Save();
xlWorkbook.Close(true);
xlApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);
xlWorkbook.Saveは()私は、このエラーを与える:私は私を与えるために私のボタンを使用している場合は、エラーを取得しない間
System.Runtime.InteropServices.COMException occurred
HResult=0x800A03EC Message=Verjaardagen.xlsx can not be saved, because it's read-only.
は、私はデフォルトの場所でエラーを取得しない理由はわかりません同じ場所。
誰かが間違っていることを知っていますか?事前
あなたのコードを次のように修正してください: 'xlLocation = but_Browse.Text; MessageBox.Show(xlLocation); 'それはあなたに手がかりを与えますか? –
メッセージボックスは私にこれを与えます: E:\ Levi \ Documents \ Verjaardagen.xlsx それは正しいでしょうか? –
あなたの 'StreamReader'と何か関係はありますか?それを保存しようとするとファイルが開いていますか? –