我正在尝试使用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);
任何帮助将不胜感激。谢谢
答案 0 :(得分:1)
问题修复:
我将vFileName的类型从Vaiant更改为String,并将c_str()添加到OleFucntion,如下所示
vXLWorkbook = vXLWorkbooks.OleFunction( "Open",vFileName.c_str());