好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

Excel制表技巧自定义.doc

18页
  • 卖家[上传人]:平***
  • 文档编号:14199123
  • 上传时间:2017-10-28
  • 文档格式:DOC
  • 文档大小:64.85KB
  • / 18 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • Excel 制表技巧( 23)自定义自定义模板关于模板:若要创建新工作簿,使其具有您所希望的格式,则可基于模板来新建工作簿模板中可包含格式样式、标准的文本(如页眉和行列标志)、公式、Visual Basic for Applications 宏和自定义工具栏等 默认工作簿模板:您可创建默认工作簿模板该模板定义了您启动 Microsoft Excel 时打开的新工作簿的格式和内容通过单击“新建” 或选择“模板” 对话框(“通用模板”、“新建工作簿”任务窗格)中的工作簿模板所创建的工作簿是基于默认工作簿模板的文件默认的工作簿模板的文件名为 Book.xlt您可以为特定的任务和项目创建其他自定义的工作簿模板 默认工作表模板:您可创建默认工作表模板该模板定义了您使用“工作表” 命令(“插入”菜单)插入的默认工作表的格式和内容默认的工作表模板的文件名为 Sheet.xlt如果您需要在工作簿中使用多种工作表,那么您可以创建其他的自定义工作表模板 保存默认工作簿和工作表模板:如果您已创建了名为 Book.xlt 或 Sheet.xlt 的模板,并保存在了 XLStart 文件夹中,Microsoft Excel 将使用该模板来创建新的默认工作簿或插入的新工作表。

      XLStart 文件夹通常位于:C:\Program Files\Microsoft Office\Office10\XLStart 若要使用保存于网络文件位置上的模板文件 (.xlt),您可按替补启动文件夹指定位置保存在 XLStart 文件夹中的自定义模板或替补启动文件夹会出现在“模板”对话框(“ 通用模板” ,“新建工作簿”任务窗格)中的“常规”选项卡上 共享模板:如果正在使用 Microsoft Windows 95 或其后续版本,或者是 Windows NT 4.0 或其后续版本,则可将自定义模板保存到网络上,使其他用户也可使用例如,要让某个工作小组的所有成员都使用特定项目的同一个自定义模板,则可将其放在能被所有成员访问的网络文件夹中然后创建访问该文件夹或模板的快捷方式,并让所有成员将该快捷方式放入各自的 Templates 文件夹中 而在 VBA 中,如何获得当前计算机中模板的路径?可以用 Application.TemplatesPath!在 VBA 编程的初期,可以利用模板来生成固定格式的工作簿或工作表,这样可以减少代码的数量但有利就有弊,这样的宏在别的计算机使用时,就要连同模块一起,否则就无法正常运行!但对于初期或自己快速建立宏,利用好之前的已定义好的模板资源,不失为一个很好的过渡方法。

      自定义加载宏什么是加载宏?加载宏程序是一类程序,它们为 Microsoft Excel 添加可选的命令和功能 加载宏的分类!Excel 有三种类型的加载宏程序:Excel 加载宏、自定义的组件对象模型 (COM) 加载宏和自动化加载宏而我们这里说的和以后讲的加载宏都是第一类加载宏 "如何安装加载宏?在使用某个加载宏前,必须先将其安装在计算机上,再将其加载到 Excel 中默认情况下,加载宏(*.xla 文件)将安装在以下某个位置上: Microsoft Office/Office 文件夹的 Library 文件夹或其中的某个子文件夹 Documents and Settings//Application Data/Microsoft/AddIns 文件夹你也可以将 XLS 文件,通过文件/另存为,将其另存为 Xla 加载宏文件" 如何将加载宏装入 Excel?安装完加载宏之后,还必须将加载宏装入 Excel在工具/加载宏中,里面就列出你电脑中的所有安装的加载宏项,将对应项的勾勾选上即可加载加载宏 如何卸载 Excel 中的加载宏?相对应,在工具/加载宏中,里面就列出你电脑中的所有安装的加载宏项,将对应项的勾勾去除即可。

      将加载宏卸载只是从 Excel 中删除加载宏的功能和命令,但计算机上依然保留着加载宏程序,因此您还可以轻松地重新装载该加载宏 如何在加载宏加载和关闭时运行特定的代码?在 AddinInstall 事件和 AddinUnInstall 事件中加入相应的代码即可,当然,这是加载宏加载和关闭时特有的事件,你可以选择在 Workbook_open(打开)和Workbook_BeforeClose(关闭)中加入相应的加代 如何在自定义的加载宏中加入说明?细心的朋友会发现,当我们选择每个 Excel 自带的加载宏时,在其下方会有一段文字说明这个加载宏,其实我们自定义的加载宏里也可以自已加入一段说明的,只要在其文件/属性的备注中写入这段说明即可,这样看起来是不是专业一点*~_~*,也方便让其它使用加载宏的朋友在加载前多一点了解它 加载宏就说到这里了,再加上前面的说明,你是不是可以将以前的自定义函数啦,宏啦用加载宏分发别其他朋友了:),再下面的几项自定义项,能让你的一些不懂 VBA 的朋友更能易用你编好的加载宏,敬请关注哦!自定义菜单项在宏的基础篇中,我们已说过宏怎么运行,但其实最方便的方法就是在我们的工具栏中建立一个按钮来调用这个宏。

      怎么自定义一个按钮?首先要确保要更改的工具栏是可见的,再单击“工具栏选项” 箭头指向“添加或删除按钮”或用右击单击工具栏,再单击“ 自定义”,单击“ 命令”选项卡,在类别中选择“宏”,将“自定义按钮” 拖拉到你需要的工具栏的位置即可而有多项的话,我们还可以自定义一个菜单项来包含这一些按钮 怎么自定义一个菜单项?和自定义按钮是差不多的,只是最后一步的操作是将“自定义菜单项” 拖拉到你需要的工具栏的位置即可 怎么将按钮与宏关联?刚刚建立好的按钮,在第一次单击它是,会弹出一个菜单,让你选择与其相关联的宏,这时选择要关联的宏的名称即可但我们可以这样操作,右击工具栏后选择“自定义” ,选择需要关联宏的按钮,然后在“更改所选内容 ”中的指定宏中指定或修改! 如何更改这个自定义按钮的外观?在刚才说的“更改所选内容” 项里,还可以更改这个按钮的名称,图标,样式,只要在此做相应的修改即可,要说明的一点是,在名称中用&后面跟着英文的话,就变成相对应的键盘按键,修改后我们看到的是这个英文下面加一条划线来表示! 如何删除自定义的菜单?还按照上面的操作,将要删除的菜单拖拉到工具栏外,或选择它,再点击“更改所选内容”里的删除即可。

      上面说了手工怎么样建立的删除自己的菜单,而怎么让加载宏自己建一个菜单,并在关闭时将其删除呢?前贴说过,可以在 AddinInstall 事件与 AddinUnInstall 事件或者 Workbook_open 事情和Workbook_BeforeClose 事件中,加入代码,来让加载宏打开与关闭时运行这些代码,还有一个方法就是在模块中定义 auto_open(打开时运行)与 auto_close(关闭时运行)这两个过程来实现,下面给出一个例子: Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Private Declare Function GetDesktopWindow Lib "user32" () As Long Dim AName, MName(2, 1), DelMenu(2) As Boolean Sub auto_open() Dim MyMenu As CommandBarPopup Dim MyBtn As CommandBarButton Dim i As Byte Dim XT As String On Error Resume Next AName = "自定义(&Z)" '菜单名称 MName(0, 0) = "百度 Excel 吧(&A)" '菜单项名称 MName(0, 1) = "BaiDuExcelBa" '指定宏名称 MName(1, 0) = "Excel 吧主页(&B)" '菜单项名称 MName(1, 1) = "ExcelBaZy" '指定宏名称 MName(2, 0) = "Excel 各页名(&C)" '菜单项名称 MName(2, 1) = "Excel 各页名" '指定宏名称 Set MyMenu = CommandBars("Worksheet Menu Bar").Controls(AName) If MyMenu Is Nothing Then Set MyMenu = CommandBars("Worksheet Menu Bar").Controls.Add(Type:=msoControlPopup) MyMenu.Caption = AName End If For i = 0 To UBound(MName) Set MyBtn = MyMenu.CommandBar.Controls(MName(i, 0)) If MyBtn Is Nothing Then DelMenu(i) = True Set MyBtn = MyMenu.CommandBar.Controls.Add(Type:=msoControlButton) With MyBtn .Style = msoButtonIconAndCaption .FaceId = 79 + MyBtn.Index .Caption = MName(i, 0) .OnAction = MName(i, 1) End With Else DelMenu(i) = False XT = XT & vbCrLf & MName(i, 0) End If Set MyBtn = Nothing Next 自定义右键菜单当我们使用右键时,Excel 相对应都会有一些功能在右键的菜单中出现,比如右击单元格时有设定单元格的功能,右击行号与列标时,有设定行高与列宽的功能,那么,我们也可以相应在我们需要的时候,将功能将入右键的菜单中,方便调用,比如下面说的自定义宏 ——合并复制选择单元格的内容,即可以加入到在右击单元格时产生的右键菜单中。

      其实这些菜单的使用方法和前面将的菜单与工具栏是类似的,工具栏对应的是 CommandBars 对象,菜单对应的是 CommandBarControl 对象,而 CommandBarControl 对象中又分有三种 ——ComandBarButton(按钮控件)、CommandBarComboBox(组合框控件)以及这贴说的CommandBarPopup(弹出式控件),下面给出一段程序,在表格中列出全部的弹出式控件的名称及项目等内容 Sub ListPopups() Dim ctl As CommandBarControl Dim cb As CommandBar Dim intRow As Integer 'Tracks row in worksheet '下面一行是检查当前工作表是否没有内容 If Not IsEmptyWorksheet(ActiveSheet) Then Exit Sub On Error Resume Next Application.ScreenUpdating = False Cells(1, 1).Value = "CommandBar" Cells(1, 2).Value = "Control" Cells(1, 3).Value = "FaceID" Cells(1, 4).Value = "ID" Range("A。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.