近期公司有個專案,要將資料庫的資料匯入到EXCEL后呼叫宏對資料進行回歸分析,現在做了個寫死的資料的宏檔案,但是呼叫宏的時候時候一直報無法運行宏。。。具體報錯請看圖片,代碼如下
ApplicationClass app = null;
Workbook workBook = null;
VBComponent vbComponent = null;
string strCode;
Object oMissing = System.Reflection.Missing.Value;
Object missing = System.Reflection.Missing.Value;
app = new ApplicationClass();
workBook = app.Workbooks.Open(@"D:\ExcelHong\test0917-1.xlsm", missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
vbComponent = workBook.VBProject.VBComponents.Add(vbext_ComponentType.vbext_ct_StdModule);
#region
strCode = "Sub hong201909()\r\n" +
"Range(\"A2\").Select\r\n" +
"ActiveCell.FormulaR1C1 = \"23\"\r\n" +
"Range(\"B2\").Select\r\n" +
"ActiveCell.FormulaR1C1 = \"44\"\r\n" +
"Range(\"B3\").Select\r\n" +
"ActiveCell.FormulaR1C1 = \"55\"\r\n" +
"Range(\"A3\").Select\r\n" +
"ActiveCell.FormulaR1C1 = \"555\"\r\n" +
"Range(\"A4\").Select\r\n" +
"ActiveCell.FormulaR1C1 = \"7665\"\r\n" +
"Range(\"B4\").Select\r\n" +
"ActiveCell.FormulaR1C1 = \"33\"\r\n" +
"Range(\"A5\").Select\r\n" +
"ActiveCell.FormulaR1C1 = \"23\"\r\n" +
"Range(\"B5\").Select\r\n" +
"ActiveCell.FormulaR1C1 = \"55\"\r\n" +
"Range(\"A6\").Select\r\n" +
"ActiveCell.FormulaR1C1 = \"23\"\r\n" +
"Range(\"B6\").Select\r\n" +
"ActiveCell.FormulaR1C1 = \"66\"\r\n" +
"Range(\"E8\").Select\r\n" +
"Application.Run \"ATPVBAEN.XLAM!Regress\", ActiveSheet.Range(\"$A$2:$A$6\"), _\r\n" +
"ActiveSheet.Range(\"$B$2:$B$6\"), True, False, , ActiveSheet.Range(\"$A$8\"), _\r\n" +
"True, True, True, True, , True\r\n" +
" End Sub";
#endregion
vbComponent.CodeModule.AddFromString(strCode);
try
{
app.Run("hong201909", missing, missing,
missing, missing, missing, missing, missing, missing, missing,
missing, missing, missing, missing, missing, missing, missing,
missing, missing, missing, missing, missing, missing, missing,
missing, missing, missing, missing, missing, missing, missing);
}
catch (Exception ex)
{
GC.Collect();
}
app.Visible = true;
app.UserControl = true;
vbComponent = null;
workBook = null;
app = null;
GC.Collect();
看了好幾天了一直沒有整理出個頭緒來,有哪位大神能幫忙看看
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/119090.html
標籤:C#
