Excel.Application手册

本文详述了如何使用Excel.Application对象进行各种操作,包括工作簿、工作表、单元格的管理,以及错误处理、屏幕更新、窗口布局、数据验证等。通过实例展示了如何创建、激活、保存和关闭工作簿,编辑工作表,处理单元格内容,以及应用格式、图表、超链接、事件和对象。还涵盖了宏中常见的错误处理和工作流控制,是VBA开发者必备的Excel.Application对象使用手册。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为QTP框架需要使用Excel.Application对象,保存一份相关函数说明

 

定制模块行为
(1) Option Explicit '强制对模块内所有变量进行声明
    Option Private Module '标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示
    Option Compare Text '字符串不区分大小写
    Option Base 1 '指定数组的第一个下标为1
(2) On Error Resume Next '忽略错误继续执行VBA代码,避免出现错误消息
(3) On Error GoTo ErrorHandler '当错误发生时跳转到过程中的某个位置
(4) On Error GoTo 0 '恢复正常的错误提示
(5) Application.DisplayAlerts=False '在程序执行过程中使出现的警告框不显示
(6) Application.ScreenUpdating=False '关闭屏幕刷新
    Application.ScreenUpdating=True '打开屏幕刷新
(7) Application.Enable.CancelKey=xlDisabled '禁用Ctrl+Break中止宏运行的功能
工作簿
(8) Workbooks.Add() '创建一个新的工作簿
(9) Workbooks(“book1.xls”).Activate '激活名为book1的工作簿
(10) ThisWorkbook.Save '保存工作簿
(11) ThisWorkbook.close '关闭当前工作簿
(12) ActiveWorkbook.Sheets.Count '获取活动工作薄中工作表数
(13) ActiveWorkbook.name '返回活动工作薄的名称
(14) ThisWorkbook.Name ‘返回当前工作簿名称
     ThisWorkbook.FullName ‘返回当前工作簿路径和名称
(15) ActiveWindow.EnableResize=False ‘禁止调整活动工作簿的大小
(16) Application.Window.Arrange xlArrangeStyleTiled ‘将工作簿以平铺方式排列
(17) ActiveWorkbook.WindowState=xlMaximized ‘将当前工作簿最大化
工作表
(18) ActiveSheet.UsedRange.Rows.Count ‘当前工作表中已使用的行数
(19) Rows.Count ‘获取工作表的行数(注:考虑向前兼容性)
(20) Sheets(Sheet1).Name= “Sum” '将Sheet1命名为Sum
(21) ThisWorkbook.Sheets.Add Before:=Worksheets(1) '添加一个新工作表在第一工作表前
(22) ActiveSheet.Move After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count) '将当前工作表移至工作表的最后
(23) Worksheets(Array(“sheet1”,”sheet2”)).Select '同时选择工作表1和工作表2
(24) Sheets(“sheet1”).Delete或 Sheets(1).Delete '删除工作表1
(25) ActiveWorkbook.Sheets(i).Name '获取工作表i的名称
(26) ActiveWindow.DisplayGridlines=Not ActiveWindow.DisplayGridlines '切换工作表中的网格线显示,这种方法也可以用在其它方面进行相互切换,即相当于开关按钮
(27) ActiveWindow.DisplayHeadings=Not ActiveWindow.DisplayHeadings ‘切换工作表中的行列边框显示
(28) ActiveSheet.UsedRange.FormatConditions.Delete ‘删除当前工作表中所有的条件格式
(29) Cells.Hyperlinks.Delete ‘取消当前工作表所有超链接
(30) ActiveSheet.PageSetup.Orientation=xlLandscape或ActiveSheet.PageSetup.Orientation=2 '将页面设置更改为横向
(31) ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName ‘在页面设置的表尾中输入文件路径
     ActiveSheet.PageSetup.LeftFooter=Application.UserName ‘将用户名放置在活动工作表的页脚
单元格/单元格区域
(32) ActiveCell.CurrentRegion.Select 或Range(ActiveCell.End(xlUp),ActiveCell.End(xlDown)).Select '选择当前活动单元格所包含的范围,上下左右无空行
(33) Cells.Select ‘选定当前工作表的所有单元格
(34) Range(“A1”).ClearContents '清除活动工作表上单元格A1中的内容
     Selection.ClearContents '清除选定区域内容
     Range(“A1:D4”).Clear '彻底清除A1至D4单元格区域的内容,包括格式
