Sampath579 Ответов: 1

Excel::_applicationptr createinstance не работает.


Привет
У меня есть проект C++, в котором я читаю лист excel следующим образом: Обратите внимание, что я использую версию office 2016.

#import "libid:2DF8D04C-5BFA-101B-BDE5-00AA0044DE52" \
rename("RGB", "ExcelRGB") \
rename("DocumentProperties", "MSODocumentProperties")

#import "libid:0002E157-0000-0000-C000-000000000046"
using namespace VBIDE;

#import "libid:00020813-0000-0000-C000-000000000046" \
rename("DialogBox", "ExcelDialogBox") rename("RGB", "ExcelRGB")  rename("CopyFile", "ExcelCopyFile")  rename("ReplaceText",  "ExcelReplaceText") \
no_auto_exclude

HRESULT CReadExcel::OpenExcel(BSTR csInPath, BSTR csOutPath)
{
                HRESULT hr = pApplication.CreateInstance(L"Excel.Application");
		//Initialize Excel Application
		if ( hr != S_OK )
		{
			FILE* fp1 = nullptr;
			fopen_s(&fp1, "D:\\Samples\\OpenBefore.txt", "w");
			fprintf(fp1, "%d", hr);
			fclose(fp1);

			hr = E_FAIL;
			goto wrapup;

		}	
}


В приведенном выше фрагменте кода CreateInstance терпит неудачу и возвращает код ошибки -2146959355. Не знаю, что означает этот код ошибки. Может ли кто-нибудь объяснить, почему эта функция терпит неудачу, и что означает Код ошибки, и как устранить эту ошибку?

Окна 1064bit
Office 365 64 бит
VS2017 Enterprise Edition.

-Сампатх

Что я уже пробовал:

Пробовал много способов избежать этой ошибки, но не смог найти решение.

Sampath579

Наконец-то я решил эту проблему сам.

1 Ответов

Рейтинг:
1

Richard MacCutchan

Коды ошибок-это шестнадцатеричные значения, в данном случае 0x80080005. Видеть hresult 80080005 - поиск в Google[^]