vb6.0编程用到flexcell控件,怎么将单元格合并,或者分开。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb6.0编程用到flexcell控件,怎么将单元格合并,或者分开。相关的知识,希望对你有一定的参考价值。
要求合并两个单元格或者把一个分开成两个单元格。
参考技术A uses ComOBj;var
workbook,sheet,excelObj,excel: OleVariant;
begin
excelObj := CreateOleObject('excel.sheet');
excel := excelObj.Application;
workbook := excel.workbooks.open(filePath);//打开某个文件
sheet := workbook.sheets[1];
Excel.ActiveWindow.WindowState := -4137;
Sheet.Range['A1', 'C3'].Select;//选择范围
Excel.Selection.HorizontalAlignment := xlCenter;//水平和垂直居中
Excel.Selection.VerticalAlignment := xlCenter;
Excel.Selection.MergeCells := True;//合并单元格
excel.visible := true;
end;
private void MergeRow2(Grid grid, string colNum, int startRow)
string oldStr = string.Empty;
int mergeStartRow = -1;
string[] cols = colNum.Split('|');
string oldNum = string.Empty;
int rowMak = startRow;
for (int i = 0; i < cols.Length; i++)
int col = int.Parse(cols[i]);
startRow = rowMak;
if (col != 1)
for (int row = startRow; row < grid.Rows; row++)
string newNum = grid.Cell(startRow, 1).Text.Trim();
string newStr = grid.Cell(startRow, col).Text.Trim();
if (oldStr == "")
oldStr = newStr;
oldNum = newNum;
startRow += 1;
else
if (newNum == oldNum && oldStr == newStr)
grid.Range(startRow, col, startRow - 1, col).Merge();
oldStr = newStr;
oldNum = newNum;
startRow += 1;
else
for (int j = 0; j < cols.Length; j++)
for (int row = 1; row < grid.Rows; row++)
string newStr = grid.Cell(row, col).Text.Trim();
if (oldStr != newStr)
// 先合并
if ((mergeStartRow > -1) && (row - 1 > mergeStartRow))
grid.Range(mergeStartRow, col, row - 1, col).Merge();
// 后赋值
oldStr = newStr;
mergeStartRow = row;
追问
什么意思啊?那么多?你这个是vba吧!!!
参考技术B 已私信发送,采纳吧~本回答被提问者采纳Panel控件的使用
我们对控件进行分组的原因不外乎三个:
1、为了获得清晰的用户界面而将相关的窗体元素进行可视化分组。
2、编程分组,如对单选按钮进行分组。
3、为了在设计时将多个控件作为一个单元来移动。
在vb.net中,有GroupBox、Panel、TabControl这三个控件可以实现上面所提到的三个分组目的,所以我们称它们为分组控件。
前面我们了解了GroupBox(控件组)控件(vb.net入门——分组控件:GroupBox控件的使用)的使用,这里我们将来看看下怎么使用Panel(也称面板)控件。实际上,Panel很类似于GroupBox,其区别是:只有GroupBox控件可以显示标题,而只有Panel控件可以有滚动条。
Panel控件在工具箱中的图标如图所示:。
一、Panel控件的常用属性
1、Anchor和Dock:这两个属性是所有有用户界面的控件都有的定位属性。
2、Name属性:标识控件的对象名称
3、BorderStyle属性:指示Panel控件的边框样式,共有三个枚举值:
BorderStyle.None(默认)—无边框。
BorderStyle.Fixed3D—三维边框
BorderStyle.FixedSingle—单行边框
此外还可以通过BackColor、BackgroundImage属性来改变Panel控件的外观。
4、Font和ForeColor属性,用于改变Panel控件内部文字的大小与文字的颜色,需要注意的时候,这里改变的是其内部控件的显示的Text属性的文字外观。
5、AutoScroll属性:该属性指示当控件超出Panel显示的区域时,是否自动出现滚动条,默认为False。
二、创建一组控件
1、在窗体上放置Panel控件。从工具箱中拖放一个Panel控件到窗体上的合适位置,调整大小。
2、因为Panel控件没有Text属性来标记自己,所以我们一般可以在它的上面添加一个Label控件来标记它。
3、在Panel控件内拖放其它需要的控件,例如RadioButton控件。
4、设置Panel控件的外观属性。
4、设置示例
在窗体上设置两个Panel控件,分别用2个Label控件来标记它们,每个Panel控件中放置所需的RadioButton控件。如图一所示:
注意:两个Panel控件的AutoScroll属性都设置为True了。
5、我们在拖动单个Panel控件的时候,它内部的控件也会随着移动,以保持和Panel的相对位置不变。同理,删除Panel控件时,它所包含的所有控件也会被删除掉。
6、当我们调整Panel控件所包含的控件的Anchor和Dock属性的时候,其参照物将不是Form窗体,而是Panel控件了。
7、当AutoScroll 属性为 True 的时候,在设计界面中我们也可以拉动出现的滚动条。
三、编程添加Panel控件以及它所包含的控件
动态添加控件一般需要经过下面三个步骤:
1、创建要添加的控件实例
2、设置新控件的属性。
3、将控件添加到父控件的 Controls 集合
以上是关于vb6.0编程用到flexcell控件,怎么将单元格合并,或者分开。的主要内容,如果未能解决你的问题,请参考以下文章
用VB6.0打开自定义控件 的时候 总是出现 自定义控件.vbp 包含 无效的 'Type'键值