(35) Cells.Clear '清除工作表中所有单元格的内容
(36) ActiveCell.Offset(1,0).Select '活动单元格下移一行,同理,可下移一列
(37) Range(“A1”).Offset(ColumnOffset:=1)或Range(“A1”).Offset(,1) ‘偏移一列
     Range(“A1”).Offset(Rowoffset:=-1)或Range(“A1”).Offset(-1) ‘向上偏移一行
(38) Range(“A1”).Copy Range(“B1”) '复制单元格A1,粘贴到单元格B1中
     Range(“A1:D8”).Copy Range(“F1”) '将单元格区域复制到单元格F1开始的区域中
     Range(“A1:D8”).Cut Range(“F1”) '剪切单元格区域A1至D8,复制到单元格F1开始的区域中
     Range(“A1”).CurrentRegion.Copy Sheets(“Sheet2”).Range(“A1”) '复制包含A1的单元格区域到工作表2中以A1起始的单元格区域中
     注:CurrentRegion属性等价于定位命令,由一个矩形单元格块组成,周围是一个或多个空行或列
(39) ActiveWindow.RangeSelection.Value=XX '将值XX输入到所选单元格区域中
(40) ActiveWindow.RangeSelection.Count '活动窗口中选择的单元格数
(41) Selection.Count '当前选中区域的单元格数
(42) GetAddress=Replace(Hyperlinkcell.Hyperlinks(1).Address,mailto:,””) ‘返回单元格中超级链接的地址并赋值
(43) TextColor=Range(“A1”).Font.ColorIndex ‘检查单元格A1的文本颜色并返回颜色索引
     Range(“A1”).Interior.ColorIndex ‘获取单元格A1背景色
(44) cells.count ‘返回当前工作表的单元格数
(45) Selection.Range(“E4”).Select ‘激活当前活动单元格下方3行,向右4列的单元格
(46) Cells.Item(5,”C”) ‘引单元格C5
     Cells.Item(5,3) ‘引单元格C5
(47) Range(“A1”).Offset(RowOffset:=4,ColumnOffset:=5)或 Range(“A1”).Offset(4,5) ‘指定单元格F5
(48) Range(“B3”).Resize(RowSize:=11,ColumnSize:=3)
     Range(“B3”).Resize(11,3) ‘创建B3:D13区域
(49) Range(“Data”).Resize(,2) ‘将Data区域扩充2列
(50) Union(Range(“Data1”),Range(“Data2”)) ‘将Data1和Data2区域连接
(51) Intersect(Range(“Data1”),Range(“Data2”)) ‘返回Data1和Data2区域的交叉区域
(52) Range(“Data”).Count ‘单元格区域Data中的单元格数
     Range(“Data”). Columns.Count ‘单元格区域Data中的列数
     Range(“Data”). Rows.Count ‘单元格区域Data中的行数
(53) Selection.Columns.Count ‘当前选中的单元格区域中的列数
     Selection.Rows.Count ‘当前选中的单元格区域中的行数
(54) Selection.Areas.Count ‘选中的单元格区域所包含的区域数
(55) ActiveSheet.UsedRange.Row ‘获取单元格区域中使用的第一行的行号
(56) Rng.Column ‘获取单元格区域Rng左上角单元格所在列编号
(57) ActiveSheet.Cells.SpecialCells(xlCellTypeAllFormatConditions) ‘在活动工作表中返回所有符合条件格式设置的区域
(58) Range(“A1”).AutoFilter Field:=3,VisibleDropDown:=False ‘关闭由于执行自动筛选命令产生的第3个字段的下拉列表名称
(59) Range(“A1:C3”).Name=“computer” ‘命名A1:C3区域为computer
     或Range(“D1:E6”).Name=“Sheet1!book” ‘命名局部变量,即Sheet1上区域D1:E6为book
     或 Names(“computer”).Name=“robot” ‘将区域computer重命名为robot
(60) Names(“book”).Delete ‘删除名称
(61) Names.Add Name:=“ContentList”,RefersTo:=“=OFFSET(Sheet1!A2,0,0,COUNTA(Sheet2!$A:$A))” ‘动态命名列
(62) Names.Add Name:=“Company”,RefersTo:=“CompanyCar” ‘命名字符串CompanyCar
(63) Names.Add Name:=“Total”,RefersTo:=123456 ‘将数字123456命名为Total。注意数字不能加引号,否则就是命名字符串了。
(64) Names.Add Name:=“MyArray”,RefersTo:=ArrayNum ‘将数组ArrayNum命名为MyArray。
(65) Names.Add Name:=“ProduceNum”,RefersTo:=“=$B$1”,Visible:=False ‘将名称隐藏
(66) ActiveWorkbook.Names(“Com”).Name ‘返回名称字符串公式与函数
(67) Application.WorksheetFunction.IsNumber(“A1”) '使用工作表函数检查A1单元格中的数据是否为数字
(68) Range(“A:A”).Find(Application.WorksheetFunction.Max(Range(“A:A”))).Activate '激活单元格区域A列中最大值的单元格
(69) Cells(8,8).FormulaArray=“=SUM(R2C[-1]:R[-1]C[-1]*R2C:R[-1]C)” ‘在单元格中输入数组公式。注意必须使用R1C1样式的表达式图表
(70) ActiveSheet.ChartObjects.Count '获取当前工作表中图表的个数
(71) ActiveSheet.ChartObjects(“Chart1”).Select ‘选中当前工作表中图表Chart1
(72) ActiveSheet.ChartObjects(“Chart1”).Activate
     ActiveChart.ChartArea.Select ‘选中当前图表区域
