标题:学写简单的电子表格控件
只看楼主
vbcaonia
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2016-5-4
结帖率:100%
已结贴  问题点数:20 回复次数:4 
学写简单的电子表格控件
学写简单的电子表格控件


想用vb6.0学写个简简单单的电子表格控件,没有找到相关的资料,请问应该怎样下手(给过思路),谢谢!

要求是:

1、不绑定数据库,网格如excel的一个表格。
2、单元格表示为:cell(行,列)=值(赋值)
3、表格能导入、导出数据。
4、表格能按列清空。
5、表格能设置行、列数。


[此贴子已经被作者于2023-4-29 20:51编辑过]

搜索更多相关主题的帖子: 电子表格 表格 控件 cell 赋值 
2023-04-29 17:13
独木星空
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:河北省曲阳县
等 级:版主
威 望:57
帖 子:713
专家分:556
注 册:2016-6-29
得分:0 
每一位新手都能提出一个比较棘手的问题。
我自称对Excel掌握的够熟练,也没有办法把它转化成vb6.0语言,惭愧啊!

素数问题的解决是我学习编程永恒的动力。
2023-04-29 23:22
yuma
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:银河系
等 级:贵宾
威 望:33
帖 子:1883
专家分:2904
注 册:2009-12-22
得分:20 
ChatGPT 3.0回答了你的问题,如下:

学写简单的电子表格控件
学写简单的电子表格控件


想用vb6.0学写个简简单单的电子表格控件,没有找到相关的资料,请问应该怎样下手(给过思路),谢谢!

要求是:

1、不绑定数据库,网格如excel的一个表格。
2、单元格表示为:cell(行,列)=值(赋值)
3、表格能导入、导出数据。
4、表格能按列清空。
5、表格能设置行、列数。

为了用VB6.0创建一个简单的电子表格控件,你可以遵循以下步骤:

1. 首先,打开VB6.0并创建一个新的“ActiveX 控件”项目。

2. 在项目中,添加一个新的UserControl。这将作为你的电子表格控件的基础。

3. 在UserControl的设计视图中,添加一个MSFlexGrid控件。这是一个可用于创建表格的内置控件。将其大小调整为填充整个UserControl。

4. 现在,你需要添加一些属性和方法来实现你的需求。首先,添加以下属性:

- RowCount(行数)
- ColCount(列数)
- CellValue(行,列)(单元格值)

为了实现这些属性,你需要在UserControl的代码视图中添加以下代码:

```vb
Public Property Get RowCount() As Integer
RowCount = MSFlexGrid1.Rows
End Property

Public Property Let RowCount(ByVal NewValue As Integer)
MSFlexGrid1.Rows = NewValue
End Property

Public Property Get ColCount() As Integer
ColCount = MSFlexGrid1.Cols
End Property

Public Property Let ColCount(ByVal NewValue As Integer)
MSFlexGrid1.Cols = NewValue
End Property

Public Property Get CellValue(ByVal Row As Integer, ByVal Col As Integer) As Variant
CellValue = MSFlexGrid1.TextMatrix(Row, Col)
End Property

Public Property Let CellValue(ByVal Row As Integer, ByVal Col As Integer, ByVal NewValue As Variant)
MSFlexGrid1.TextMatrix(Row, Col) = NewValue
End Property
```

5. 接下来,添加以下方法以实现其他功能:

- ClearColumn(列):清空指定列的所有单元格
- ImportData(数据):从字符串或其他数据源导入数据到表格
- ExportData():将表格数据导出为字符串或其他格式

在UserControl的代码视图中添加以下代码:

```vb
Public Sub ClearColumn(ByVal Col As Integer)
Dim i As Integer
For i = 0 To MSFlexGrid1.Rows - 1
MSFlexGrid1.TextMatrix(i, Col) = ""
Next i
End Sub

Public Sub ImportData(ByVal Data As String)
' 这里需要实现从数据源导入数据的逻辑,例如从逗号分隔的字符串或其他格式导入数据
' 你可以根据需要自定义这个方法的参数和实现
End Sub

Public Function ExportData() As String
Dim i As Integer, j As Integer
Dim Result As String
For i = 0 To MSFlexGrid1.Rows - 1
For j = 0 To MSFlexGrid1.Cols - 1
Result = Result & MSFlexGrid1.TextMatrix(i, j) & ","
Next j
Result = Left(Result, Len(Result) - 1) & vbCrLf
Next i
ExportData = Result
End Function
```

6. 现在你的电子表格控件已经完成了基本功能。你可以在其他VB6.0项目中使用这个控件,或者继续添加更多功能以满足你的需求。
收到的鲜花
  • vbcaonia2023-04-30 22:28 送鲜花  8朵  

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2023-04-30 17:51
vbcaonia
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2016-5-4
得分:0 
回复 3楼 yuma
谢谢老师指点!
2023-04-30 22:28
vbcaonia
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2016-5-4
得分:0 
回复 3楼 yuma
老师你好,按照这代码,在form1中,将数据5赋值到2行2列单元格应该怎样表示呀,谢谢!
2023-05-02 21:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-512078-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.053185 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved