gpt4 book ai didi

c++ - 使用Excel模板内的OleFunction“查找”查找 header 变量,然后从C++替换它们

转载 作者:太空宇宙 更新时间:2023-11-04 14:32:44 26 4
gpt4 key购买 nike

我的问题如下:

我打开一个Excel-File,但我不知道我的客户在模板文件中使用了哪些可能的标头变量。它们可以是:#DATE,#TIME,#NAME等。因此,我需要查找这些变量,以及是否已使用过:替换它们。

vCell = findCell("DATE");
tempStr = DateToStr(Date()) ; // Date
if (vCell.VType != VT_EMPTY )
vWorksheet.OlePropertyGet("Cells", vCell.OlePropertyGet("Address")).OlePropertySet("Value",StringToOleStr(tempStr));


findCell看起来像这样:

Variant __fastcall TClassExcel::findCell(AnsiString Cell,String Range){
// Range is set to A1:Z100 as default in the header file
vRange = vWorksheet.OlePropertyGet("Range",StringToOleStr(Range));
return vRange.OleFunction("Find", StringToOleStr("#"+Cell));
}


if (vCell.VType != VT_EMPTY)行不检测标题内是否没有这样的单元格。我也尝试了 vCell.Empty(),但没有成功。 Vtype = 9(如果我观看该值)。因此,我正在寻找VBA的相应“如果没有单元,那么”

此引用是MSDN库中对find方法的引用: MSDN Find Method,以确保不要尝试将某些变量写入不存在的Cell中。

最佳答案

您是否尝试过:if (vCell != "")(vCell.strVal != "")

在某些情况下,看似空的单元格返回一个空字符串,因此被检测为非空。

(PS。我没有从C ++到Excel OLE接口的经验,因此请使用返回其String值的vCell的任何成员变量/函数)

关于c++ - 使用Excel模板内的OleFunction“查找”查找 header 变量,然后从C++替换它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11129497/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com