(73) WorkSheets(“Sh

Excel Application对象应用大全 [完美Excel]本文以MSDN中的技术文章《Developers Guide to the Excel 2007 Application Object》为线条,参考了一系列相关技术文章和图书资料,全面整理和总结了Application对象应用知识。 Application对象是Excel对象模型中最高层级的对象,代表Excel应用程序自身,也包含组成工作簿的许多部分,包括工作簿、工作表、单元格集合以及它们包含的数据。 Application对象包含: • 应用程序设置和选项,许多选项与“选项”对话框中的选项相同。 • 返回顶级对象的方法,例如ActiveCell、ActiveSheet,等等。 本文使用VBA代码示例简要介绍了与Application对象相关的经常使用的对象、方法和属性,其中一些成员能够改变用户与Excel应用程序交互的方式,还能够改变应用程序的外观和式样。熟悉Application对象能够让您扩展和调整Excel的功能,以满足自已的需求。 本文主要介绍的内容如下: 从Application对象中引用对象 Application对象相关的集合 • AddIns集合 • Columns集合和Rows集合 • Dialogs集合 • Sheets集合 Application对象相关的属性 • ActiveCell属性 • ActiveChart属性 • ActiveSheet属性 • ActiveWindow属性 • ActiveWorkbook属性 • RangeSelection属性 • ScreenUpdating属性 • Selection属性 • StatusBar属性 • ThisWorkbook属性 Application对象相关的方法 • FindFile方法和Dialogs集合 • GetOpenFilename方法 • GetSaveAsFilename方法 • InputBox方法 • Run方法 Application对象相关的事件 • 激活Application事件监视 使用Application对象执行其它任务 • 删除工作表而显示提示信息(DisplayAlerts属性) • 无须提示用户而保存工作表(DisplayAlerts属性) • 使用SendKeys方法发送信息到记事本 • 安排宏在指定的时间和间隔运行(OnTime方法) Application对象的其它一些属性和方法 • Caller属性 • CutCopyMode属性 • Evaluate方法 • OnKey方法 • ThisCell属性 • WorksheetFunction属性 • 改变光标显示(Cursor属性) • 获取或改变Excel窗口的状态或大小(WindowState属性) • 获取系统信息 • 自动隐藏公式栏(DisplayFormulaBar属性) • 将Excel全屏显示(DisplayFullScreen属性) • 获取Excel启动文件夹的路径(StartupPath属性) • 检测Excel的版本(Version属性) • 打开最近使用过的文档(RecentFiles属性) • 文件对话框操作(FileDialog属性) • 改变Excel工作簿的名称(Caption属性) • 调用Windows的计算器(ActivateMicrosoftApp方法) • 暂时停止宏运行(Wait方法) • 重新计算工作簿(Calculate方法) • 控制函数重新计算(Volatile方法) • 获取重叠区域(Intersect方法) • 获取路径分隔符(PathSeparator属性) • 快速移至指定位置(Goto方法) • 关闭Excel(Quit方法)
<think>我们正在处理一个关于HmiUserManager.Application对象的创建和使用问题。用户询问了该对象的用途及使用方法,特别是通过CreateObject来使用它。根据我们的知识库,虽然没有直接提到HmiUserManager.Application,但我们可以参考类似的对象(如Excel.Application, Word.Application)的创建和使用方式,并推断HmiUserManager.Application可能用于人机界面(HMI)的用户管理。 HMI(Human Machine Interface)通常用于工业自动化系统中,用于操作人员与机器或过程进行交互。HmiUserManager.Application可能是一个用于管理HMI用户的应用程序对象,提供用户账户管理、权限设置等功能。 使用CreateObject创建HmiUserManager.Application对象的方法与创建其他COM对象类似。在支持COM自动化的编程语言(如VBScript, VBA, VB等)中,可以使用CreateObject函数来创建该对象的实例。 下面是一个使用VBScript创建HmiUserManager.Application对象并使用的简单示例: ```vbscript ' 创建HmiUserManager.Application对象 Set objUserManager = CreateObject("HmiUserManager.Application") ' 使用对象的方法和属性 ' 例如,添加一个用户 objUserManager.AddUser "john_doe", "password123", "Operator" ' 设置用户权限 objUserManager.SetUserPermission "john_doe", "Machine1", "ReadWrite" ' 保存更改 objUserManager.Save ' 释放对象 Set objUserManager = Nothing ``` 请注意,上述代码仅为示例,实际的方法和属性名称需要根据HmiUserManager.Application对象的实际接口进行调整。 在使用CreateObject创建COM对象时,可能会遇到权限问题。参考引用[2]中提到的,如果遇到权限错误,可能需要在组件的DCOM配置中设置权限。具体步骤包括: 1. 运行`dcomcnfg`打开组件服务。 2. 找到对应的组件(如HmiUserManager.Application)并设置权限,将Everyone或特定用户添加到权限列表中。 3. 如果是64位系统,可能需要运行`comexp.msc -32`来配置32位组件。 另外,引用[3]和[4]提到了在创建Excel.Application和InternetExplorer.Application时可能遇到的问题,如实例行为不一致或自动化错误。这些问题通常与COM组件的配置或资源释放有关。因此,在使用HmiUserManager.Application时,也需要注意: - 正确配置组件的DCOM权限。 - 在使用完对象后及时释放资源(如将对象设置为Nothing)。 - 确保系统中已安装并注册了提供HmiUserManager.Application对象的软件。 如果用户无法创建对象,可以检查以下事项: - 确认相关软件(如HMI开发或运行时环境)已正确安装。 - 以管理员身份运行脚本或应用程序。 - 检查DCOM配置权限。 由于HmiUserManager.Application可能是一个特定于某款软件的对象,用户需要参考该软件的文档以获取详细的对象模型和方法说明。 §§相关问题§§ 1. HmiUserManager.Application对象通常用于哪些工业自动化系统? 2. 如何解决CreateObject("HmiUserManager.Application")时出现的“权限被拒绝”错误? 3. HmiUserManager.Application对象有哪些常用的方法和属性? 4. 在哪些编程环境中可以使用CreateObject来创建HmiUserManager.Application对象?</think>### HmiUserManager.Application 对象的用途及使用方法 HmiUserManager.Application 是一个用于人机界面(HMI)用户管理的 COM 对象,主要应用于工业自动化系统(如西门子 WinCC、罗克韦尔 FactoryTalk 等)。其核心功能包括: **主要用途**: 1. **用户权限管理**:创建/删除用户账户,分配操作权限等级(如操作员、工程师、管理员)[^1] 2. **安全控制**:实现登录/注销、密码策略管理、操作审计跟踪 3. **权限验证**:实时检查用户对 HMI 画面、控制按钮等元素的访问权限 4. **多语言支持**:管理不同语言环境的用户界面切换 **创建对象方法**(VBScript/VBA 示例): ```vbscript ' 创建对象实例 Set objUserMgr = CreateObject("HmiUserManager.Application") ' 初始化连接(需根据具体HMI平台调整参数) objUserMgr.Connect "ServerName", "ProjectName" ' 添加新用户 objUserMgr.Users.Add "Operator01", "P@ssw0rd", "Operator" ' 分配权限组 objUserMgr.UserGroups("PlantOperators").AddUser "Operator01" ``` **关键方法与属性**: ```vbscript ' 用户登录验证 If objUserMgr.Login("Operator01", "P@ssw0rd") Then MsgBox "登录成功!权限级别: " & objUserMgr.CurrentUser.Level End If ' 获取所有用户列表 For Each user In objUserMgr.Users Debug.Print user.Name & " - " & user.LastLoginTime Next ' 修改密码 objUserMgr.Users("Operator01").ChangePassword "NewP@ssw0rd" ``` **常见问题解决**: 1. **权限错误**:需在 DCOM 配置中授权(参考引用[2]方法): - 运行 `dcomcnfg` - 找到 `HmiUserManager.Application` 组件 - 在「安全」选项卡添加 `Everyone` 并赋予权限 2. **连接失败**:确保 HMI 运行时服务已启动,防火墙开放对应端口(通常 1099/TCP) 3. **对象未注册**:需安装对应 HMI 平台的运行时组件(如 WinCC Runtime 或 FactoryTalk View) > 注意:具体实现可能因 HMI 平台版本而异,建议查阅对应产品的《脚本编程手册》[^1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值