Delphi 和 Excel - 使用自动填充
Delphi and Excel - Using Autofill
在 Delphi 10 / 西雅图,Excel 2013 年...我正在努力:
- 添加一个列(AJ 列),并设置其 header 文本(代码有效)
- 将第 2 行列的值设置为自动求和(代码有效)
- 将第 2 行的计算复制到所有剩余行。 (不起作用)
在 'Copy the Calculation' 步骤中,我使用了自动填充方法。我收到错误 'Autofill Method of Range Class Failed.' 但我不知道为什么...(请注意变量 aws 全局设置为活动工作表。)
const
TOTAL_TOUCHES = 'AJ';
...
var
ColumnHeader : OleVariant;
SecondRow : OleVariant;
ColRange : OleVariant;
myAddr, myAddr2 : String;
LastCell : string;
begin
// This routine adds the header 'Total Touches' and then puts an AutoSum in that column for all rows
// Set the header
myAddr := TOTAL_TOUCHES + '1';
ColumnHeader := aws.Range[ myAddr, myAddr];
ColumnHeader.FormulaR1C1 := 'Total Touches';
// Put the first occurance of the Autosum in Row 2
myAddr := TOTAL_TOUCHES + '2';
SecondRow := aws.Range[ myAddr, myAddr];
SecondRow.FormulaR1C1 := '=SUM(RC[-6]:RC[-1])';
SecondRow.Autofill(aws.range['AJ3:AJ50', EmptyParam], xlFillCopy);
一旦生效,我会将其设置为复制到行中的所有列(与 AJ3:AJ50 相反,但这是 baby-step...
我做错了什么?
The documentation 表示 AutoFill
的目标参数,这是第一个参数,"must include the source range." 在您的情况下,源范围是 AJ2,但 AJ3:AJ50 不是不包括该单元格。
在 Delphi 10 / 西雅图,Excel 2013 年...我正在努力:
- 添加一个列(AJ 列),并设置其 header 文本(代码有效)
- 将第 2 行列的值设置为自动求和(代码有效)
- 将第 2 行的计算复制到所有剩余行。 (不起作用)
在 'Copy the Calculation' 步骤中,我使用了自动填充方法。我收到错误 'Autofill Method of Range Class Failed.' 但我不知道为什么...(请注意变量 aws 全局设置为活动工作表。)
const
TOTAL_TOUCHES = 'AJ';
...
var
ColumnHeader : OleVariant;
SecondRow : OleVariant;
ColRange : OleVariant;
myAddr, myAddr2 : String;
LastCell : string;
begin
// This routine adds the header 'Total Touches' and then puts an AutoSum in that column for all rows
// Set the header
myAddr := TOTAL_TOUCHES + '1';
ColumnHeader := aws.Range[ myAddr, myAddr];
ColumnHeader.FormulaR1C1 := 'Total Touches';
// Put the first occurance of the Autosum in Row 2
myAddr := TOTAL_TOUCHES + '2';
SecondRow := aws.Range[ myAddr, myAddr];
SecondRow.FormulaR1C1 := '=SUM(RC[-6]:RC[-1])';
SecondRow.Autofill(aws.range['AJ3:AJ50', EmptyParam], xlFillCopy);
一旦生效,我会将其设置为复制到行中的所有列(与 AJ3:AJ50 相反,但这是 baby-step...
我做错了什么?
The documentation 表示 AutoFill
的目标参数,这是第一个参数,"must include the source range." 在您的情况下,源范围是 AJ2,但 AJ3:AJ50 不是不包括该单元格。