我在用戶端嘗試exe時遇到此問題。用戶有MicosoftExcel 2000,我有execel 2003.有人可以幫助我。C#,來自HRESULT的異常:0x80029C4A(TYPE_E_CANTLOADLIBRARY)
我已經創建了C#這個工具,並使用COM
if(strDataSheetFile.Trim().EndsWith(".xls") || strDataSheetFile.Trim().EndsWith(".xlsx"))
{
System.IO.StreamWriter file = null;
if (IfAbFile)
{
file = new System.IO.StreamWriter(AbaqusDeckFile.ToString(), true);
}
else
{
string[] strFILEnamesSplit = strDataSheetFile.Split(new Char[] { '\\' });
string ExpFile = "";
int ilnt = 0;
foreach (string strVal in strFILEnamesSplit)
{
if (ilnt < (strFILEnamesSplit.Length - 1))
{
ExpFile += strVal;
ExpFile += "/";
}
else
ExpFile += "Deck.inp";
ilnt += 1;
}
file = new System.IO.StreamWriter(ExpFile.ToString(), true);
}
List<List<double>> List_SheetValues = new List<List<double>>();
Excel.Application objexcel;
Excel.Workbook wbexcel;
Excel.Worksheet wsheet;
objexcel = new Excel.Application();
//strDataSheetFile = @"C:\Ajoy\Demos\IsoMount\IsoMount_Springs_database_updated.xls";
if (File.Exists(strDataSheetFile))
wbexcel = objexcel.Workbooks.Open(strDataSheetFile);
else
{
MessageBox.Show(" Please state the number of springs", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
Application.UseWaitCursor = false;
return;
}
看起來,在你的VBA代碼,您將使用所有的Excel版本的應用移植在您的機器上註冊的類型庫,但不在最終用戶機器上。在最終用戶機器的末尾檢查參考對話框中是否有**(缺失)**的任何內容。 – JMK
嗨JMK,我用C#編寫了這個代碼。你有一個suggesion請 – user2982029
沒有實際上是把你的代碼的問題,並明確了線造成你,我們沒有太多的去麻煩。 – JMK