word vba 中如何选中所有的表格
使用VBA操作Word表格一、生成表格Private Sub CreateTable(mRows As Integer, mColumns) Dim mRange As RangeSet mRange = ActiveDocument.RangemRange.SetRange Start:=ActiveDocument.Range.End, End:=ActiveDocument.Range.EndSet SelfGenTable = ActiveDocument.Tables.Add(Range:=mRange, NumRows:=mRows, NumColumns:=mColumns) End Sub上面过程的作用是在活动文档的末尾插入一个mRows行,mColumns列的表格。
二、在读写表格中的单元格 写入单元格使用如下代码:TableObject.Cell(Row:=curRow, Column:=curColumn).Range.InsertAfter "文本" 上面代码的做用时在curRow行,curColumn列处插入字符“文本”。
其中TableObject为表格对象,如果使用了生成表格中的例子,那么可以用SelfGenTable来替代TableObject。
三、调整单元格对齐方式 水平对齐设置Selection.ParagraphFormat.Alignment=水平对齐常数(具体的常数可以查看帮助文件的说明) 如何选择单元格? 选定特定单元格TableObject.Cell(Row:=1,Column:=1).Select'选定单元格1,1 选定行TableObject.Rows(i).Select'选定第i行 选定列TableObject.Columns(i).Select'选定第i列 选定整个表格 TableObject.Select首先执行表格元素选择程序,然后再使用Selection.ParagraphFormat.Alignment设置对齐方式。
垂直对齐方式Selection.Cells.VerticalAlignment=垂直对齐常数也是首先选择表格元素,可以使单个单元格,单个行、单个列或者整个表格。
似乎也可以同时选择多个单元格、多个行、多个列,有兴趣的朋友可以自行寻找答案。
四、设置表格边线类型下面的代码对整个表格的所有边线设置成细实线: SelfGenTable.Select With Selection.Borders(wdBorderBottom).LineStyle = wdLineStyleSingle .Borders(wdBorderLeft).LineStyle = wdLineStyleSingle .Borders(wdBorderRight).LineStyle = wdLineStyleSingle .Borders(wdBorderTop).LineStyle = wdLineStyleSingle.Borders(wdBorderHorizontal).LineStyle = wdLineStyleSingleBorders(wdBorderVertical).LineStyle = wdLineStyleSingle End With同样是对Selection进行设置,所以可以依照上面的方法对特定的单元格、行或者列的边线样式进行分别设置,这里就不再列举了。
五、调整表格尺寸下面的代码对一个六列的表格设置宽度,宽度采用百分比宽度,从左至右的宽度百分比依次为:30,10,10,30,10,10: Dim WidthP(0 To 2) As Integer Dim j As Integer dim i as Integer WidthP(0) = 30 WidthP(1) = 10 WidthP(2) = 10 j = 0For i = 0 To SelfGenTable.Columns.Count - 1 If j > 2 Then j = 0 End IfSelfGenTable.Columns(i + 1).PreferredWidthType = wdPreferredWidthPercent SelfGenTable.Columns(i + 1).PreferredWidth = WidthP(j) j = j + 1 Next上面的代码通过Columns的PreferredWidthType属性设置表格列宽的形式,这里选择的是百分比列宽,可以根据自己的实际情况选择其他列宽形式,然后再设置相应的数值。
表格的行高请读者以此类推(实际上我还没设置过行高,都用自动生成的就够了) ===============================================编写操作表格的程序时需要注意,Word表格的行列起始值为1,而不是0。
===============================================下面是一个拆分字符串的代码,当插入表格的文本过长时,可以设定一个长度,超过这个长度就进行回车,这样保证在设定的单元格宽度内能够写下长文本。
单元格的高度会自动调整以使文本能完整的显示,这也就是我为什么没有通过代码设置单元格高度的原因。
Private Function FoldText(mLen As Integer, mStr As String) As String '折叠文字函数,mLen为折叠前的文字长度,mStr为文字的内容 Dim i As IntegerDim tmpStr(0 To 1) As String '临时字符串 If Len(mStr) > mLen ThenDo While Len(mStr) > mLen tmpStr(0) = Left(mStr, mLen)mStr = Right(mStr, Len(mStr) - mLen)tmpStr(1) = tmpStr(1) + tmpStr(0) + vbCrLf LooptmpStr(1) = tmpStr(1) + mStr ElsetmpStr(1) = mStr
用VBA在WORD表格中如何选择多个单元格,或多列
步骤如下:1. 打开word文档后,选中图表,鼠标右键,在自动调整中有三个选项;2. 2.“根据内容调整表格”命令,Word将根据表格中的内容来调整表格的大小;3.“根据窗口调整表格”命令,Word将根据当前文档页面的大小调整表格的大小,使表格与页面等宽;4.如果不需要列宽自动调整,选择表格并右击,选择快捷菜单中的“自 动调整”一“固定列宽”命令即可。
使用VBA在查询WORD中表格的内容
提供示例代码供参考:Sub BatEditPic()Dim ShapesCount As IntegerDim i As IntegerShapesCount = ActiveDocument.InlineShapes.CountFor i = 1 To ShapesCountWith ActiveDocument.InlineShapes(i)'修改图片边框With .Borders(wdBorderTop).LineStyle = wdLineStyleSingle.LineWidth = wdLineWidth050ptEnd WithWith .Borders(wdBorderBottom).LineStyle = wdLineStyleSingle.LineWidth = wdLineWidth050ptEnd WithWith .Borders(wdBorderLeft).LineStyle = wdLineStyleSingle.LineWidth = wdLineWidth050ptEnd WithWith .Borders(wdBorderRight).LineStyle = wdLineStyleSingle.LineWidth = wdLineWidth050ptEnd WithEnd WithNext iEnd Sub
word VBA 设置表格宽度=16cm
可以通过两种方法设置一、通过表格属性对话框1、选中表格;2、单击表格菜单,在下拉菜单中选择表格属性命令,如图所示;3、弹出表格属性对话框,在指定宽度处输入适当的数值即可,如图所示。
二、通过表格的缩放柄1、将鼠标放在表格的右下角,当鼠标变为斜的双箭头时,按下并拖动鼠标进行缩放;2、达到适合的位置时,松开鼠标即可,如图所示。
Excel表格基本操作?
展开全部 先要了解它~Microsoft Excel是微软公司的办公软件Microsoft office的组件之一,是由Microsoft为Windows和Apple Macintosh操作系统的电脑而编写和运行的一款试算表软件。
直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的微机数据处理软件。
在1993年,作为Microsoft Office的组件发布了5.0版之后,Excel就开始成为所适用操作平台上的电子制表软件的霸主。
作用使用Microsoft Excel执行计算,分析信息并管理电子表格或网页中的列表。
历史1982年Microsoft推出了它的第一款电子制表软件-Multiplan,并在CP/M系统上大获成功,但在MS-DOS系统上,Multiplan败给了Lotus1-2-3。
这个事件促使了Excel的诞生,正如Excel研发代号Doug Klunder:做Lotus1-2-3能做的,并且做的更好。
1985年第一款Excel诞生,它只用于Mac系统。
1987年第一款适用于Windows系统的Excel也产生了(与Windows环境直接捆绑,在Mac中的版本号为2.0)。
Lotus1-2-3迟迟不能适用于Windows系统,到了1988年,Excel的销量超过了1-2-3,使得Microsoft站在了PC软件商的领先位置。
这次的事件,促成了软件王国霸主的更替,Microsoft巩固了它强有力的竞争者地位,并从中找到了发展图形软件的方向。
此后大约每两年,Microsoft就会推出新的版本来扩大自身的优势,目前Excel的最新版本为11,也被称作Microsofot Office Excel 2003。
早期,由于和另一家公司出售的名为Excel的软件同名,Excel曾成为了商标法的目标,经过审判,Microsoft被要求在它的正式文件和法律文档中以Microsoft Excel来命名这个软件。
但是,随着时间的过去,这个惯例也就逐渐消逝了。
Excel虽然提供了大量的用户界面特性,但它仍然保留了第一款电子制表软件VisiCalc的特性:行、列组成单元格,数据、与数据相关的公式或者对其他单元格的绝对引用保存在单元格中。
Excel是第一款允许用户自定义界面的电子制表软件(包括字体、文字属性和单元格格式)。
它还引进了"智能重算"的功能,当单元格数据变动时,只有与之相关的数据才会更新,而原先的制表软件只能重算全部数据或者等待下一个指令。
同时,Excel还有强大的图形功能。
1993年Excel第一次被捆绑进Microsoft Office中时,Microsoft就对Microsoft Word和Microsoft Powerpoint的界面进行了重新设计,以适应这款当时极为流行的应用程序。
从1993年,Excel就开始支持Visual Basic for Applications(VBA).VBA是一款功能强大的工具,它使Excel形成了独立的编程环境。
使用VBA和宏,可以把手工步骤自动化,VBA也允许创建窗体来获得用户输入的信息。
但是,VBA的自动化功能也导致Excel成为宏病毒的攻击目标。
1995年Excel被设计为给您所需要的工具。
无论您是做一个简单的摘要、制作销售趋势图,还是执行高级分析,无论您正在做什么工作,Microsoft Excel能按照您希望的方式帮助您完成您的工作。
1997年Excel97是Office97中一个重要程序, Excel一经问世,就被认为是当前功能强大、使用方便的电子表格软件。
它可完成表格输入、统计、分析等多项工作,可生成精美直观的表格、图表。
为我们日常生活中处理各式各样的表格提供了良好的工具。
此外,因为 Excel和 Word同属于Office套件,所以它们在窗口组成、格式设定、编辑操作等方面有很多相似之处,因此,在学习Excel时要注意应用以前Word中已学过的知识。
2001年利用Office XP中的电子表格程序--Microsoft Excel 2002版,您可以快速创建、分析和共享重要的数据。
诸如智能标记和任务窗格的新功能简化了常见的任务。
协作方面的增强则进一步精简了信息审阅过程。
新增的数据恢复功能确保您不会丢失自己的劳动成果。
可刷新查询功能使您可以集成来自Web及任意其他数据源的活动数据。
2003年Excel 2003使您能够通过功能强大的工具将杂乱的数据组织成有用的信息,然后分析、交流和共享所得到的结果。
它能帮助您在团队中工作的更为出色,并能保护和控制对您工作的访问。
另外,您还可以使用符合行业标准的扩展标记语言(XML),更方便地连接到业务程序。
2007年1.由于在2003中显示活动单元格的内容时,编辑栏常会越位,挡到列标和工作表的内容。
特别是在编辑栏下面的单元格有一个很长的公式,此时单元格内容根本看不见,也无法双击、拖动填充柄。
而现在2007中以编辑栏上下箭头(如果调整编辑栏高度,则出现流动条)和折叠编辑栏按钮完全解决此问题,不再占用编辑栏下方的空间。
调整编辑栏的高度,有两种方式—— 拖曳编辑栏底部的调整条,或双击调整条。
调整编辑栏的高度时,表格也随之下移,因此表里的内容不会再被覆盖到,同时为这些操作添加了快捷键(CTRL+ SHIFT+U),以便在编辑栏的单行和多行模式间快速切换。
2.2003的名称地址框是固定的,不够用来显示长名称。
而2007则可以左右活动的,有水平方向调整名称框的功能。
用户可以通过左右拖曳名称框的分隔符(下凹圆点),来调整宽度,使其能够适应长名称。
界面请见:http://hi.baidu.com/wmr2007/album/item/e1601c893080dcbb0e2444e3.html3....
用vba给word的 表格中的图片 加边框时 边框加到表格上
经测试编写VBA代码如下:Sub 嵌入式图片加边框()Application.ScreenUpdating = FalseDim a As IntegerDim pic As InlineShapeDim aBorder As Bordera = ActiveDocument.InlineShapes.CountIf a = 0 ThenMsgBox ("没有发现嵌入式图片")End IfFor Each pic In ActiveDocument.InlineShapespic.Borders.Enable = TrueWith picFor Each aBorder In pic.BordersWith aBorder.LineWidth = wdLineWidth025pt.Color = wdColorBlueEnd WithNext aBorder.ScaleHeight = 100.ScaleWidth = 100End WithNextApplication.ScreenUpdating = TrueEnd SubSub 取消边框()Dim a As Integera = ActiveDocument.InlineShapes.CountIf a = 0 ThenMsgBox ("没有发现嵌入式图片")End IfActiveDocument.InlineShapes(1).Borders.Enable = FalseEnd SubPrivate Sub CommandButton1_Click()嵌入式图片加边框End SubPrivate Sub CommandButton2_Click()取消边框End Sub效果如下:
转载请注明出处51数据库 » word vba 选择表格
2b哥