word 如何进入VBA
第一步:打开word,如果功能区有开发工具选项,跳到步骤四,如果没有,继续第二步:打开【文件】选项,点选【选项】第三步:选择“自定义功能区”中点选“开发工具”,然后点击确定第四步:点击菜单栏的【开发工具】,点击“Visual Basic”选项,完成。
Word VBA教程:Delete方法
VBA教程 - Word VBA参考教程 - Delete方法Word VBA教程:Delete方法应用于 Cell 和 Cells对象的 Delete方法。
删除一个或多个表格单元格并可选择控制如何移动剩余的单元格。
expression.Delete(ShiftCells)expression 必需。
该表达式返回以上一个对象。
ShiftCells Variant 类型,可选。
剩余单元格移动的方向。
可以是任意WdDeleteCells 常量。
如果忽略,最后删除的单元格的右侧单元格向左移动。
应用于 Range 和 Selection对象的 Delete方法。
删除指定数目的字符或单词。
此方法返回一个 Long 值,该数值表明删除项的数目。
如果删除失败,则返回的值为 0(零)。
expression.Delete(Unit, Count)expression 必需。
该表达式返回以上一个对象。
Unit Variant 类型,可选。
所需删除的折叠区域或选定内容的单位。
可以是下列 WdUnits 常量之一:wdCharacter(默认值)或 wdWord。
Count Variant 类型,可选。
所需删除的单元的数目。
若要删除某区域或选定内容之后的单元,请折叠该区域或选定内容并将此参数设置为正数;若要删除某区域或选定内容之前的单元,请折叠该区域或选定内容并将此参数设置为负数。
应用于 ShapeNodes对象的 Delete方法。
删除指定的对象。
expression.Delete(Index)expression 必需。
该表达式返回一个ShapeNodes对象。
Index Long 类型,必需。
要删除的图形节点的数目。
应用于“应用于”列表中所有其他对象的 Delete方法。
删除指定的对象。
expression.Deleteexpression 必需。
该表达式返回“应用于”列表中的一个对象。
http://www.33dir.com/z/2016/08/04/2957.html
求推荐excel VBA入门书籍
如果英文够好的话推荐你看1.[Office.Books].Microsoft.Excel.VBA.Programming.For.The.Absolute.Beginner.2nd.Edition这本书偏重基础知识讲解的特别细,适合初学者,但是特别长,学起来费时间2.Learn Microsoft Excel 2002.VBA.Programming With XML and ASP这本书例子非常多,包含了很多实际可能用到的问题,适合没时间学习,但是需要VBA的同学,在工作中遇到类似问题,拿来就用。
中文的推荐: 1.Excel 2000VBA一册通这本书基础知识讲解不是很细,但是很实用,例子也不少,如果你没有太多时间学习的话建议看这本书2.Excel VBA基础入门这本适合几乎任何编程基础的同学,因为内容里几乎没有专业术语,用通俗的语言,教读者如何学习Excel VBA。
根据我的经验,VBA最好是看例子,看看人家是怎么用的,这些书的电子档我都有,你要的话我可以发给你,如果你不习惯在电脑上看书,可以打印成纸质的。
此外,我这里还有一些经典例子,如各种语法的套用,调用第三方软件如(CAD自动绘图,word自动写字,access数据库操作等),模块套装等等。
如果需要,可以发给你。
VBA入门指南如何看懂代码
什么是VBA,,往往在一些EXCEL的教材中,都会讲:VBA是一种自动化语言,它可以使常用的程序自动化,可以创建自定义的解决方案。
就我看书学习的经验来说,我感到这样的定义式的描述带有很典型的中国式教材的风格,然而却不能让人立即理解,那么这样的定义有什么用呢,我给VBA下的定义是:VBA是一些代码的组合。
可能这个定义没有上面教材的定义那么严谨和准确,但我想你一看就应该能明白,原来VBA就是写代码,或者说就是写程序。
当你打开一个EXCEL文件,你只能看到由许多单元格组成的工作表,这时,你可以通过【视图】菜单的【工具栏】项目,打开一个工具栏,名字叫“控件工具箱”,从左往右属第三个按钮,名字叫“查看代码”,点一下,就可以打开VBA代码编辑窗口。
更简单的方法是,通过【ALT】+【F11】的快捷键,打开VBA代码编辑窗口,掌握命令、语法、关键字、对象、事件、属性等等内容,
如何用vba按页数拆分word文档
如果想按照指定页数拆分,请使用下面的代码,其它步骤和原来那个方案相同。
Option ExplicitSub SplitEveryFivePagesAsDocuments()Dim oSrcDoc As Document, oNewDoc As DocumentDim strSrcName As String, strNewName As StringDim oRange As RangeDim nIndex As Integer, nSubIndex As Integer, nTotalPages As Integer, nBound As IntegerDim fso As ObjectConst nSteps = 100 ' 修改这里控制每隔几页分割一次Set fso = CreateObject("Scripting.FileSystemObject")Set oSrcDoc = ActiveDocumentSet oRange = oSrcDoc.ContentnTotalPages = ActiveDocument.Content.Information(wdNumberOfPagesInDocument)oRange.Collapse wdCollapseStartoRange.SelectFor nIndex = 1 To nTotalPages Step nStepsSet oNewDoc = Documents.AddIf nIndex + nSteps >nTotalPages ThennBound = nTotalPagesElsenBound = nIndex + nSteps - 1End IfFor nSubIndex = nIndex To nBoundoSrcDoc.ActivateoSrcDoc.Bookmarks("\page").Range.CopyoSrcDoc.Windows(1).ActivateApplication.Browser.Target = wdBrowsePageApplication.Browser.NextoNewDoc.ActivateoNewDoc.Windows(1).Selection.PasteNext nSubIndexstrSrcName = oSrcDoc.FullNamestrNewName = fso.BuildPath(fso.GetParentFolderName(strSrcName), _fso.GetBaseName(strSrcName) & "_" & (nIndex \ nSteps + 1) & "." & fso.GetExtensionName(strSrcName))oNewDoc.SaveAs strNewNameoNewDoc.Close FalseNext nIndexSet oNewDoc = NothingSet oRange = NothingSet oSrcDoc = NothingSet fso = NothingMsgBox "结束!"End Sub
VBA 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批量替换?
For i = 1 To n 'n是listview1的行数Selection.Find.ClearFormattingSelection.Find.Replacement.ClearFormattingWith Selection.Find.Text = ListView1.ListItems(i).SubItems(0) 'Findstr=listview1的第i行第1列对应单元格的内容.Replacement.Text = ListView1.ListItems(i).SubItems(1) 'Findstr=listview1的第i行第2列对应单元格的内容.Forward = True.Wrap = wdFindContinue.Format = False.MatchCase = False.MatchWholeWord = False.MatchByte = True.MatchWildcards = False.MatchSoundsLike = False.MatchAllWordForms = FalseEnd WithSelection.Find.Execute Replace:=wdReplaceAllListView1.selectedItem = iNextMsgBox "处理完毕!", vbInformation + vbOKOnly, "消息"ListView1.selectedItem = 1
转载请注明出处51数据库 » word·vba入门教程