翻译Excel 2013 Power Programming with VBA 第14章的前两部分

Developing Excel Utilities with VBA


使用VBA开发Excel实用程序

 
In This Chapter


在这一章


● Exploring Excel utilities and utilities in general


探究Excel 实用程序和一般的实用程序


● Developing utilities with VBA


使用VBA开发Excel实用程序


● Creating good utilities


创建好的实用程序


● Manipulating text in cells


处理单元格中的文本


● Finding additional Excel utilities


寻找额外的Excel实用程序
 
About Excel Utilities


关于Excel实用程序
 
A utility, in general, is something that enhances software, adding useful features or making existing features more accessible. A utility isn’t an end product, such as a quarterly report. Rather, it’s a tool that helps you produce an end product. An Excel utility is (almost always) an add-in that enhances Excel with new features or capabilities.
 
一般来讲,实用程序是能增强软件功能,增加有用的特性或者使已有的特性更容易使用的程序。实用程序不是像季度报表一样的最终产品,而是一个帮助你制作最终产品的工具。Excel实用程序是(而且几乎都是)通过增加新特性或者新功能从而增强Excel性能的插件。
 
Excel is a great product, but many users soon develop a wish list of features that they’d like to see added to the software. For example, users who work with  dates may want a pop-up calendar feature to facilitate entering dates into cells. And some users desire an easier way to export a range of data to a separate file or to save a chart as a graphics file. These are all examples of features that aren’t currently available in Excel. You can, however, add these features by creating a utility.
 
Excel是一款伟大的产品,但是许多用户很快就把他们想要增加的特性列上愿望清单。比如,经常使用日期的用户可能想要一个弹出式日历的特性以便在单元格里输入日期。还有一些用户渴望有一种更简易的方法把一系列数据导出到一个单独的文件里或者把图表保存为一个图像文件。这些都是目前Excel中不存在的特性的例子。然而,你可以通过创建实用程序来添加这些特性。
 
Utilities don’t need to be complicated. Some of the most useful ones are very simple. For example, have you noticed that Excel 2013 doesn’t have a Ribbon command to toggle the page break display in a worksheet? If you don’t like to see those dotted lines in your worksheet, a trip to the Excel Options dialog box to turn them off is required. Even worse, you can’t add that command to the Ribbon or Quick Access toolbar.
 
实用程序不需要很复杂。一些最有用的实用程序其实很简单。比如,你注意到了吗, Excel2013没有一个用于在工作表中切换显示分页符的功能区命令。如果你不喜欢在工作表中看到那些虚线,就需要逛逛Excel选项对话框然后从那里关掉它们。更糟的是,你不能把那条命令添加到功能区或者快捷工具栏。

Here’s a simple VBA macro that toggles the page break display:


这是一个能够切换分页符显示的简单的VBA宏。

Sub TogglePageBreaks()

With ActiveSheet

.DisplayPageBreaks = Not .DisplayPageBreaks

End With

End Sub


You can store this macro in your Personal Macro Workbook so that it’s always available. Or you may prefer to package your favorite utilities in an add-in. For quicker access, you can assign your utility macros to a shortcut key or a right-click shortcut menu or modify your Quick Access toolbar or the Ribbon.


你可以把这个宏保存到个人宏工作簿中以便日后使用。或者你更愿意将最喜欢的实用程序打包成一个插件。为了更加快速地访问,你可以把工具宏赋给一个快捷键或快捷菜单,亦或者修改快捷工具栏或功能区。

As you’ll see,creating utilities for Excel is an excellent way to make a great product even better.


你会看到,为Excel创建实用程序是为一款伟大的产品锦上添花的绝妙方法。
 
 
Using VBA to Develop Utilities
使用VBA开发实用程序
 
Excel 5, released in 1992, was the first version of Excel to include VBA. WhenI received the beta version of Excel 5, I was impressed by VBA’s potential. VBA was light-years ahead of Excel’s powerful (but cryptic) XLM macro language, andI decided that I wanted to explore this new language and its capabilities.


