在窗口显示数据时,经常会用到ListView这个控件,虽然也可以使用ListBox,但其功能还是比较弱一些,ListView相对用起来更顺手一些。下面的两个函数是给控件添加表头和数据的函数,贴出来供大家参考。
函数代码给ListView添加数据,数据可以为数组或单行数据(逗号分隔)
Public Sub AddListViewData(ListViewName As Object, DateArr, Optional Header As Integer = 0, Optional AddData As Boolean = False)
'添加ListView数据,正常为数组,支持单行数据添加(逗号分隔)
'第一行数据为标题行时,Header应为1
'默认为替换数据,如果需要在原有数据基础上添加时,AddData应为True
Dim i As Integer, j As Integer
Dim DateCol() As String
Dim Itm As Object
Dim PartKey As String
If Not AddData Then ListViewName.ListItems.Clear
If IsArray(DateArr) Then
For i = LBound(DateArr) + Header To UBound(DateArr)
Set Itm = ListViewName.ListItems.Add()
Itm.Text = DateArr(i, LBound(DateArr, 2))
For j = LBound(DateArr, 2) + LBound(DateArr) To UBound(DateArr, 2)
Itm.SubItems(j - LBound(DateArr)) = DateArr(i, j)
Next
Next
Else
If IsEmpty(DateArr) Or DateArr = "没有记录" Then Exit Sub
DateCol = Split(DateArr, ",")
Set Itm = ListViewName.ListItems.Add()
Itm.Text = DateCol(LBound(DateCol))
For i = LBound(DateCol) + LBound(DateArr) To UBound(DateCol)
Itm.SubItems(i - LBound(DateArr)) = DateCol(i)
Next
End If
End Sub
给ListView添加表头,支持直接给定宽度和额外增加的宽度
Public Sub AddListViewHead(ListViewName As Object, ColHeader, Optional ColWidth As String, Optional AddWidth As Integer = 5, Optional DefultWidth As String = "Auto")
Dim SpHeader() As String
Dim SpWidth() As String
Dim SpAlign() As String
Dim CW As Integer
Dim CA As Integer
Dim i As Integer
ListViewName.ColumnHeaders.Clear
ListViewName.ListItems.Clear
SpWidth = Split(ColWidth, ",")
If UBound(SpWidth) = 0 Then CW = Val(ColWidth)
With ListViewName
If IsArray(ColHeader) Then
For i = LBound(ColHeader, 2) To UBound(ColHeader, 2)
If i <= UBound(SpWidth) Then CW = Val(SpWidth(i)) Else CW = IIf(DefultWidth = "Auto", 0, CW)
If CW >= 0 And CW <Len(StrConv(ColHeader(0, i), vbFromUnicode)) * 15 + AddWidth Then CW = Len(StrConv(ColHeader(0, i), vbFromUnicode)) * 15 + AddWidth
If CW <0 Then CW = 0
.ColumnHeaders.Add , , ColHeader(0, i), CW
Next
Else
If ColHeader = " *** 作不成功" Then Exit Sub
SpHeader = Split(ColHeader, ",")
For i = LBound(SpHeader) To UBound(SpHeader)
If i <= UBound(SpWidth) Then CW = Val(SpWidth(i)) Else CW = IIf(DefultWidth = "Auto", 0, CW)
If CW >= 0 And CW <LenB(StrConv(SpHeader(i), vbFromUnicode)) * 7.5 + AddWidth Then CW = LenB(StrConv(SpHeader(i), vbFromUnicode)) * 7.5 + AddWidth
If CW <0 Then CW = 0
.ColumnHeaders.Add , , SpHeader(i), CW
Next
End If
.View = lvwReport
.FullRowSelect = True
.Gridlines = True
End With
End Sub
调用例子
Sub FormLoad()
AddListViewHead 列表, Range("A1:D1").Value
tmp = SumArrRow(Range("a1:c4").Value, "1,3", True)
AddListViewData 列表, tmp
End Sub
您可以使用如组合框或一列表框的控件在用户窗体上的 。 在 Microsoft Excel 中,您可以使用这些控件在工作表中。 在填充该控件的方法很相似。 在本文中的示例使用用户窗体上的控件。方法 1: 如何链接到一个 Excel 工作表上的单元格的组合框或列表框创建一个新的工作簿在 Excel 中。 在 Sheet1 中,键入以下内容:
A1: One B1: RedA2: Two B2: GreenA3: Three B3: YellowA4: Four B4: Blue
请按 ALT + F11 启动 Microsoft Excel Visual 基本编辑器。
上该插入单击菜单,用户窗体
创建一个组合框控件和列表框控件上的用户窗体。
如果看不到属性窗口中单击属性窗口上该视图菜单
单击该组合框并滚动到行来源中将属性窗口
窗口分为两部分。 左部分中包含该控件的属性的名称。 右部分中包含属性的值。 单击行来源和类型的右部"sheet1! a1:a4"(不带引号)
单击该列表框并滚动到行来源属性窗口中。 单击行来源和类型的右部"sheet1! b1:b4"(不带引号)
注: 如果省略了表引用从工作表处于活动状态时运行用户窗体中的单元格数据填充组合框和列表框控件。 若要确保始终使用同一工作表中的数据进行填充用户窗体,包括表引用的示例所示。 若要填充用户窗体是活动工作表中的数据,不包括在行来源中的表引用。 当执行此 *** 作时该宏使用活动工作表中的数据填充用户窗体。
1. 在模板上,插入新条形码、文本或图片对象,此对象的值由用户在打印时决定。(注:对于图片对象,用户需要输入图像文件的路径和文件名。)2. 双击对象,以打开“对象属性”对话框。
3. 从导航窗格中选择所需的数据源,以查看“数据源”属性页,选择“转换”选项卡。
4. 在“数据输入控件”右边,点击图标以打开“数据输入控件”对话框。
5. 在“数据输入控件”下,选择“创建”以打开“创建数据输入控件”对话框。选择所需的数据输入控件类型。数据输入控件定义在打印时显示在数据输入表单上的对象类型,例如文本框、复选框或下拉列表。单击“创建”按钮,以关闭对话框并创建所选控件。
6. 在“数据输入控件”对话框中单击“属性”按钮,自定义控件。
7. 如果您选择了文本输入控件、单选按钮列表控件、列表框控件或下拉列表控件,请在“标签”文本框中输入用户输入的说明。此文本将以标签形式出现在所选数据输入控件的前面。
8. 从“频率”下拉列表中,选择您希望数据输入表单在打印作业执行期间显示的频率。
9. 单击“关闭”按钮,以启用所选对象的数据输入功能。
10. 在“数据源”属性页的“数据源”选项卡上,根据需要修改“默认响应”。
11. 单击“关闭”以应用您的更改。
通过数据输入表单创建控件
1. 在“数据输入表单”视图模式下,选择工具箱的“控件”窗格中要在数据输入表单上显示的所需数据输入控件,并拖动它到数据输入表单。
2. 双击控件,以打开“控件属性”对话框。
3. 从可用的属性页列表中,选择“链接数据源”。
4. 从“链接数据源”属性页的数据源列表中,选择要链接到所选控件的数据源。如果您于打印时在数据输入控件中输入值,将以用户输入替换此数据源。
5. 单击“确定”按钮,以关闭“控件属性”对话框。
您可以点击Bartender数据输入控件简介以了解更多关于数据输入控件的信息。若想要了解BarTender条码打印软件的其他详细信息,可点击BarTender教程服务中心查找你想要的内容。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)