设置OleVariant文本属性的正确字符串类型?C++Builder代码报错求助
问题解答
在C++Builder 6.0中,Excel的OLE自动化接口设置工作表名称时,需要传递BSTR类型的字符串,你当前使用xlTitle.c_str()得到的是ANSI编码的const char*,无法被OLE正确识别,因此触发“Incorrect Type”错误。
正确写法
直接传递CBuilder的String对象即可,因为CBuilder的Variant会自动将String转换为OLE所需的BSTR格式:
wSheet.OlePropertySet("Name", xlTitle);
补充说明
如果字符串包含非ASCII字符(比如示例中的葡萄牙语字符),直接传递String能确保编码正确转换,避免出现乱码问题。
内容的提问来源于stack exchange,提问作者Jayme Jeffman
相关产品推荐
相关产品推荐