Excel 5 发布于1992年,它是第一个包含VBA的Excel版本。当我拿到Excel5的测试版后,VBA的潜能给我留下了深刻的印象。VBA的出现远远早于Excel功能强大(但是神秘)的XML宏语言。我决定要探究这一新语言和它的能力。
 
 
In an effort to learn VBA, I wrote a collection of Excel utilities by using only VBA. I figured that I would learn the language more quickly if I gave myself a tangible goal. The result was a product that I call the Power Utility Pak for Excel, which is available to you at a discounted price as a benefit of buying this book. (Use the coupon in the back of the book to order your copy.)


在学习VBA的过程中,我仅仅使用VBA开发了一些实用工具。我发现如果给自己设定一个明确的目标,我就会更快地学习这一语言。结果,我开发了一个我称之为Excel实用工具包的产品。作为购买本书的一个益处, 你能以折扣价购买该工具包(请使用本书后面的优惠券订购)。
 
I learned several things from my initial efforts on this project:


我从这个项目初始的工作中学到了几样东西:


● VBA can be difficult to grasp at first, but it becomes much easier with practice.


VBA刚开始有可能难掌握,但是通过练习它就会变得容易多了。


●  Experimentation is the key to mastering VBA. Every project that I undertake usually involves dozens of small coding experiments that eventually lead to a finished product.


试验是掌握VBA的关键。我做的每一个项目都包含很多小的代码试验,这些试验最终构成一个完整的产品。
 
● VBA enables you to extend Excel in a way that is consistent with Excel’s look and feel, including custom worksheet functions and dialog boxes. And, if you’re willing to step outside VBA, you can write XML code to customize the Ribbon automatically when your application is opened.
 
VBA使你能够扩展Excel,这种扩展与Excel的外观和使用上的感觉保持一致,这包括各种自定义的工作表功能和对话框。而且,如果不愿使用VBA, 你还可以写XML代码用来在程序打开时自动地自定义设置功能区。
 
Excel can do almost anything. When you reach a dead end, chances are that another path leads to a solution, especially if you’re creative and know where to look for help.

 

Excel几乎可以做任何事情。当走入了死胡同时,如果你有创造力并且知道从哪里寻求帮助,就有可能从另外一条路找到解决方法。

 

Few other software packages include such an extensive set of tools that enable the end user to extend the software.

 

没有多少其它的软件包含这么大量的工具可以让最终用户扩展软件。


 
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
GeoPandas是一个开源的Python库,旨在简化地理空间数据的处理和分析。它结合了Pandas和Shapely的能力,为Python用户提供了一个强大而灵活的工具来处理地理空间数据。以下是关于GeoPandas的详细介绍: 一、GeoPandas的基本概念 1. 定义 GeoPandas是建立在Pandas和Shapely之上的一个Python库,用于处理和分析地理空间数据。 它扩展了Pandas的DataFrame和Series数据结构,允许在其中存储和操作地理空间几何图形。 2. 核心数据结构 GeoDataFrame:GeoPandas的核心数据结构,是Pandas DataFrame的扩展。它包含一个或多个列,其中至少一列是几何列(geometry column),用于存储地理空间几何图形(如点、线、多边形等)。 GeoSeries:GeoPandas中的另一个重要数据结构,类似于Pandas的Series,但用于存储几何图形序列。 二、GeoPandas的功能特性 1. 读取和写入多种地理空间数据格式 GeoPandas支持读取和写入多种常见的地理空间数据格式,包括Shapefile、GeoJSON、PostGIS、KML等。这使得用户可以轻松地从各种数据源中加载地理空间数据,并将处理后的数据保存为所需的格式。 2. 地理空间几何图形的创建、编辑和分析 GeoPandas允许用户创建、编辑和分析地理空间几何图形,包括点、线、多边形等。它提供了丰富的空间操作函数,如缓冲区分析、交集、并集、差集等,使得用户可以方便地进行地理空间数据分析。 3. 数据可视化 GeoPandas内置了数据可视化功能,可以绘制地理空间数据的地图。用户可以使用matplotlib等库来进一步定制地图的样式和布局。 4. 空间连接和空间索引 GeoPandas支持空间连接操作,可以将个GeoDataFrame按照空间关系(如相交、包含等)进行连接。此外,它还支持空间索引,可以提高地理空间数据查询的效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值