我正在尝试使用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());

08-26 20:17