使用 C++ 生成器打开一个 Excel 文档
Open an Excel document with C++ builder
我正在尝试使用 C++ 生成器打开现有的 Excel 文档。但我有一个例外:
Project project1.exe raised exception class EOlSysError with message "incorrect type of variable"
这是我正在使用的代码:
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() 添加到 Ole Function,如下所示
vXLWorkbook = vXLWorkbooks.OleFunction( "Open",vFileName.c_str());
我正在尝试使用 C++ 生成器打开现有的 Excel 文档。但我有一个例外:
Project project1.exe raised exception class EOlSysError with message "incorrect type of variable"
这是我正在使用的代码:
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() 添加到 Ole Function,如下所示
vXLWorkbook = vXLWorkbooks.OleFunction( "Open",vFileName.c_str());