测试Office是否安装
使用场景
软件中在实现导出Office功能时,错误信息需要提示可以让用户看明白的语句(例如:“word打开失败”),而通常这些错误信息无法让开发人员看出问题所在。
同时,该功能也没有记录日志,或者日志没有记录清楚。
此时,总不好修改软件中的错误提示或者日志记录,再给用户更新一个只用来发现问题而不是解决问题的版本。
碰上这种情况,只好写一个小工具来测试下用户机器上的Office到底出了什么问题,当然要输出完整的错误信息及堆栈信息。
已实现功能
测试Office是否安装,获取Office的安装版本和安装路径
测试Excel是否安装,是否可以正常使用
测试Word是否安装,是否可以正常使用
测试Access是否安装,是否可以正常使用
碰到过的情况
用户没有安装Office,只有WPS
软件中的模版在用户电脑上会以受保护的方式打开,无法编辑
软件打开文档正常,写入数据时异常
提示“没有注册类”
提示“某个对象程序库 stdole32.tlb丢失或损坏”
Word辅助类
文本操作
InserText:插入文本 & 在指定书签处插入文本
Enter:回车
DeletePreChar:删除前面的字符
DeleteText:删除文本
ReplaceText:替换文本
ReadParagraph:读取指定段落的文本内容
表格操作
GetTableCount:获取表格数
InserTable:插入表格
SetTableOutsideLineStyle:设置表格的外边线型
SetTableOutsideLineWidth:设置表格的外边线宽
SetTableOutsideColor:设置表格的外边线颜色
SetTableInsideLineStyle:设置表格的内边线型
SetTableInsideLineWidth:设置表格的内边线宽
SetTableInsideColor:设置表格的内边线颜色
SetTableCellVerticalAlignment:设置表格中单元格的纵向排列位置
SetTableCellAlignment:设置表格中单元格的横向排列位置
SetTableParagraphFormatAlignment:设置表格的横向排列位置
MergeTableCell:合并单元格
SplitTableCell:拆分单元格
SelectTableCell:选择单元格
FillTableCell:填充单元格
DeleteTableValue:删除单元格内容
ReadTableText:读取单元格内容
SetColumnWidth:设置表格的列宽
SetRowHeight:设置表格的行高
SetRowsHeight:设置表格的行高
AddColumn:添加行
AddRow:添加列
光标移动
MoveEnd:移动到行尾
MoveHome:移动到行首
MoveUp:上移动指定的行数
MoveDown:下移指定的行数
MoveLeftChar:左移指定的字符数
MoveRightChar:右移指定的字符数
MoveBookmark:移动到指定书签位置
图片操作
InsertPicture:插入图片
SetImageSize:设置图片大小
ReplaceImage:替换文本为图片
ReadPicture:读取选中区域的图片
ExportPicture:导出指定图片
SetShapeWrapType:设置图片的四周环绕型
页眉
AddSimpleHeader:添加页眉
chart
AddSimpleChart:插入图表
保存
Save:保存
SaveAs:另存
Excel辅助类
保存
Save:保存
SaveAs:另存
SaveHtml:另存为html文件
表单
GetWorkSheetCount:获取工作表数目
SetCurrentWorkSheet:设置当前工作表
CreateSheet:创建sheet
SetWorkSheetName:重命名sheet名称
SetColumnWidth:设置列宽
SetRowHeight:设置行高
CopySheet:复制当前sheet到指定的位置
单元格
GetRowValues:获取指定行的值
GetCellValue:获取指定单元格的值
SetCellValue:向指定的单元格中填充值
SetCellColumnWidth:设置单元格的列宽
SetCellRowHeight:设置单元格的行高
SetColumnAutoWidth:设置单元格的列宽自动填充
GetCellRange:获取单元格范围
SetRangeValue:设置区域单元格的值,值用逗号分隔,被填充到一片区域中
SetBordersColor:设置边框颜色
SetBordersLineStyle:设置边界线型
SetHorizontalAlignment:设置垂直对齐方式
Merge:合并单元格
ClearContents:清除指定单元格的公式
Copy:拷贝指定单元格
Paste:从指定单元格开始粘贴
InsertRow:插入一行
InsertColumn:插入一列
DeleteRow:删除一行
DeleteColumn:删除一列
SetFormula:设置单元格的公式
AutoWrapText:自动换行
SetFontColor:设置单元格字体颜色
SetBackColor:设置单元格的背景色
SetNumberFormat:设置数值的显示样式
ClearFormat:清除样式
AddHyperLink:为单元格添加超级链接
InsertImage:在指定的单元格中插入图片
ReplaceText:替换文本
ReplaceImage:替换图片
打印设置
PrintPreview:打印预览
Print:打印输出
InsertRowPageBreak:在指定行前面插入分页符
InsertColumnPageBreak:在指定列前面插入分页符
DeleteColumnPageBreak:删除指定列前面的分页符
SetPrintPaperSize:设置纸张大小
SetPrintTitleRows:设置顶端标题行,例如"$1:$3"
SetPrintOrientation:设置页面方向
SetPrintMargin:设置页边距(单位厘米)
SetPrintHeaderMargin:设置页眉边距
SetPrintFooterMargin:设置页脚边距
SetPrintCenterHorizontally:设置页面水平居中
SetPrintCenterVertically:设置页面垂直居中
SetPrintCenterHeader:设置中间页眉内容
SetPrintCenterFooter:设置中间页脚内容(例如:"第&P页,共&N页")
SetPrintGridLines:打印网格线