我正在尝试使用C ++构建器打开现有的Excel文档。但我有一个例外:
项目project1.exe引发异常类EOlSysError,并显示消息“变量类型不正确”
这是我正在使用的代码:
try {
vMSExcel = Variant::GetActiveObject("Excel.Application");
}
catch (...) {
vMSExcel = Variant::CreateObject("Excel.Application");
}
vMSExcel.OlePropertySet("Visible", true);
Variant vFileName = "C:\\Users\mi\\Desktop\\classeur1.xls";
vXLWorkbooks = vMSExcel.OlePropertyGet("Workbooks");
vXLWorkbook = vXLWorkbooks.OleFunction("Open", vFileName);
这行抛出异常:
vXLWorkbook = vXLWorkbooks.OleFunction("Open", vFileName);
任何帮助将不胜感激。谢谢
最佳答案
解决的问题:
我将FileName的类型从Variant更改为String并将c_str()添加到一个函数,如下所示
vXLWorkbook = vXLWorkbooks.OleFunction( "Open",vFileName.c_str());