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'键值

如何引用VB6.0编 用户自定义控件

想用VB6.0做一个小程序,里面就一张图片,打开10秒后自动关闭.求详细制作方法,还有所需要的控件,属性设置

VB6.0控件toolbar相关

如何在VB6.0里为按钮控件添加自定义属性?

C# 弹性体。更改背景单元格的颜色。 Excel