pb通过ole调用word时出错求助

2026年09月18日 13:16
有1个网友回答
网友(1):

1、创建连接到excel应用的ole对象
OleObject ole_excel
ole_excel = create OleObject
If ole_excel.ConnectToNewObject("Excel.Application") > 0 Then
MessageBox('连接到Excel错误','请确认是否已经安装了Excel!',Exclamation!)
Destroy old_excel
Return
End If
2、打开指定的excle文件
ole_excel.Application.Workbooks.Open("excel文件")
3、操作excel单元格
excel单元格有一系列的操作,它们的使用格式一般如下:
ole对象.ActiveWorkBook.Sheets("工作表名").操作对象.动作或属性
读取或赋值工作表1中单元格的格式:
ole_excel.ActiveWorkBook.Sheets("工作表1").cells[1,1].value
合并工作表1中的第ll_rows_buget行的A列到I列的单元格:
ole_excel.ActiveWorkBook.Sheets("工作表1").Range("A"+string(ll_rows_buget)+":I"+string(ll_rows_buget)).Merge,还有如下一些与合并单元格相类似的动作或属性
.HorizontalAlignment = xlGeneral //单元格的横向对齐方式
.VerticalAlignment = xlBottom //单元格的纵向对齐方式(1、2左,3居中,4右)
.WrapText = True //自动换行
.Orientation = 0
AddIndent = False
ShrinkToFit = False
.MergeCells = False
设置工作表1中的第ll_rows_buget行的A列到I列的单元格四周为实现边框
ole_excel.ActiveWorkBook.Sheets("工作表1").Range("A"+string(ll_rows_buget)+":I"+string(ll_rows_buget)).Borders(1).LineStyle=1
ole_excel.ActiveWorkBook.Sheets("工作表1").Range("A"+string(ll_rows_buget)+":I"+string(ll_rows_buget)).Borders(2).LineStyle=1
ole_excel.ActiveWorkBook.Sheets("工作表1").Range("A"+string(ll_rows_buget)+":I"+string(ll_rows_buget)).Borders(3).LineStyle=1
ole_excel.ActiveWorkBook.Sheets("工作表1").Range("A"+string(ll_rows_buget)+":I"+string(ll_rows_buget)).Borders(4).LineStyle=1
第ll_rows_buget行从A到I单元格的背景色和字体颜色设置如下:
ole_excel.ActiveWorkBook.Sheets("工作表1").Range("A"+string(ll_rows_buget)+":I"+string(ll_rows_buget)).Interior.ColorIndex = 48 //背景色为棕黑色
ole_excel.ActiveWorkBook.Sheets("工作表1").Range("A"+string(ll_rows_buget)+":I"+string(ll_rows_buget)).Font.ColorIndex = 3 //字体颜色为红色
有一点需要注意的是单元格的背景色和字体颜色的属性ColorIndex不能超过56,否则程序崩溃,自动退出。ColorIndex = 0 为白色,ColorIndex = 56 则接近黑色,其他颜色请自行摸索。
4、保存excel文件,退出excel,并销毁ole对象
ole_excel.ActiveWorkBook.save()
ole_excel.Application.Quit()
Destroy ole_excel //注销对象