<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:wfw="http://wellformedweb.org/CommentAPI/">
  <channel>
    <title><![CDATA[Access BCD]]></title> 
    <link>http://bcd.office-cn.net/</link> 
    <description><![CDATA[Training Course created by zhuyiwen]]></description> 
    <language>cn</language> 
    <copyright><![CDATA[Copyright 2010, Access BCD]]></copyright> 
    <webMaster><![CDATA[zhuyiwen@163.com (zhuyiwen)]]></webMaster> 
    <generator>LBS v2.0.313</generator> 
    <pubDate>Wed, 10 Mar 2010 21:04:48 +0800</pubDate> 
    <ttl>60</ttl>
  
    <item>
      <title><![CDATA[An introduction to the SMS in PDU mode]]></title> 
      <link><![CDATA[http://bcd.office-cn.net/article.asp?id=75]]></link> 
      <category><![CDATA[SMS]]></category> 
      <author><![CDATA[bcd <null@null.com>]]></author> 
      <pubDate>Sat, 15 Nov 2008 14:58:55 +0800</pubDate> 
      <description><![CDATA[This document gives only a very simple description of SMS in PDU mode. A basic definition of each item is<br />given. For further details, it recommends to look the following standards.<br /><br /><a href="http://bcd.office-cn.net/uploads/200811/15_150006_sms_pdumode.rar" title="http://bcd.office-cn.net/uploads/200811/15_150006_sms_pdumode.rar" target="_blank"><img src="http://bcd.office-cn.net/styles/default/images/icon_file.gif" border="0" /> 点击下载</a>]]></description>
      <wfw:commentRss><![CDATA[http://bcd.office-cn.net/feed.asp?q=comment&id=75]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[ETSI TS 100 916 V7.3.0 (AT Command)]]></title> 
      <link><![CDATA[http://bcd.office-cn.net/article.asp?id=74]]></link> 
      <category><![CDATA[SMS]]></category> 
      <author><![CDATA[bcd <null@null.com>]]></author> 
      <pubDate>Sat, 15 Nov 2008 14:52:55 +0800</pubDate> 
      <description><![CDATA[ETSI TS 100 916 V7.3.0 (1999-07)<br />Technical Specification<br />Digital cellular telecommunications system (Phase 2+);<br />AT command set for GSM Mobile Equipment (ME)<br />(GSM 07.07 version 7.3.0 Release 1998)<br /><br /><a href="http://bcd.office-cn.net/uploads/200811/15_145327_etsits100916v7.rar" title="http://bcd.office-cn.net/uploads/200811/15_145327_etsits100916v7.rar" target="_blank"><img src="http://bcd.office-cn.net/styles/default/images/icon_file.gif" border="0" /> 点击下载</a>]]></description>
      <wfw:commentRss><![CDATA[http://bcd.office-cn.net/feed.asp?q=comment&id=74]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[ETSI TS 100 901 V7.3.0 (SMS)]]></title> 
      <link><![CDATA[http://bcd.office-cn.net/article.asp?id=73]]></link> 
      <category><![CDATA[SMS]]></category> 
      <author><![CDATA[bcd <null@null.com>]]></author> 
      <pubDate>Sat, 15 Nov 2008 14:00:45 +0800</pubDate> 
      <description><![CDATA[ETSI TS 100 901 V7.3.0 (1999-11)<br />Technical Specification<br />Digital cellular telecommunications system (Phase 2+);<br /><b>Technical realization of the Short Message Service (SMS);</b><br />Point-to-Point (PP)<br />(GSM 03.40 version 7.3.0 Release 1998)<br /><br /><a href="http://bcd.office-cn.net/uploads/200811/15_145211_etsits100901v7.rar" title="http://bcd.office-cn.net/uploads/200811/15_145211_etsits100901v7.rar" target="_blank"><img src="http://bcd.office-cn.net/styles/default/images/icon_file.gif" border="0" /> 点击下载</a>]]></description>
      <wfw:commentRss><![CDATA[http://bcd.office-cn.net/feed.asp?q=comment&id=73]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[使用 XML 自定义功能区]]></title> 
      <link><![CDATA[http://bcd.office-cn.net/article.asp?id=69]]></link> 
      <category><![CDATA[综合文章]]></category> 
      <author><![CDATA[朱亦文 <null@null.com>]]></author> 
      <pubDate>Tue, 03 Jun 2008 17:16:39 +0800</pubDate> 
      <description><![CDATA[<link rel="STYLESHEET" type="text/css" href="images/css1.css">
<link rel="STYLESHEET" type="text/css" href="images/css2.css">

<b>Microsoft Office Access 2007 Inside Out</b> <br/>
<b>by</b> John L. Viescas and Jeff Conrad <br/><br/>
<b>译</b> 朱亦文 <br/>
<b>时间</b> 2008.06.03<br/><br/>

<div class="chapter"> <a name=""></a>
  <div class="section">
    <h2 class="first-section-title"> <a name="3083"></a><a name="ch23lev1"></a>使用 XML 自定义功能区</h2>
    <p class="first-para"> 迄今为止，您在本章中学习了有关 XML 文件类型，如何使用 XML 导入和导出 Access 对象，以及如何在模板文件中通过改变大纲修改表模板。Access 2007 以及大多数 2007 Office 应用程序还有另一个重要的使用 XML 的元素——功能区用户接口。通过本书您已经看到在开始、创建、外部数据、以及数据库工具这四个主要的选项卡上如何使用功能区命令。您甚至已经注意到我们在 Conrad System Contacts 系统(Contacts.accdb) 和 Housing Reservations (Housing.accdb) 示例数据库中，当您打开任何一个窗体和报表时都使用了自定义的功能区。在下面节里，您将学习为窗体创建一个简单的功能区所必须的步骤。您将看到如何为这个功能区创建 XML 文件以显示四个主功能区中已经已经存在的分组。您也可以创建一个新的数据输入窗体，指派您的新功能区来测试新的命令。 </p>
    <div class="section">
      <h3 class="sect3-title"> <a name="3084"></a><a name="ch23lev2"></a>创建 USysRibbons 表</h3>
      <p class="first-para">当您打开一个 Access 2007 数据库时，Access 在启动过程中会查找一个称为 USysRibbons 表以确定是否需要加载自定义的功能区。如果 Access 没有找到这个表，它会继续加载内建的功能区(译者注：Access 默认的功能)。您也可以在您的应用程序中使用 Visual Basic 书写的代码来加载存储在另外的表中的 XML 或者直接定义在代码中的 XML 来完成自定义的功能区的加载。在 <font color=blue><u>第 24 章 “完成最后的润色”</u></font> 中讨论如何做。</p>
      <p class="para"> 当您创建一个新的空白数据库文件或使用数据库模板创建数据库时，Access 不会自动创建名为 USysRibbons 的数据表。为了 Access 能使用 USysRibbons 表，这个表必须包含 <a class="internaljump" href="#ch23t">表23-1</a> 中所列的字段。RibbonName 字段是唯一的，用以识别区的名称。XML 必须按次序设计好使 Access 能正确解释以应用到功能区。注：在您需要的时候(例如说明您自定义的功能区)，您可以在这个表添加附加的字段，不过 Access 在加载你的功能区时只访问 <a class="internaljump" href="#ch23t">表23-1</a> 中的列出的两个字段。</p>
      <a name="3085"></a><a name="ch23t"></a>
      <table linktabletoexcel="yes" id="ch23table01" class="table" border="1">
        <caption class="table-title">
        <span class="table-title"><span class="table-titlelabel">表23-1:</span> USysRibbons 表字段</span> <br/>
        <a  class="object-link" target="_blank"><IMG HEIGHT="11" BORDER="0" WIDTH="13" SRC="images/b24-bluearrow.gif" ALT=""> Open table as spreadsheet</a>
        </caption>
        <thead>
          <tr valign="top">
            <th class="th" scope="col" rowspan="1" align="left" valign="top"> <p class="table-para"> <b class="bold">字段名</b> </p></th>
            <th class="th" scope="col" rowspan="1" align="left" valign="top"> <p class="table-para"> <b class="bold">数据类型</b> </p></th>
          </tr>
        </thead>
        <tbody>
          <tr valign="top">
            <td class="td" rowspan="1" align="left" valign="top"><p class="table-para">RibbonName</p></td>
            <td class="td" rowspan="1" align="left" valign="top"><p class="table-para">文本 Text</p></td>
          </tr>
          <tr valign="top">
            <td class="td" rowspan="1" align="left" valign="top"><p class="table-para">RibbonXml</p></td>
            <td class="td" rowspan="1" align="left" valign="top"><p class="table-para">备注 Memo</p></td>
          </tr>
        </tbody>
      </table>
      <p class="para">在默认情况下，Access 在 Navigation Pane 导航窗格) 任何本地表的列表中不显示以 USys 词头的用作系统表的表。您可能不会看到任何系统表，但您可以通过 Navigation Options(导航选项) 对话框来修改其设置。例如，如果你创建并保存一个新的表命名为 USysRibbons，您可能在 Navigation Pane(导航窗格) 中看不到这个新建的表。</p>
      <p class="para">在 Conrad System Contacts 数据库中，我们包含了在应用中使用的自定义功能区的表。打开 Contacts.accdb 数据库，在打开的消息框中点击 OK (确定)按钮，点击 Navigation Pane(导航窗格) 顶部的菜单，点击 Navigate To Category(浏览类别) 下的 Object Type(对象类型)，并且点击 Filter By Group(按组筛选) 下的 Table(表)，显示数据库中可用的表列表。如果您拉动滚动条，您注意到在列表中找不到名为 USysRibbons 的表。要在 Navigation Pane(导航窗格) 中看到这个表，在 Navigation Pane(导航窗格) 的顶部右击鼠标，在菜单上点击 Navigation Options(导航选项)。在 Navigation Options(导航选项) 对话框中的 Display Options(显示选项) 中，勾择 Show System Objects(显示系统对象)，使数据库中显示所有的系统对象。如 <a class="internaljump" href="#ch2">图 23-9</a> 所示。</p>
      <div class="figure"> <a name="3087"></a><a name="ch2"></a><span class="figuremediaobject"><a href="images/fig1309_01_0.jpg" NAME="IMG_1038" target="_parent"><img alt="Image from book" id="IMG_1038" src="images/fig1309_01.jpg" height="226" width="350" title="Click To expand" border="0"></a></span> <br style="line-height: 1">
        <span class="figure-title"><span class="figure-titlelabel">图 23&ndash;19: </span>选择 Show System Objects 复选框，显示 USysRibbons 表。</span> </div>
      <p class="para">点击 OK (确定) 关闭 Navigation Options (导航选项) 对话框，在 Navigation Pane (导航窗格) 中再次查看。您注意到这时您可以看到词头为 MSys 的表以及 USysRibbons 表。在 Navigation Pane (导航窗格) 中右击 USysRibbons 表并点击快捷菜单上的 Design View (设计视图)，这个表将在 Design View (设计视图)中打开。在 <a class="internaljump" href="#ch2">图 23&ndash;20</a> 中，您将看到这个表有一个附加的数据类型为 AutoNumber (自动编号)的字段 ID。还记得前面所说的，Access 只需要 RibbonName 和 RibbonXML 两个字段，它会忽略其它的任何字段。我们加入 ID 字段并使用它作为表的主键，以确保我们输入的是唯一的。</p>
      <div class="figure"> <a name="3088"></a><a name="ch2"></a><span class="figuremediaobject"><a href="images/fig1310_01_0.jpg" NAME="IMG_1039" target="_parent"><img alt="Image from book" id="IMG_1039" src="images/fig1310_01.jpg" height="202" width="350" title="Click To expand" border="0"></a></span> <br style="line-height: 1">
        <span class="figure-title"><span class="figure-titlelabel">图 23&ndash;20: </span>Access 在打开数据库期间查找名为 USysRibbons 的表以加载自定义功能区。</span> </div>
      <table border="0" cellspacing="0" cellpadding="0" class="caution">
        <tr>
          <td valign="top" class="admon-check"></td>
          <td valign="top" class="admon-title">注意&nbsp;</td>
          <td valign="top" class="admon-body"><p class="first-para">不要尝试修改和删除以 MSys 开头的系统表，Access 使用这些表管理各种对象以及你的数据库中的其它元件。</p></td>
        </tr>
      </table>
      <a name="3089"></a><a name="IDX-"></a>
      <p class="para">在 Design(设计) 选项卡中的 View(视图) 分组中点击向下的箭头并从列表中出现的可用的视图中点击 DataSheet View(数据表视图) 切换到数据表视图。您将注意到在 USysRibbons 表中有三条记录，如 <a class="internaljump" href="#ch2">图 23&ndash;21</a> 所示。表中的第条记录都定义一个特定的功能区。您会在 RibbonName 字段中看到每个功能区的名字，分别为 rbnForms、rbnPrintPreview、以及 rbnCSD。rbnForms 功能区用于 Conrad Systems Contacts 数据库中的大多数数据输入窗体，rbnPrintPreview 功能区用于报表，rbnCSD 功能区用于显示 frmMain、frmCodeLists 和 frmReports 窗体。</p>
      <div class="figure"> <a name="3090"></a><a name="ch2"></a><span class="figuremediaobject"><a href="images/fig1310_02_0.jpg" NAME="IMG_1040" target="_parent"><img alt="Image from book" id="IMG_1040" src="images/fig1310_02.jpg" height="140" width="350" title="Click To expand" border="0"></a></span> <br style="line-height: 1">
        <span class="figure-title"><span class="figure-titlelabel">图 23&ndash;21: </span>Conrad Systems Contacts 数据库包含三个自定义区。</span> </div>
      <p class="para">在 RibbonXml 字段中，可以分别看到定义三个功能区的 XML 代码。在这个些字段中存放已经设计好的 XML，然而，在数据表视图下阅读 XML 不是很方便。你可以将光标插入字段中移动箭头来阅读 XML，可以按 Shift+F2 键打开缩放对话框，或者扩展每行的高度。然而，最容易的阅读和修改 XML 方法是创建一个绑定这个表的窗体。在 Conrad Systems Contacts 数据库 <a name="3091"></a><a name="IDX-"></a>(Housing Reservations 数据库也是一样) 中，我们创建一个窗体来添加和编辑这个表中的记录。点击 Navigation Pane(导航窗格) 顶部的菜单，点击 Navigation To Category(浏览分类) 下的 Object Type(对象类型)，并点击 Filter By Group(按组筛选) 下的 Forms(窗体) 显示数据库中窗体列表。找到名为 zfrmChangeRibbonXML 的窗体，双击以窗体视图打开，如 <a class="internaljump" href="#ch2">图 23&ndash;22</a> 所示。使用记录导航条上的按钮，可以分别全部查看这三个自定义功能区的 XML。(在 <a href="BBL0181.html#3118" target="_parent" class="chapterjump">第 24 章</a> 更详细的研究这个三个功能区，此时不必关心如何掌握这些 XML。)我们窗体向导来创建这个窗体，只要你喜欢你也可以从零开始设计这个窗体。创建一个使用的 USysRibbons 表的窗体并不是必须的，然而，这样可以有一个舒适的大的文本框来查看和编辑 RibbonXml 字段中的 XML (译者注，何乐而不为呢？)。</p>
      <div class="figure"> <a name="3092"></a><a name="ch2"></a><span class="figuremediaobject"><a href="images/fig1311_01_0.jpg" NAME="IMG_1041" target="_parent"><img alt="Image from book" id="IMG_1041" src="images/fig1311_01.jpg" height="268" width="350" title="Click To expand" border="0"></a></span> <br style="line-height: 1">
        <span class="figure-title"><span class="figure-titlelabel">图 23&ndash;22: </span>采用一个窗体，可以更容易的查看和编辑 USysRibbons 表中 XML。</span> </div>
      <table border="0" cellspacing="0" cellpadding="0" class="note">
        <tr>
          <td valign="top" class="admon-check"></td>
          <td valign="top" class="admon-title">注&nbsp;</td>
          <td valign="top" class="admon-body"><p class="first-para">现在，你已经明白了如何在 Navigation Options (导航选项) 对话框中改变设置来查看系统对象，就象查看在 Navigation Pane (导航窗格) 中的 USysRibbons 表一样，推荐你改回设置，不显示系统对象。右击 Navigation Pane (导航窗格) 顶部菜单并点击 Navigation Options (导航选项)。在 Navigation Options (导航选项) 对话框中的 Dispaly Options (显示选项) 里，清除 Show System Object (显示系统对象) 复选框，最后点击 OK (确定)。以后，你可以使用 zfrmChangeRibbonXML 窗体来处理 USysRibbons 表中的数据，你也就不再需要在 Navigation Pane (导航窗格) 看到这个表。</p></td>
        </tr>
      </table>
      <a name="3093"></a><a name="IDX-"></a> </div>
    <div class="section">
      <h3 class="sect3-title"> <a name="3094"></a><a name="ch23lev2"></a>创建测试窗体</h3>
      <p class="first-para">Conrad Systems Contacts 数据库中的多数窗体和报表每个都使用了自定义的功能区。在下面的一节里，将为一个新窗体的功能区创建 XML。在创建 XML 之前，首先基于 tblContacts 表创建一个数据输入窗体。使用这个新的窗体来测试 XML，这样就不干扰数据库中已有对象。首先，关闭还仍然打开着的 zfrmChangeRibbonXML 窗体，点击 Navigation Pane (导航窗格) 顶部的菜单，点击 Navigation To Category (浏览分类) 下的 Object Type (对象类型)，然后点击 Filter By Group (按组筛选) 下的 Tables (表)，最后，在 Navigation Pane (导航窗格) 中选择 tblContacts 表，在功能区 Create (创建) 选项卡中点击 Form (窗体) 按钮，Access 就会基于这个选择的表创建一个新的窗体并以 Form View (窗体视图) 打开，如 <a class="internaljump" href="#ch2">图 23&ndash;23</a> 所示。点击 Quick Access Toolbar (快速访问工具栏) 上的 Save (保存) 按钮，将窗体命名为 frmRibbonTest，最后关闭窗体。</p>
      <div class="figure"> <a name="3095"></a><a name="ch2"></a><span class="figuremediaobject"><a href="images/fig1312_01_0.jpg" NAME="IMG_1042" target="_parent"><img alt="Image from book" id="IMG_1042" src="images/fig1312_01.jpg" height="273" width="350" title="Click To expand" border="0"></a></span> <br style="line-height: 1">
        <span class="figure-title"><span class="figure-titlelabel">图 23&ndash;23: </span>基于 tblContacts 表创建窗体用于测试新的功能区。</span> </div>
    </div>
    <div class="section">
      <h3 class="sect3-title"> <a name="3096"></a><a name="ch23lev2"></a>创建功能区 XML</h3>
      <p class="first-para">要为窗体和报表创建一个自定义功能区，你必须首先使用如 Notepad (记事本) 或 Notepad 2007 或 Visual Basic 2005 快速版一样的编辑器创建 XML。在这里，我们使用 Notepad (记事本) 创建 XML。为功能区创建设计好的 XML，需要引用 Microsoft Office system XML Schema，它包含 Access 2007 验证自定义功能区所需的架构信息。你也可能需要下载 Microsoft Office system Document <a name="3097"></a><a name="IDX-"></a> Lists of Control IDs，它包含 Microsoft Office 内建的选项卡、分组、按钮、以及其它命令按钮控件 ID 的完整列表。在功能区架构文件中每个按钮、分组和选项卡都有一个唯一的控件 ID。可以使用这些控件 ID 来置放内建功能区中的元件到你自己自定义的功能区中。</p>
      <table border="0" cellspacing="0" cellpadding="0" class="note">
        <tr>
          <td valign="top" class="admon-check"></td>
          <td valign="top" class="admon-title">注&nbsp;</td>
          <td valign="top" class="admon-body"><p class="first-para">如果你使用如 Notepad 2007 或者 Visual Basic 2005 快速版 一样的工具，你可以使用 Microsoft IntelliSense (智能提示) 来帮助你构造 XML。可以从 Microsoft 网站上 <a target="_top" class="url" href="http://www.microsoft.com/downloads/details.aspx?familyid=72D6AA49%E2%80%93787D-4118-BA5F-4F30FE913628&displaylang=en"><i class="emphasis">http://www.microsoft.com/downloads/details.aspx?familyid=72D6AA49&ndash;787D-4118-BA5F-4F30FE913628&amp;displaylang=en</i></a>下载免费的 XML Notepad 2007 编辑。 </p>
            <p class="para">可以从 Microsoft 网站上 <a target="_top" class="url" href="http://msdn.microsoft.com/vstudio/express/vb/"><i class="emphasis">http://msdn. microsoft .com/vstudio/express/vb/</i></a> 下载 Visual Basic 2005 快速版。 </p>
            <p class="para">可以从 Microsoft 网站上 <a target="_top" class="url" href="http://www.microsoft.com/downloads/details.aspx?familyid=15805380-f2c0%E2%80%934b80%E2%80%939ad1%E2%80%932cb0c300aef9&displaylang=en."><i class="emphasis">http://www.microsoft.com/downloads/details.aspx?familyid=15805380-f2c0&ndash;4b80&ndash;9ad1&ndash;2cb0c300aef9&amp;displaylang=en</i></a> 下载 Microsoft Office system XML Schema Reference for Ribbons。</p>
            <p class="para">可以从 Microsoft 网站上 <a target="_top" class="url" href="http://www.microsoft.com/downloads/details.aspx?familyid=4329d9e9%E2%80%934d11%E2%80%9346a5%E2%80%93898d-23e4f331e9ae&displaylang=en."><i class="emphasis">http://www.microsoft.com/downloads/details.aspx?familyid=4329d9e9&ndash;4d11&ndash;46a5&ndash;898d-23e4f331e9ae&amp;displaylang=en</i></a> 下载 Microsoft Office system Document Lists of Control IDs。</p></td>
        </tr>
      </table>
      <div class="section">
        <h4 class="sect4-title"> <a name="3098"></a><a name="ch23lev3"></a>隐藏功能中已有的元件</h4>
        <p class="first-para">打开 Notepad (记事本) 开始建立 XML。我们将为测试窗体创建一个在 Home (开始) 选项卡中包含两个分组自定义功能区，同时隐藏所有的内建的选项卡。接下来，你将测试第一步看着功能区成型。功能区的 XML 需要从下面的行开始： </p>
        <div class="informalexample">
          <div class="widecontent">
            <pre class="programlisting">
&lt;customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"&gt;</pre>
          </div>
        </div>
        <p class="para">这第一行明确的告诉 Access 我们使用来创建这个功能区的架构信息。接下来的一行应该如下：</p>
        <div class="informalexample">
          <pre class="programlisting">
&lt;ribbon startFromScratch="true"&gt;</pre>
        </div>
        <p class="para">如果指定 startFromScratch 为 true，当自定义的功能区加载时 Access 隐藏功能区上四个主选项卡。另外，当你点击 Microsoft Office 按钮时，Access 只显示 New (新建)、Open (打开)、Save As (另存为)、Close Database (关闭数据库)、Access Options (Access 选项)、以及 Exit Access (退出 Access)。同时 Quick Access Toolbar (快速访问工具栏) 除箭头和箭头下只能选择将 Quick Access Toolbar (快速访问工具栏) 放置在功能区上方或下方和最小化功能区外不显示其它选项。如果要有更多的控制接口和只显示为最终用户自定义的功能区，你必须将 XML 属性 (译者注，startFromScratch) 设置为 True。如果将 startFromScratch 设置为 False，Access 不会隐藏任何功能区上的主选项卡，并且，<a name="3099"></a><a name="IDX-"></a>在你点击 Microsoft Office 按钮时不隐藏菜单上的任何选项。任何你创建的新的选项卡会显示 Database Tools (数据库工具) 选项卡的右侧。 </p>
        <p class="para">在前面的两行之后，你可以开始建立任何选项卡、分组、按钮、以及其它的功能区元件。从现在起，我们使用一些最终的功能区标记和 customUI 来完成这个简单的 XML 示例。XML 应该如下面的这个样子： </p>
        <div class="informalexample">
          <div class="widecontent">
            <pre class="programlisting">
&lt;customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"&gt;
   &lt;ribbon startFromScratch="true"&gt;
   &lt;/ribbon&gt;
&lt;/customUI&gt;</pre>
          </div>
        </div>
      </div>
      <div class="section">
        <h4 class="sect4-title"> <a name="3100"></a><a name="ch23lev3"></a>测试 XML</h4>
        <p class="first-para">书写 XML 时，一边测试确保它能正常工作是一个不错的好主意。这样，你可以简化系统地测试主要步骤，调试出现在 XML 中的任何问题。选取你已经建立的 XML，并将它复制到粘贴板，接下来，在 Conrad Systems Contacts 数据库中打开 zfrmChangeRibbonXML 窗体，并新建记录。在 Ribbon Name 文本框为这个新的功能区输入名称为 <b class="bold">rbnTest</b>，最后，按 Tab 键将光标移到 Ribbon XML 文本框中，按下 Ctrl+V 将粘贴板中的 XML 内容粘贴过来。在窗体中的记录应该如 <a class="internaljump" href="#ch2">图 23&ndash;24</a> 所示。<a name="3101"></a><a name="IDX-"></a> </p>
        <div class="figure"> <a name="3102"></a><a name="ch2"></a><span class="figuremediaobject"><a href="images/fig1314_01_0.jpg" NAME="IMG_1043" target="_parent"><img alt="Image from book" id="IMG_1043" src="images/fig1314_01.jpg" height="196" width="350" title="Click To expand" border="0"></a></span> <br style="line-height: 1">
          <span class="figure-title"><span class="figure-titlelabel">图 23&ndash;24: </span>通过使用 zfrmChangeRibbonXML 在 USysRibbons 表中输入新记录测试功能区。</span> </div>
        <p class="para">关闭 zfrmChangeRibbonXML 窗体，保存对 USysRibbons 表的修改。要你的测试窗体显示这个功能区，看看它是如何工作，你需要为这个窗体的 Ribbon Name (功能区名称) 属性指派为 rbnTest。在这样做之前，你需要关闭数据库并重新打开它。你还记得在前面提到的 Access 在启动应用程序过程中首先会找到数据库中的 USysRibbons 表并加载所有的功能区。因为，你刚新增的记录，Access 并没有立即加载这个功能区到内存中。如果你在这个时候打开测试窗体的属性表，在 Ribbon Name (功能区名称) 属性选项中看不到 rbnTest。(注，你可以在属性中键入 rbnTest，但仍然在关闭和重新打开数据库之间看不到这个功能区。) </p>
        <p class="para">现在关闭数据库然后重新打开，以使 Access 将新的测试功能区加载到内存。在重新打开数据库之后，以 Design View (设计视图) 打开测试窗体 frmRibbon。在功能区的 Design (设计) 选项卡中的 Tools (工具) 分组中点击 Property Sheet (属性表) 按钮。在属性表中的 Other (其它) 或者 All (所有) 选项卡中，找到 Ribbon Name (功能区名称) 属性行并点击其下拉箭头，从列表中的四个功能区中选择 rbnTest。在 Quick Access Toolbar (快速访问工具栏) 上点击 Save (保存) 按钮，然后重新以 Form (窗体) 视图打开这个窗体，以察看测试结果。 </p>
        <p class="para">当使用窗体视图打开 frmRibbonTest 窗体时，你会发现整个功能区不见了，如 <a class="internaljump" href="#ch2">图 23&ndash;25</a> 所示。Access 还同时隐藏除了打开 Quick Access Toolbar (快速访问工具栏) 菜单的箭头之外的 Quick Access Toolbar (快速访问工具栏) 上的所有按钮。点击 Microsoft Office 按钮，你会发现 Access 缩减了菜单项目，正如我们前面讨论的那样。这是因为你在 XML 中指定了 startFromScratch=True 同时也没有指定任何其它自定义的选项卡的缘故。目前，Access 显现出非常有限的用户接口。如果你想提供诸如直接在窗体上筛选、排序的特定操作，无疑需要改善这个自定义功能区避免这种光秃秃的情形。<a name="3103"></a><a name="IDX-"></a> </p>
        <div class="figure"> <a name="3104"></a><a name="ch2"></a><span class="figuremediaobject"><a href="images/fig1315_01_0.jpg" NAME="IMG_1044" target="_parent"><img alt="Image from book" id="IMG_1044" src="images/fig1315_01.jpg" height="104" width="350" title="Click To expand" border="0"></a></span> <br style="line-height: 1">
          <span class="figure-title"><span class="figure-titlelabel">图 23&ndash;25: </span>初期创建的简单的 XML 完整地隐藏功能区</span> </div>
        <table border="0" cellspacing="0" cellpadding="0" class="note">
          <tr>
            <td valign="top" class="admon-check"></td>
            <td valign="top" class="admon-title" width="288">Inside Out-显示 Ribbon (功能区) 错误&nbsp;</td>
            <td valign="top" class="admon-body"><p class="first-para">如果创建的功能区的 XML 没有成型，Access 不会显示自定义功能区。这种情况，Access 显示内建的四个功能区主选项卡，因为它不能解析和显示恰当的自定义元件。在这种情况下，Access 不是宽容的，只要有一个小小错误就会导致 XML 不能成型，造成 Access 显示原始的功能区。由于 Access 不能自动显示错误，你很难调试 XML 以找到编写的 XML 中的错误。 </p>
              <p class="para">幸运的是，Access 包括一个选项可以让你允许显示这些情形下出现的错误。点击 Microsoft Office 按钮，点击 Access Options (Access 选项)，点击 Advanced (高级) 分类，然后拉动滚动条到 General (常规) 节，选择 Show Add-in User Interface Error (显示加载项用户接口错误) 复选框 (默认是未选择的)，然后点击 OK (确定)，如果在 XML 中 Access 发现了错误将会显示一个对话框。例如，选择，选择 Show Add-in User Interface Error (显示加载项用户接口错误) 复选框并在功能区 XML 的第三行开始处多加一个 &lt; 字符，当打开测试窗体时 Access 会显示如下错误信息(当然是关闭数据库并重新打开数据库之后)： </p>
              <div class="informalfigure"> <span class="figuremediaobject"><a href="images/fig1316_01_0.jpg" NAME="IMG_1045" target="_parent"><img alt="Image from book" id="IMG_1045" src="images/fig1316_01.jpg" height="111" width="350" title="Click To expand" border="0"></a></span> </div>
              <p class="last-para">你会在这个错误消息文本中看到 Access 在 XML 的第 3 行找到这个错误。选择了 Show Add-in User Interface Error (显示加载项用户接口错误) 选项可以帮助你调试自定义功能区的 XML。 </p></td>
          </tr>
        </table>
      </div>
      <div class="section">
        <h4 class="sect4-title"> <a name="3105"></a><a name="ch23lev3"></a>创建选项卡</h4>
        <p class="first-para">在某些应用程序中需要创建一个没有功能区显示的接口，就像上面测试的一样。但是，如果你想为你的窗体提供给用户在 Home (开始) 选项卡上加入导航和筛选选项呢？在自定义的功能上添加按钮和控件，首先你需要创建一个选项卡以容纳这些控件。Access 功能区架构使用 <i class="emphasis">tabs</i> 标记指明功能区上新建的选项卡。 </p>
        <p class="para">打开 Notepad (记事本) (或者其它的 XML 编辑器)，打开早先建立的 XML 文件。创建一个新的选项卡，首先需要按照下面的语法行使用一个 tabs 标记 (&lt;tabs&gt;) ： </p>
        <div class="informalexample">
          <pre class="programlisting">
&lt;tab <i class="emphasis">id=UniqueTabName label=LabelCaption</i>&gt;
</pre>
        </div>
        <a name="3106"></a><a name="IDX-"></a>
        <p class="para">其中 id 是必须的，其值 UniqueTabName 必须是功能区 XML 中唯一的名称，标题 Label 属性是可选的，但如果没有给选项卡的标题赋值，Access 会显示成一个很小、空头选项选项卡。在任何一个 XML tab 标记的最后，都必须使用一个 tab 结束标记 (&lt;/tab&gt;) 来关闭这个标记。例如，我们创建一个名为 tabTest 标题为 Navgition 的新的选项卡。在功能区选项卡 (&lt;ribbon&gt; 和 &lt;/ribbon&gt;) 之间添加下列 XML 创建新的选项卡： </p>
        <div class="informalexample">
          <pre class="programlisting">
&lt;tabs&gt;
  &lt;tab id="tabTest" label="Navgition"&gt;
  &lt;/tab&gt;
&lt;/tabs&gt;</pre>
        </div>
        <p class="para">完整的 XML 应该是下面这个样子：</p>
        <div class="informalexample">
          <div class="widecontent">
            <pre class="programlisting">
&lt;customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"&gt;
  &lt;ribbon startFromScratch="true"&gt;
    &lt;tabs&gt;
      &lt;tab id="tabTest" label="Navigation"&gt;
      &lt;/tab&gt;
    &lt;/tabs&gt;
  &lt;/ribbon&gt;
&lt;/customUI&gt;</pre>
          </div>
        </div>
        <p class="para">好了，现在我们测试一下。选取创建的所有的 XML 代码，复制到剪贴板，接下来，在 Conrad Systems Contacts 数据库中打开 zfrmChangeRibbonXML 窗体，导航到 Ribbon Name 字段值为 rbnTest 的记录，按 Tab 键将光标移动到 Ribbon XML 文本框，选取所有的内容，按 Ctrl+V 粘贴剪贴板上的内容覆盖原来的 XML。关闭 zfrmChangeRibbonXML 窗体保存 USysRibbons 表改变。最后，关闭数据库并重新打开它，然后以窗体视图打开 frmRibbonTest 窗体。Access 现在显示一个全新的标题为 Navigation 的功能区，如 <a class="internaljump" href="#ch2">图 23&ndash;26</a> 所示。 <a name="3107"></a><a name="IDX-"></a> </p>
        <div class="figure"> <a name="3108"></a><a name="ch2"></a><span class="figuremediaobject"><a href="images/fig1317_01_0.jpg" NAME="IMG_1046" target="_parent"><img alt="Image from book" id="IMG_1046" src="images/fig1317_01.jpg" height="157" width="313" title="Click To expand" border="0"></a></span> <br style="line-height: 1">
          <span class="figure-title"><span class="figure-titlelabel">图 23&ndash;26: </span>为功能区自定义选项卡</span> </div>
      </div>
      <div class="section">
        <h4 class="sect4-title"> <a name="3109"></a><a name="ch23lev3"></a>Adding Built-In Groups to Tabs 在选项卡中添加内建的分组</h4>
        <p class="first-para">现在已经有了一个新的选项卡，可以在这个选项卡中开始添加控件。如果用户想使用原来 Home (开始) 选项卡上的 Records (记录)、Sort &amp; Filter (排序和筛选)、以及 Find (查找) 分组上的按钮和命令来帮助导航联系记录，你可以编写 XML 创建自定义的按钮来分别模拟这三个分组中的操作按钮，但更简单的方法是，使用 RibbonX 的结构，复制内建分组中按钮、命令、选项到自定义的选项卡上。(我们将在 <a href="BBL0181.html#3118" target="_parent" class="chapterjump">第 24 章</a> 讲解如何在选项卡创建单独的按钮。) </p>
        <p class="para">打开 Notepad (记事本) (或者其它的 XML 编辑器)，打开早先创建的 XML 文件，要在自定义选项卡上使用一个内建的分组，使用下面的语法：</p>
        <div class="informalexample">
          <pre class="programlisting">
&lt;group idMso=ControlID&gt;</pre>
        </div>
        <p class="para">可以在 tab 定义的范围 (tags 标记内的由 &lt;tab&gt; &lt;/tab&gt; 组成的范围) 内的任何地方添加这个标记。可以使用 idMso 属性来指明定义在 RibbonX 结构内的内建控件的 ID。功能区中每个内建的按钮、分组、和选项卡都有一个内部的控件 ID，可以通过这个 ID 来进行引用。在这种情形下，下面演示在自定义的选项卡上如何使用 idMso 属性来引用一个指定的分组。为了帮助识别这些分组的名称，可以查阅 <a target="_top" class="url" href="http://www.microsoft.com/downloads/details.aspx?familyid=4329d9e9%E2%80%934d11%E2%80%9346a5%E2%80%93898d-23e4f331e9ae&displaylang=en"><i class="emphasis">Microsoft Office system Document Lists of Control IDs</i></a> Excel 工作表，这个工作表中完整地记录了这些内部控件的 ID。例如，要添加原先在 Home (开始) 选项卡上的 Records (记录) 分组到我们自定义的 Navigation 选项卡上帮助用户添加、删除记录，从工作表上可以查到 Records (记录) 分组的 ID 为 GroupRecords，在选项卡 tab 标记内添加 group 标记，使用其 idMso 属性指明这个 ID 即可，记住，一定要使用 &lt;/group&gt; 来关闭这个标记。其 XML 如下：</p>
        <div class="informalexample">
          <pre class="programlisting">
&lt;group idMso="GroupRecords"&gt;
&lt;/group&gt;</pre>
        </div>
        <p class="para">完整的 XML 如下:</p>
        <div class="informalexample">
          <div class="widecontent">
            <pre class="programlisting">
&lt;customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"&gt;
  &lt;ribbon startFromScratch="true"&gt;
    &lt;tabs&gt;
      &lt;tab id="tabTest" label="Navigation"&gt;
        &lt;group idMso="GroupRecords"&gt;
        &lt;/group&gt;
      &lt;/tab&gt;
    &lt;/tabs&gt;
  &lt;/ribbon&gt;
&lt;/customUI&gt;</pre>
          </div>
        </div>
        <p class="para">我们再来看看测试窗体测试的情况。和前面做的一样，使用 zfrmChangeRibbonXML 窗体，将新的 XML 复制到 UsysRibbons 表中字段 RibbonName 值为 rbnTest 的字段 RibbonXml 中，替换原来的内容。关闭数据库并重新打开数据库。以窗体视图打开 frmRibbonTest 窗体，Access 就会在自定义的 Navigation 选项卡上显示原来 Records (记录) 分组上的所有控件，如 <a class="internaljump" href="#ch2">图 23&ndash;27</a> 所示。如果测试一下上面的按钮，其效果与原来的 Home (开始) 选项卡上的没有什么区别。 </p>
        <div class="figure"> <a name="3111"></a><a name="ch2"></a><span class="figuremediaobject"><a href="images/fig1319_01_0.jpg" NAME="IMG_1047" target="_parent"><img alt="Image from book" id="IMG_1047" src="images/fig1319_01.jpg" height="156" width="300" title="Click To expand" border="0"></a></span> <br style="line-height: 1">
          <span class="figure-title"><span class="figure-titlelabel">图 23&ndash;27: </span>在自定义的选项卡上显示内建的 Records (记录) 分组。</span> </div>
        <table border="0" cellspacing="0" cellpadding="0" class="note">
          <tr>
            <td valign="top" class="admon-check"></td>
            <td valign="top" class="admon-title" width="424">Inside Out-查找内建控件 ID&nbsp;</td>
            <td valign="top" class="admon-body"><p class="first-para">你还可以通过 Access Options (Access 选项) 对话框的 Customize (自定义) 分类来查找内建控件 ID。点击 Microsoft Office 按钮，点击 Access Options (Access 选项)，然后选择 Customize (自定义) 分类，在右边列表的左侧，可以看到 Access 的内建命令列表。当鼠标移动到列出的命令上停留一下，Access 就会显示 ScreenTips (屏幕提示)，提示中就包括了这个内部控件的 ID。在命令的右侧有一个下拉箭头，可以帮助你识别分组。在列表的上方有一个组合框，在这个组合框中可以选择你想查找的选项卡。例如，Home Tab (开始 选项卡) 上的 Records (记录) 的包含它的控件 ID 的屏幕提示，如下图所示。</p>
              <div class="informalfigure"> <span class="figuremediaobject"><a href="images/fig1319_02_0.jpg" NAME="IMG_1048" target="_parent"><img alt="Image from book" id="IMG_1048" src="images/fig1319_02.jpg" height="221" width="307" title="Click To expand" border="0"></a></span> </div></td>
          </tr>
        </table>
        <a name="3112"></a><a name="IDX-"></a>
        <p class="para">现在，已经在选项卡添加了 Records (记录) 分组。最后，我们再在自定义的功能区的选项卡上还添加 Sort & Filter (排序和筛选)、Find (查找) 分组。打开 Notepad (记事本) (或者其它的 XML 编辑器)，打开早先的 XML 文件。通过查找我们得知，Sort & Filter (排序和筛选) 分组的控件 ID 为 GroupSortAndFilter，Find (查找) 分组的控件 ID 为 GroupFindAccess，在上一个 group 标记之后添加下列行：</p>
        <div class="informalexample">
          <pre class="programlisting">
&lt;group idMso="GroupSortAndFilter"&gt;
&lt;/group&gt;
&lt;group idMso="GroupFindAccess"&gt;
&lt;/group&gt;</pre>
        </div>
        <p class="para">最后的 XML 如下：</p>
        <div class="informalexample">
          <div class="widecontent">
            <pre class="programlisting">
&lt;customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"&gt;
  &lt;ribbon startFromScratch="true"&gt;
    &lt;tabs&gt;
      &lt;tab id="tabTest" label="Navigation"&gt;
        &lt;group idMso="GroupRecords"&gt;
        &lt;/group&gt;
        &lt;group idMso="GroupSortAndFilter"&gt;
        &lt;/group&gt;
        &lt;group idMso="GroupFindAccess"&gt;
        &lt;/group&gt;
      &lt;/tab&gt;
    &lt;/tabs&gt;
  &lt;/ribbon&gt;
&lt;/customUI&gt;</pre>
          </div>
        </div>
        <p class="para">现在，我们再用测试窗体测试一下完整的 XML。如前一样，选取迄今为止的全部 XML 代码，按 Ctrl+C 复制到剪贴板上。以窗体视图打开 Conrad Systems Contacts 数据库中的 zfrmChangeRibbonXML 窗体，在 rbnTest 的记录上将剪贴板上的内容粘贴到 Ribbon XML 文本框中替换原来的内容。关闭 zfrmChangeRibbonXML 窗体，保存 USysRibbons 表的变更。关闭数据库并重新打开数据库，使 Access 加载新的自定义功能区。最后，打开 frmRibbonTest 窗体以查看结果。Access 现在已经在自定义的 Navigation 选项卡上显示出了 Records (记录)、Sort & Filter (排序和筛选)、Find (查找) 三个分组的所有按钮和命令， 如 <a class="internaljump" href="#ch2">图 23&ndash;28</a> 所示。只需要少量的 XML 代码行，你就可以为你的应用程序创建自定义功能区。你可以指派这个功能区给应用程序中的任何窗体。而且，由于 XML 是存储在本地表中，可以非常方便将导入到其它数据库中予以重用。 <a name="3113"></a><a name="IDX-"></a></p>
        <div class="figure"> <a name="3114"></a><a name="ch2"></a><span class="figuremediaobject"><a href="images/fig1321_01_0.jpg" NAME="IMG_1049" target="_parent"><img alt="Image from book" id="IMG_1049" src="images/fig1321_01.jpg" height="112" width="350" title="Click To expand" border="0"></a></span> <br style="line-height: 1">
          <span class="figure-title"><span class="figure-titlelabel">图 23&ndash;28: </span>创建的包含三个内建分组按钮和命令的自定义功能区。</span> </div>
        <p class="last-para">你现在对于包含在 Access 2007 中集成 Web 技术有了非常不错的理解。在本书的 <font color=blue><u>第 6 部分</u></font>，我们将延伸 RibbonX 结构的讨论，通过使用 Visaul Basic 展示 Ribbons (功能区) 的更高级的概念。我们将展示如何创建自定义按钮和加载自定义 Ribbon (功能区) 架构。你还将学习有关于完成数据库设计之后附加特征的方法。<a name="3115"></a><a name="IDX-"></a> <a name="3116"></a><a name="IDX-"></a> </p>
      </div>
    </div>
  </div>
</div></p>]]></description>
      <wfw:commentRss><![CDATA[http://bcd.office-cn.net/feed.asp?q=comment&id=69]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[利用系统工具HH.EXE反编译CHM文件]]></title> 
      <link><![CDATA[http://bcd.office-cn.net/article.asp?id=68]]></link> 
      <category><![CDATA[综合文章]]></category> 
      <author><![CDATA[bcd <null@null.com>]]></author> 
      <pubDate>Sun, 01 Jun 2008 11:50:03 +0800</pubDate> 
      <description><![CDATA[作者：electronixtar<br /><br />hh.exe不仅可以用来看 .chm 文件，而且可以用来反编译 .chm 文件。 <br />­<br />它有一个隐藏开关（undocumented parameter）: -decompile <br />­<br /><b>命令格式</b>： <br />­<br /><b>HH.EXE</b> <span style="color:Green">-decompile</span> &lt;输出路径&gt; &lt;目标chm文件&gt;]]></description>
      <wfw:commentRss><![CDATA[http://bcd.office-cn.net/feed.asp?q=comment&id=68]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[Windows XP 如何按权限设置共享]]></title> 
      <link><![CDATA[http://bcd.office-cn.net/article.asp?id=67]]></link> 
      <category><![CDATA[综合文章]]></category> 
      <author><![CDATA[朱亦文 <null@null.com>]]></author> 
      <pubDate>Wed, 28 May 2008 19:55:55 +0800</pubDate> 
      <description><![CDATA[在Windows XP中，默认使用的是“使用简单文件共享”，因此，不能在共享时设定用户的各种使用权限，例如，读、写、更改、运行等权限。 <br /><br />为了能够精确控制各种权限，Windows XP要求共享文件夹所在驱动器必须是NTFS格式的文件系统。<br /><br />现在假设D:磁盘驱动器是NTFS格式的文件系统，要在DATA文件夹上<b>设置用户组ShareUsers使用权限</b>。<br /><br /><b>1、创建用户组</b>。<br /><br />打开“控制面板”-“管理工具”-“计算机管理”，展开“本地用户和组”，选择“组”，点击菜单“操作”-“新建组”，在“新建组”对话框中，填入“组名”：ShareUsers，在“描述”中填入：共享文件夹用户组，然后点击“创建”按键钮，最后点击“关闭”关闭对话框。<br /><br /><b>2、创建用户</b>。<br /><br />选择“用户”，点击菜单“操作”-“新用户”，在“新用户”对话框中，填入“用户名”：FileUser，“描述”：文件共享用户，在“密码”和“确认密码”中设置该用户的密码：PassCode（你要根据你的实际进行设置），去掉“用户下次登录时须更改密码”的选项，勾选“用户不能更改密码”选项（这样做的目的是能给自己最大的控制权），点击“创建”按钮，最后点击“关闭”按钮。<br /><br /><b>3、将用户FileUser加入到ShareUsers用户组</b>。<br /><br />双击“FileUser”用户，打开“FileUser属性”对话框，选择“隶属于”标签，点击“添加”按钮，在“选择组”对话框中，填入“输入对象名称来选择”：ShareUsers，然后点击右侧的“检查名称”按钮，点击“确定”，这样就把ShareUsers添加到了“隶属于”列表框中。<br /><br /><b>4、删除“隶属于”列表框中Users用户组</b>。<br /><br />由于Users用户是系统默认的用户组，系统设置了一些默认，而我们并不想FileUser用户来继承这些权限，因此，要从这个列表中删除这个Users用户组。选择“隶属于”列表框中的Users，点击“删除”按钮即可，最后点击“确定”按钮，关闭对话框。<br /><br /><b>5、关闭“计算机管理”窗口</b>。<br /><br />通过上面五个步骤，我们已经创建并设定好了用户组ShareUsers和用户FileUser。<br /><br />接下来，我们<b>创建共享并设置权限</b>。<br /><br /><b>1、设置不使用“使用简单文件共享”。</b><br /><br />打开“我的电脑”，为了避免“使用简单文件共享”，点击菜单“工具”-“文件夹选项”打开“文件夹选项”对话框，选择“查看”标签，在“高级设置”中，去掉“使用简单文件共享(推荐)”的选项，最后点击“确定”按钮，关闭对话框。<br /><br /><b>2、设置共享。</b><br /><br />打开“D:”，选择要设置共享的文件夹DATA，在左侧的“文件和文件夹任务”面板中点击“共享此文件夹”打开“DATA属性”对话框，选择“共享此文件夹”，这时在“共享名”会自动填入当前文件夹的名称作为共享名，为了让大家能够很清楚的了解这个共享文件夹的用户，我们在“描述”中填入描述，例如：不是每个人都能访问的哟。<br /><br /><b>3、设置权限。</b><br /><br />设置那些用户可以访问。点击“权限”按钮，打开“DATA的权限”对话框，由于不希望所有的人都能访问，因此，要删除Everyone这个用户组，或者取消Everyone的所有权限，在“组或用户名称”列表框中，选择Everyone用户组，在“Everyone的权限”列表框中，去掉所有的允许选项（默认允许读取）。点击“添加”按钮打开“选择用户或组”对话框，在“输入对象名称来选择”列表框中，填入：ShareUsers，点击右侧的“检查名称，点击“确定”按钮，关闭对话框，将ShareUsers加入到列表中，选择ShareUsers，我们就可以在“ShareUsers的权限”中控制ShareUsers组的访问权限了，例如：勾选“完全控制”，点击“确定”按钮，关闭对话框。为了不继承Everyone的安全权限，必须，在磁盘驱动器D:的安全设置中将Everyone用户组删除。<br /><br /><b>4、设置DATA的安全。</b><br /><br />尽管作到上面的这些，我们还不能完全控制用户对文件的操作。因为磁盘文件的访问还受到NTFS文件系统的控制，因此，我们要设置DATA文件夹的安全。选择“安全”标签，在“组或用户名称”列表中，我们既看不到ShareUsers用户组，也看不到FileUser，也就是说，FileUser根本就不能操作这个文件夹的内容，没有权限，因此，我们要将ShareUsers用户组添加到列表中。点击“添加”按钮，打开“选择用户或组”对话框，在“输入对象名称来选择”列表框中，填入：ShareUsers，点击右侧的“检查名称，点击“确定”按钮，关闭对话框，将ShareUsers加入到列表中，选择ShareUsers，将ShareUsers加入到列表中，选择ShareUsers，我们就可以在“ShareUsers的权限”中控制ShareUsers组的访问权限了，想怎么样控制就怎么样控制了，最后点击“确定”按钮，关闭“DATA属性”对话框。<br /><br /><img src="http://bcd.office-cn.net/styles/default/images/smilies/icon_star.gif" border="0" alt="[star]" /> 注意：允许与拒绝的设置一定要明确指出，如果还不够精确控制，可以点击“高级”按钮，进行更精确的设置。]]></description>
      <wfw:commentRss><![CDATA[http://bcd.office-cn.net/feed.asp?q=comment&id=67]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[Access 2007 下载：Access Runtime]]></title> 
      <link><![CDATA[http://bcd.office-cn.net/article.asp?id=64]]></link> 
      <category><![CDATA[下载]]></category> 
      <author><![CDATA[bcd <null@null.com>]]></author> 
      <pubDate>Wed, 28 May 2008 16:03:55 +0800</pubDate> 
      <description><![CDATA[<b>详细信息</b><br />文件名： AccessRuntime.exe <br />版本： 2 <br />发布日期： 2008/3/31 <br />语言： 简体中文 <br />下载大小： 72.5 MB <br /><br /><b>概述</b><br />Microsoft Office Access 2007 包含一系列易于使用的自定义工具，为开发数据库管理解决方案提供了一个内容丰富的平台。如果最终用户不需要自定义（包括修改报表），则可以选择直接分发这些 Access 2007 解决方案，这样无需安装完整的 Access 2007 即可运行它们。为此，必须使用 Access 2007 Runtime 打包并分发您的应用程序。<br /><br />与以前的运行库类似，Access 2007 Runtime 也删除或禁用了与设计有关的所有 UI。<br /><br />您无需购买任何专门的 SKU 即可重新分发 Access 2007 Runtime。您可以免费重新分发此程序，也可以将用户引向此下载。<br /><br />有关 Access 2007 Developer Extensions 的信息，请参阅 <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=D96A8358-ECE4-4BEE-A844-F81856DCEB67&amp;displaylang=en" title="http://www.microsoft.com/downloads/details.aspx?FamilyId=D96A8358-ECE4-4BEE-A844-F81856DCEB67&amp;displaylang=en" target="_blank">Access 2007 下载：Access Developer Extensions（英文）</a>。<br /><br />有关构建和分发包含 Microsoft Office Access 2007 Runtime 的解决方案的信息，请参阅<a href="http://msdn2.microsoft.com/zh-cn/library/bb501030(en-us).aspx" title="http://msdn2.microsoft.com/zh-cn/library/bb501030(en-us).aspx" target="_blank">部署基于 Access 2007 Runtime 的解决方案（英文）</a>。<br /><br /><b>链接地址</b>：<a href="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&amp;FamilyID=d9ae78d9-9dc6-4b38-9fa6-2c745a175aed" title="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&amp;FamilyID=d9ae78d9-9dc6-4b38-9fa6-2c745a175aed" target="_blank">http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&amp;FamilyID=d9ae78d9-9dc6-4b38-9fa6-2c745a175aed</a>]]></description>
      <wfw:commentRss><![CDATA[http://bcd.office-cn.net/feed.asp?q=comment&id=64]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[Access 2007 Download: Access Developer Extensions]]></title> 
      <link><![CDATA[http://bcd.office-cn.net/article.asp?id=63]]></link> 
      <category><![CDATA[下载]]></category> 
      <author><![CDATA[bcd <null@null.com>]]></author> 
      <pubDate>Wed, 28 May 2008 15:29:02 +0800</pubDate> 
      <description><![CDATA[<b>Details</b><br />File Name: AccessDeveloperExtensions.exe <br />Version: Jun07 <br />Date Published: 6/25/2007 <br />Language: English <br />Download Size: 1.4 MB <br /><br /><b>Overview</b><br />The Access 2007 Developer Extensions provide packaging and deployment tools and licensing and distribution agreements to make it easier for developers to bring solutions to market. Whether you are working in a small business or a large enterprise, as a third-party or an internal developer, the Access 2007 Developer Extensions can facilitate the deployment and management of Access 2007 solutions. <br /><br />The Access Developer Extensions include the following components:<ul class="ubb-list" ><li><b>Package Solution Wizard</b></li><br />A wizard that creates a Windows Installer Package (MSI) to install your database and any supporting files and optionally includes the Access 2007 Runtime, or prompts the user to download the Access 2007 Runtime.<br /><br /><li><b>Save As Template</b></li><br />Enables you to create database templates (ACCDTs) that can be featured in the Access 2007 Getting Started screen.<br /><br /><li><b>Source Code Control</b></li><br />Integration with Microsoft Visual SourceSafe or other source code control systems to allow check-in/check-out of queries, forms, reports, macros, modules, and data. You can also see the differences that have been made to your checked out objects.</ul>The Access 2007 Developer Extensions do not include the Property Scanner and the Customer Startup Wizard that were included in previous versions. <br /><br />The Access 2007 Runtime is also available as a download. For more information, see <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&amp;FamilyID=d9ae78d9-9dc6-4b38-9fa6-2c745a175aed" title="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&amp;FamilyID=d9ae78d9-9dc6-4b38-9fa6-2c745a175aed" target="_blank">Access 2007 Download: Access Runtime</a>.<br /><br />链接地址：<a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=D96A8358-ECE4-4BEE-A844-F81856DCEB67&amp;displaylang=en" title="http://www.microsoft.com/downloads/details.aspx?FamilyId=D96A8358-ECE4-4BEE-A844-F81856DCEB67&amp;displaylang=en" target="_blank">http://www.microsoft.com/downloads/details.aspx?FamilyId=D96A8358-ECE4-4BEE-A844-F81856DCEB67&amp;displaylang=en</a>]]></description>
      <wfw:commentRss><![CDATA[http://bcd.office-cn.net/feed.asp?q=comment&id=63]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[全面揪出系统自启动程序]]></title> 
      <link><![CDATA[http://bcd.office-cn.net/article.asp?id=55]]></link> 
      <category><![CDATA[综合文章]]></category> 
      <author><![CDATA[bcd <null@null.com>]]></author> 
      <pubDate>Wed, 28 May 2008 14:20:40 +0800</pubDate> 
      <description><![CDATA[<b>原文地址</b>：<a href="http://www.tommsoft.com/View.aspx?type=articles&amp;ID=3" title="http://www.tommsoft.com/View.aspx?type=articles&amp;ID=3" target="_blank">http://www.tommsoft.com/View.aspx?type=articles&amp;ID=3</a><br /><br />有时你会发觉电脑越来越慢了，可能是你装的随windows运行而启动的软件太多了，可能是你中病毒了，这时候你就需要知道电脑启动了一些什么软件。正规的软件，你能很容易的发现它的所在，而那些狡猾或不怀好意的软件就会东躲西藏，让还不十分熟悉电脑的人难以找到。下面就把各种随windows运行而启动的程序可能躲藏的地方，一一给大家指出来：  <br /><br />　　<b>一、经典的启动——“启动”文件夹</b>  <br /><br />　　单击“开始→程序”，你会发现一个“启动”菜单，这就是最经典的Windows启动位置，右击“启动”菜单选择“打开”即可将其打开，其中的程序和快捷方式都会在系统启动时自动运行。  <br /><br />　　<b>二、有名的启动——注册表启动项</b>  <br /><br />　　注册表是启动程序藏身之处最多的地方，主要有以下几项：  <br /><br />　　1.Run键  <br /><br />　　Run键是病毒最青睐的自启动之所，该键位置是[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]和[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]，其下的所有程序在每次启动登录时都会按顺序自动执行。  <br /><br />　　还有一个不被注意的Run键，位于注册表[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]，也要仔细查看。  <br /><br />　　2.RunOnce键  <br /><br />　　RunOnce位于[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce]和[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce]键，与Run不同的是，RunOnce下的程序仅会被自动执行一次。  <br /><br />　　3.RunServicesOnce键  <br /><br />　　RunServicesOnce键位于[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce]和[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce]下，其中的程序会在系统加载时自动启动执行一次  <br />　　4.RunServices键  <br /><br />　　RunServices继RunServicesOnce之后启动的程序，位于注册表[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices]和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices]键。  <br /><br />　　5.RunOnceEx键  <br /><br />　　该键是Windows XP/2003特有的自启动注册表项，位于[HKEY_CURRENT_USER\\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx]和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx]。  <br /><br />　　6.load键　　  <br /><br />　　[HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Windows]下的load键值的程序也可以自启动。  <br /><br />　　7.Winlogon键  <br /><br />　　该键位于位于注册表[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]，注意下面的Notify、Userinit、Shell键值也会有自启动的程序，而且其键值可以用逗号分隔，从而实现登录的时候启动多个程序。  <br /><br />　　8.其他注册表位置  <br /><br />　　还有一些其他键值，经常会有一些程序在这里自动运行，如：　　  <br /><br />　　[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\Shell][HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad][HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System\Scripts][HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\System\Scripts]  <br /><br />　　<img src="http://bcd.office-cn.net/styles/default/images/smilies/icon_idea.gif" border="0" alt="[idea]" /> 小提示：  <br /><br />　　注册表的[HKEY_LOCAL_MACHINE]和[HKEY_CURRENT_USER]键的区别：前者对所有用户有效，后者只对当前用户有效。  <br /><br />　　<b>三、古老的启动——自动批处理文件</b>  <br /><br />　　从DOS时代过来的朋友肯定知道autoexec.bat(位于系统盘根目录)这个自动批处理文件，它会在电脑启动时自动运行，早期许多病毒就看中了它，使用deltree、format等危险命令来破坏硬盘数据。如“C盘杀手”就是用一句“deltree /y c:\*.*”命令，让电脑一启动就自动删除C盘所有文件，害人无数。  <br /><br />　　<img src="http://bcd.office-cn.net/styles/default/images/smilies/icon_idea.gif" border="0" alt="[idea]" /> 小提示  <br /><br />　　★在Windows 98中，Autoexec.bat还有一个哥们——Winstart.bat文件，winstart.bat位于Windows文件夹，也会在启动时自动执行。  <br /><br />　　★在Windows Me/2000/XP中，上述两个批处理文件默认都不会被执行。 <br /><br />　　<b>四、常用的启动——系统配置文件</b>  <br /><br />　　在Windows的配置文件(包括Win.ini、System.ini和wininit.ini文件)也会加载一些自动运行的程序。  <br /><br />　　1.Win.ini文件  <br /><br />　　使用“记事本”打开Win.ini文件，在[windows]段下的“Run=”和“LOAD=”语句后面就可以直接加可执行程序，只要程序名称及路径写在“＝”后面即可。  <br /><br />　　<img src="http://bcd.office-cn.net/styles/default/images/smilies/icon_idea.gif" border="0" alt="[idea]" /> 小提示  <br /><br />　　“load=”后面的程序在自启动后最小化运行，而“run=”后程序则会正常运行。  <br /><br />　　2.System.ini文件  <br /><br />　　使用“记事本”打开System.ini文件，找到[boot]段下“shell=”语句，该语句默认为“shell=Explorer.exe”，启动的时候运行Windows外壳程序explorer.exe。病毒可不客气，如“妖之吻”病毒干脆把它改成“shell=c:\yzw.exe”，如果你强行删除“妖之吻”病毒程序yzw.exe，Windows就会提示报错，让你重装Windows，吓人不？也有客气一点的病毒，如将该句变成“shell=Explorer.exe 其他程序名”，看到这样的情况，后面的其他程序名一定是病毒程序如图2所示。  <br /><br />　　3.wininit.ini  <br /><br />　　wininit.ini文件是很容易被许多电脑用户忽视的系统配置文件，因为该文件在Windows启动时自动执后会被自动删除，这就是说该文件中的命令只会自动执行一次。该配置文件主要由软件的安装程序生成，对那些在Windows图形界面启动后就不能进行删除、更新和重命名的文件进行操作。若其被病毒写上危险命令，那么后果与“C盘杀手”无异。  <br /><br />　　<img src="http://bcd.office-cn.net/styles/default/images/smilies/icon_idea.gif" border="0" alt="[idea]" /> 小提示  <br /><br />　　★如果不知道它们存放的位置，按F3键打开“搜索”对话框进行搜索；  <br /><br />　　★单击“开始→运行”，输入sysedit回车，打开“系统配置编辑程序”，在这里也可以方便的对上述文件进行查看与修改。  <br /><br />　　<b>五、智能的启动——开/关机/登录/注销脚本</b>  <br /><br />　　在Windows 2000/XP中，单击“开始→运行”，输入gpedit.msc回车可以打开“组策略编辑器”，在左侧窗格展开“本地计算机策略→用户配置→管理模板→系统→登录”，然后在右窗格中双击“在用户登录时运行这些程序”，单击“显示”按钮，在“登录时运行的项目”下就显示了自启动的程序。  <br /><br />　　<b>六、定时的启动——任务计划</b>  <br /><br />　　在默认情况下，“任务计划”程序随Windows一起启动并在后台运行。如果把某个程序添加到计划任务文件夹，并将计划任务设置为“系统启动时”或“登录时”，这样也可以实现程序自启动。通过“计划任务”加载的程序一般会在任务栏系统托盘区里有它们的图标。大家也可以双击“控制面板”中的“计划任务”图标查看其中的项目。  <br /><br />　　<img src="http://bcd.office-cn.net/styles/default/images/smilies/icon_idea.gif" border="0" alt="[idea]" /> 小提示  <br /><br />　　“任务计划”也是一个特殊的系统文件夹，单击“开始→程序→附件→系统工具→任务计划”即可打开该文件夹，从而方便进行查看和管理。]]></description>
      <wfw:commentRss><![CDATA[http://bcd.office-cn.net/feed.asp?q=comment&id=55]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[怎样在Windows XP中自定义打印机纸张]]></title> 
      <link><![CDATA[http://bcd.office-cn.net/article.asp?id=54]]></link> 
      <category><![CDATA[综合文章]]></category> 
      <author><![CDATA[朱亦文 <null@null.com>]]></author> 
      <pubDate>Wed, 28 May 2008 14:11:53 +0800</pubDate> 
      <description><![CDATA[在Windows 98中，我们可以很方便地定义打印机的自定义纸张，可是，在Windows20000和Windows XP却找不到自定义纸张。  <br /><br />其实，并不是没有自定义纸张，而改变了位置，不在打印机属性中了。通过下图所示，我们可以方便地在XP中自定义打印机纸张。<ul class="ubb-list" ><li>点击Windows XP的“开始”菜单，并选择“打印机和传真”。</li><div style="width: 100%;overflow-x : auto;"><a href="http://bcd.office-cn.net/uploads/200805/28_141332_xpprn01.jpg" target="_blank"><img src="http://bcd.office-cn.net/uploads/200805/28_141332_xpprn01.jpg" alt="http://bcd.office-cn.net/uploads/200805/28_141332_xpprn01.jpg" /></a></div><br /><li>在打印机和传真机管理器选择要设置自定义纸张的打印机。</li><div style="width: 100%;overflow-x : auto;"><a href="http://bcd.office-cn.net/uploads/200805/28_141419_xpprn02.jpg" target="_blank"><img src="http://bcd.office-cn.net/uploads/200805/28_141419_xpprn02.jpg" alt="http://bcd.office-cn.net/uploads/200805/28_141419_xpprn02.jpg" /></a></div><br /><li>然后，选择管理器主菜单“文件”，选择“服务器属性”，应会打开“打印服务器 属性”对话框。</li><div style="width: 100%;overflow-x : auto;"><a href="http://bcd.office-cn.net/uploads/200805/28_141517_xpprn03.jpg" target="_blank"><img src="http://bcd.office-cn.net/uploads/200805/28_141517_xpprn03.jpg" alt="http://bcd.office-cn.net/uploads/200805/28_141517_xpprn03.jpg" /></a></div><br /><li>在“打印服务器 属性”对话框中，首先，勾选“创建新格式”，这时就可以在“表格名”中输入自定义纸张的名称，然后，在“格式描述”中指定自定义纸张的大小尺寸。最后，点击“保存格式”按钮，这样，一个新的自定义纸张就创建了。</li><div style="width: 100%;overflow-x : auto;"><a href="http://bcd.office-cn.net/uploads/200805/28_141607_xpprn04.jpg" target="_blank"><img src="http://bcd.office-cn.net/uploads/200805/28_141607_xpprn04.jpg" alt="http://bcd.office-cn.net/uploads/200805/28_141607_xpprn04.jpg" /></a></div></ul>]]></description>
      <wfw:commentRss><![CDATA[http://bcd.office-cn.net/feed.asp?q=comment&id=54]]></wfw:commentRss>
    </item>
      
  </channel>
</rss>
