Skriv til aktive excel cell
Jeg har følgede kode som virker fint ca. 50% af gangene.Værdien "value" skrives til aktiv celle excel og aktiv cell rykkes een ned.
Men de sidste 50 % procent virker det og der kommer ikke noget fejlmeddelse.
Jeg forstår ikke hvorfor?
void ValueToExcel(string value)
{
Excel.Application oXL=null;
Excel.Workbook oWB=null;
Excel.Worksheet oSheet=null;
Excel.Range rng =null;
try
{
oXL = (Excel.Application)Marshal.GetActiveObject("Excel.Application");
oXL.Visible = true;
oWB = (Excel.Workbook)oXL.ActiveWorkbook;
oSheet = oWB.ActiveSheet;
rng = oSheet.Application.ActiveCell;
rng.Value = value;
rng.Application.ActiveCell.Offset[1, 0].Select();
}
catch (Exception EX)
{
MessageBox.Show(EX.Message);
}
}
jeg ha prøvet at udbygge koden således men stadig fejler den mange gange
void ValueToExcel(string value)
{
//Gets Excel and gets Activeworkbook and worksheet
Excel.Application oXL=null;
Excel.Workbook oWB=null;
Excel.Worksheet oSheet=null;
Excel.Range rng =null;
try
{
while(oXL==null)
oXL = (Excel.Application)Marshal.GetActiveObject("Excel.Application");
oXL.Visible = true;
while (oWB == null)
oWB = (Excel.Workbook)oXL.ActiveWorkbook;
while (oSheet == null)
oSheet = oWB.ActiveSheet;
while (rng == null)
rng = oSheet.Application.ActiveCell;
while(rng.Value=="")
rng.Value = value;
MessageBox.Show(value);
Console.Beep();
rng.Application.ActiveCell.Offset[1, 0].Select();
}
catch (Exception EX)
{
MessageBox.Show(EX.Message);
}
}