VB中的剪切的代码我写的怎么结果不对,谁能帮忙看看?

来源:百度知道 编辑:UC知道 时间:2024/07/01 14:14:46
Private Sub Command3_Click() '剪切
Clipboard.Clear
Clipboard.SetText MSHFlexGrid1.Clip
MSHFlexGrid1.Clip = ""
End Sub
我是在MSHFlexGrid这个表格中剪切数据的
MSHFlexGrid1.Clip这个表示的是我在网格中选中部分的内容
当我只选中一个网格时,剪切就可以把这个网格的内容剪切掉
但是当我选中多个网格时,只能把第一个网格的内容剪切掉,其他网格的内容还在,谁能帮我看看是哪里的毛病?
就是当我选中多个网格的时候,MSHFlexGrid1.Clip = ""这句只把第一个网格的内容清掉了,其他选中的网格的内容还在的
谁帮我看看?

如果用CLIP这个属性会比较麻烦,CLIP虽然表示选中区域的内容,但设置的时候,需要将每行的单元格之间用vbTab分隔,行和行之间的数据用回车(vbCR 或 chr(13))分隔。使用起来比较麻烦。
可以使用Text属性和FillStyle属性来使用
代码如下:

Dim s As Long '填充方式

Clipboard.Clear
Clipboard.SetText MSHFlexGrid1.Clip

s = MSHFlexGrid1.FillStyle '记录填充方式
MSHFlexGrid1.FillStyle = flexFillRepeat '设置填充方式为全部,即所有选中的单元格同时设置内容
MSHFlexGrid1.Text = "" '清空内容
MSHFlexGrid1.FillStyle = s '还原填充方式