Delphi 5 中Server页有n个Excel组件,查一下帮助文件(包括MS Excel帮助中关于Excel对象的帮助文件)。
解决方案 »
- 如何利用PDF.OCX控件在PDF文件中查找指定的字符?
- 请教各位老师一个线程问题:Synchronize(Method:TThreadMethod)中的Method不能带参数吗?
- 有一个字符串s='?'#1#1#1#2,我想取出其中的数字,该怎么做?
- 请教高手,如何在启动时改变WIN2000的计算机名?(详细如下)
- 谁用过Decisionquery组件?
- 何处有For D6中RAVE正式报表控件?
- Double,real型的,要保留2位小数,有没直接的函数或简单点的方法
- 写excel文件的问题
- 急急(远水救近火)求得利用DLL数据传送的资料(一定给分),我已经等很久了。
- 要自己开发一个在局域网中使用的类似QQ的(但无服务器)聊天工具,请大家帮忙
- 如何在delphi中使用script control?
- 生产流程管理的数据库设计
Range 对象
代表某一单元格、某一行、某一列、某一选定区域(该选定区域可包含一个或若干连续单元格区域)或者某一三维区域。Range 对象用法本部分将说明下列返回 Range 对象的属性和方法: Range 属性
Cells 属性
Range 和 Cells
Offset 属性
Union 方法
Range 属性可用 Range(arg) (其中 arg 为区域名称)返回代表单个单元格或单元格区域的 Range 对象。下例将单元格 A1 中的值赋给单元格 A5。Worksheets("Sheet1").Range("A5").Value = _
Worksheets("Sheet1").Range("A1").Value
下例设置单元格区域“A1:H8”中每个单元格的公式,用随机数填充该区域。在没有对象识别符(句点左边的对象)的情况下使用 Range 属性,将返回活动表上的一个区域。如果活动表不是工作表,该方法将失败。在没有明确的对象识别符的情况下,使用 Range 属性之前,可用 Activate 方法来激活工作表。Worksheets("sheet1").Activate
Range("A1:H8").Formula = "=rand()" 'Range is on the active sheet
下例清除区域“Criteria”中的内容。Worksheets(1).Range("criteria").ClearContents
如果用文本参数指定区域地址,必须以 A1-样式符号指定该地址(不能用 R1C1-样式符号)。Cells 属性可用 Cells(row, column) (其中 row 为行号, column 为列号)返回单个单元格。下例将单元格“A1”赋值为 24。Worksheets(1).Cells(1, 1).Value = 24
下例设置单元格 A2 的公式。ActiveSheet.Cells(2, 1).Formula = "=sum(B1:B5)"
虽然也可用 Range("A1") 返回单元格 A1,但有时用 Cells 属性更为方便,因为使用该属性时,可用变量指定行和列。下例在工作表“Sheet1”上创建行号和列标。注意,当工作表激活以后,使用 Cells 属性时不必显式指定工作表(它将返回活动工作表上的单元格)。Sub SetUpTable()
Worksheets("sheet1").Activate
For theYear = 1 To 5
Cells(1, theYear + 1).Value = 1990 + theYear
Next theYear
For theQuarter = 1 To 4
Cells(theQuarter + 1, 1).Value = "Q" & theQuarter
Next theQuarter
End Sub
虽然可用 Visual Basic 字符串函数转换 A1-样式引用,但使用 Cells(1, 1) 记号更为简便(而且也是更好的编程习惯)。可用 expression.Cells(row, column) 返回区域中的一部分,其中 expression 是返回 Range 对象的表达式, row 和 column 为相对于该区域的左上角偏移量。下例设置单元格 C5 中的公式。Worksheets(1).Range("C5:C10").Cells(1, 1).Formula = "=rand()"
Range 和 Cells可用 Range(cell1, cell2) 返回 Range 对象,其中 cell1 和 cell2 为指定起始和终止位置的 Range 对象。下例设置单元格区域“A1:J10”的边框线条样式。With Worksheets(1)
.Range(.Cells(1, 1), _
.Cells(10, 10)).Borders.LineStyle = xlThick
End With
注意每个 Cells 属性之前的句点。如果前导的 With 语句应用于该 Cells 属性,那么这些句点就是必需的。本例中,句点指明单元格处于第一张工作表上。如果没有句点,Cells 属性将返回活动工作表上的单元格。Offset 属性可用 Offset(row, column) (其中 row 和 column 为行偏移量和列偏移量)返回相对于另一区域在指定偏移量处的区域。下例选定位于当前选定区域左上角单元格的下三行且右一列处的单元格。由于不能选定不在活动工作表上的单元格,故必须首先激活工作表。Worksheets("sheet1").Activate
'can't select unless the sheet is active
Selection.Offset(3, 1).Range("A1").Select
Union 方法可用 Union(range1, range2, ...) 返回多块的区域,即该区域由两个或多个连续的单元格块所组成。下例创建由单元格区域“A1:B2”和“C3:D4”组成的多块区域对象,然后选定该区域。Dim r1 As Range, r2 As Range, myMultiAreaRange As Range
Worksheets("sheet1").Activate
Set r1 = Range("A1:B2")
Set r2 = Range("C3:D4")
Set myMultiAreaRange = Union(r1, r2)
myMultiAreaRange.Select
使用包含若干区域块的选定区域时,Areas 属性很有用。它将一个多区域选定区分割为单个的 Range 对象,然后将这些对象作为一个集合返回。使用返回集合的 Count 属性可检测一个选定区是否包含多个区域,如下例所示。Sub NoMultiAreaSelection()
numberOfSelectedAreas = Selection.Areas.Count
If numberOfSelectedAreas > 1 Then
MsgBox "You cannot carry out this command " & _
"on multi-area selections"
End If
End Sub