| 网站首页 | 新闻中心 | 系统安全 | 网络安全 | 安全技术 | 下载中心 | 
课件制作网.
收藏本站
设为首页
安全365
如何右对齐 Word 表格中的单列?
如何右对齐 Word 表格中的单列?
作者:佚名 文章来源:不详 点击数: 更新时间:2007-1-24 11:10:19
问:

您好,脚本专家!如何右对齐 Word 表格中的单列?

-- RC

答:

您好,RC。您知道,没有人愿意听到这样一句话:“这并不像看上去那么糟糕”。毕竟,当您发现您的业务合作伙伴一直在挪用公司资金购买彩票时,这是他常说的一句话。当您瞥见医生正准备给您扎针时,医生也会说:“这并不像看上去那么糟糕”(在此情况下,他是对的:情况往往要比看上去更糟糕)。是的,在向您介绍可右对齐 Microsoft Word 表格中的列的脚本之前,脚本专家会说:“这并不像看上去那么糟糕”。

当然,不同之处在于脚本专家所说的是真心话。正如您将要看到的,右对齐 Word 中的表格列只需几行代码。唯一的问题是,右对齐表格列是很难的,除非您的文档中实际上有一个表格。不管怎样,在 Word 中创建表格(尽管不是特别难)确实需要数量相当多的代码,尤其是当您要创建类似于系统管理员可能创建的那种表格时。但别紧张。尽管脚本看起来很大且很复杂,但您感兴趣的部分却非常简单。

换句话说,这并不像看上去那么糟糕:

Const wdAlignParagraphRight = 2 

Const NUMBER_OF_ROWS = 1

Const NUMBER_OF_COLUMNS = 3



Set objWord = CreateObject("Word.Application")

objWord.Visible = True

Set objDoc = objWord.Documents.Add()



Set objRange = objDoc.Range()

objDoc.Tables.Add objRange, NUMBER_OF_ROWS, NUMBER_OF_COLUMNS

Set objTable = objDoc.Tables(1)



x=2



objTable.Cell(1, 1).Range.Text = "Process Name"

objTable.Cell(1, 2).Range.text = "Process ID"

objTable.Cell(1, 3).Range.text = "Handle Count"



strComputer = "."

Set objWMIService = GetObject("winmgmts://" & strComputer & "/root/cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_Process")

For Each objItem in colItems

    If x > 1 Then

        objTable.Rows.Add()

    End If

    objTable.Cell(x, 1).Range.Text = objItem.Name

    objTable.Cell(x, 2).Range.text = objItem.ProcessID

    objTable.Cell(x, 3).Range.text = objItem.HandleCount

    x = x + 1

Next



objDoc.Tables(1).Columns(3).Select

Set objSelection = objWord.Selection



objSelection.ParagraphFormat.Alignment = wdAlignParagraphRight

该脚本所执行的操作是收集当前在计算机上运行的所有进程的信息,然后将这些进程信息显示在一个 Word 表格中。这就是几乎前面的所有代码所要解决的问题:它将创建一个 Word 文档,获取进程信息,然后创建一个表格并用进程信息填充行和列。完成这一步后(换句话说,在文档中创建表格后),只需三行代码即可右对齐其中的一列。

注意:我们要解释用来在 Microsoft Word 中创建表格的所有代码吗?不,我们在此不对其进行解释:这超过了您好,脚本专家!专栏所涵盖的范围。不过,我们确实有一个 Office Space 专栏,其中对该过程进行了较为详细的解释。

脚本专家不会让您那样一知半解即可。

那么,在文档中确实有了一个表格后,我们要做什么呢?这样,第一步是选择其中的一个表格列。在示例表格中,我们在第 3 列中显示进程句柄数,我们之所以这样做是因为句柄数是一个数字,而数字始终是很适于右对齐的。我们通过以下代码来选择表格中的第 3 列:

objDoc.Tables(1).Columns(3).Select

这行代码应该说是相当简单了。变量 objDoc 是对 Word 文档的对象引用,我们在脚本开头已创建了该对象引用:

Set objDoc = objWord.Documents.Add()

Tables(1) 只是表明我们要处理 Tables 集合中的第一个表格,该集合包含文档中的所有表格。同样,Columns(3) 表明我们特意要处理表格 1 中的第 3 列。Select 表明我们要选择表格 1 中的第 3 列。明白了吗?我们就是这么打算的。

选取文本后,我们需要创建 Selection 对象的一个实例以便处理该文本。这就是下面的代码所要执行的操作:

Set objSelection = objWord.Selection

这就意味着,我们现在只需右对齐所选文本中的所有段落即可:

objSelection.ParagraphFormat.Alignment = wdAlignParagraphRight

为便于理解,现说明如下:wdAlignParagraphRight 是我们在脚本开头定义的常量(其值为 2);我们通过该常量来告诉 Word 我们要右对齐选定的文本。显然,我们可以指定其他对齐选项,这包括:

wdAlignParagraphCenter(值 1),文本居中。

wdAlignParagraphLeft(值 0),文本左对齐。

wdAlignParagraphJustify(值 3),文本两端对齐。

当我们运行此脚本时会发生什么情况呢?将发生以下情况:

您好,脚本专家!


应该还记得,我们曾经告诉过您:它的确不像看上去那么糟糕,难道不是吗?

【转自世纪安全网 http://www.21safe.com】
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
     
     
     
    CSO们如何应对新技术的安
    普通企业如何应对黑客攻
    企业该如何防范由VoIP引
    浅谈IT如何实现企业的应
    黑客与正规企业是如何串
    如何无限制申请Gmail 2.
    企业如何避免人为因素的
    社会工程学:如何利用黑客
    如何在一个文件被添加到
    如何将“珊瑚虫”好友请

    Copyright © 2006-2008 www.anquan365.com 安全365
    建议使用1024*768分辨率及第三方浏览器对本站进行浏览