Delphi RIO-我有一个用Delphi编写的Excel插件。我想编写一个例程,将具有多行内容的单元格转换为单行内容,基本上将换行符替换为空格字符。我通过将'ALT 0010'替换为空格字符来实现。通过这个,我的意思是我按住ALT键,然后在数字键盘上按0010。这会做我想要的。我现在需要对该功能进行编程。我似乎找不到代表ALT 0010的正确方法。如果要替换“!”在整个电子表格中留有空格,我可以使用以下代码来实现。
var
WholeSheet: ExcelRange;
begin
...
WholeSheet := myActiveSheet.Cells;
WholeSheet.Replace('!', ' ', xlPart, xlByRows, False, False);
当我尝试通过捕获Excel宏查看此内容时,我真的很困惑...
Cells.Select
Selection.Replace What:="" & Chr(10) & "", Replacement:=" ", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
我如何表示ALT 0010并将其替换为'!'
答案 0 :(得分:4)
将换行符编码为ANSI / UTF-8中的单字节字符,其值为0x0A(十进制为10)。
Delphi允许您将control strings用作:
WholeSheet.Replace(#10, ' ', xlPart, xlByRows, False, False);
控制字符串由井号#
给出,后跟表示字节的0-255(Unicode德尔福之前)或0-65535(Unicode Delphi)之间的十进制数字。字符的最大(或两个字节)值。
或者,您也可以使用Chr
函数:
WholeSheet.Replace(Chr(10), ' ', xlPart, xlByRows, False, False);
.Replace
中的第一个参数是OLEVariant,它可以隐式接受字符文字。