vb操作word大全

上传人:第*** 文档编号:32819163 上传时间:2018-02-12 格式:DOCX 页数:9 大小:23.95KB
返回 下载 相关 举报
vb操作word大全_第1页
第1页 / 共9页
vb操作word大全_第2页
第2页 / 共9页
vb操作word大全_第3页
第3页 / 共9页
vb操作word大全_第4页
第4页 / 共9页
vb操作word大全_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《vb操作word大全》由会员分享,可在线阅读,更多相关《vb操作word大全(9页珍藏版)》请在金锄头文库上搜索。

1、1、对其 WORD 内容设置字体样式,以及在 WORD 中插入表格,以及表格单元格融合与填充.Option ExplicitPrivate Sub Command1_Click()Dim filename As StringCD.ShowSavefilename = CD.filenameOutWord filenameMsgBox OKEnd SubPrivate Function OutWord(ByVal filePath As String) As BooleanDim newDoc As Word.DocumentSet newDoc = New Word.DocumentWith

2、newDoc.Paragraphs(.Paragraphs.Count).Range.Font.Name = 宋体.Paragraphs(.Paragraphs.Count).Range.Font.Size = 10.5.Paragraphs(.Paragraphs.Count).Alignment = wdAlignParagraphRight.Content.InsertAfter 編号: & vbCrLf.Paragraphs(.Paragraphs.Count).Range.Font.Name = 宋体.Paragraphs(.Paragraphs.Count).Range.Font.

3、Size = 26.Paragraphs(.Paragraphs.Count).Range.Font.Bold = True.Paragraphs(.Paragraphs.Count).Alignment = wdAlignParagraphCenter.Content.InsertAfter vbCrLf & XXXXXXXXX 報告 & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf.Paragraphs(.Paragraphs.Count).Range.Font.Name = 宋体.Paragraphs(.Paragraphs.Count).Rang

4、e.Font.Size = 15.Paragraphs(.Paragraphs.Count).Range.Font.Bold = False.Paragraphs(.Paragraphs.Count).Alignment = wdAlignParagraphLeft.Content.InsertAfter 项目名称: & vbCrLf.Content.InsertAfter 应急类型: & vbCrLf.Content.InsertAfter 预警状态:正常/警界/危机 & vbCrLf.Paragraphs(.Paragraphs.Count).Alignment = wdAlignPara

5、graphCenter.Tables.Add Range:=.Range(Start:=.Range.End - 1, End:=.Range.End), NumRows:=1, NumColumns:=3, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:=wdAutoFitFixedWith .Tables(1)If .Style 表 (格子) Then.Style = 表 (格子)End If.ApplyStyleHeadingRows = True.ApplyStyleLastRow = True.ApplySty

6、leFirstColumn = True.ApplyStyleLastColumn = True.Columns.Width = 50.Rows.Height = 20End With.Paragraphs(.Paragraphs.Count).Range.Font.Name = 宋体.Paragraphs(.Paragraphs.Count).Range.Font.Size = 15.Paragraphs(.Paragraphs.Count).Range.Font.Bold = False.Paragraphs(.Paragraphs.Count).Alignment = wdAlignPa

7、ragraphLeft.Content.InsertAfter 委 托 人: & vbCrLf.Content.InsertAfter 预 警 机 构: & vbCrLf.Content.InsertAfter 报告负责人: & vbCrLf.Content.InsertAfter 时 间: & vbCrLf.Paragraphs(.Paragraphs.Count).Alignment = wdAlignParagraphLeft.Tables.Add Range:=.Range(Start:=.Range.End - 1, End:=.Range.End), NumRows:=8, Num

8、Columns:=2, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:=wdAutoFitFixedWith .Tables(2)If .Style 表 (格子) Then.Style = 表 (格子)End If.ApplyStyleHeadingRows = True.ApplyStyleLastRow = True.ApplyStyleFirstColumn = True.ApplyStyleLastColumn = True.Cell(2, 1).Range.Text = 项目名称 .Range.Cells(3)

9、.Row.Cells.Merge.Range.Cells(3).Range.Font.Size = 15.Range.Cells(3).Range.Text = 信息来源/文献检索范围: & vbCrLf & vbCrLf & vbCrLf.Range.Cells(4).Row.Cells.Merge.Range.Cells(4).Range.Text = 情况描述/检索结果: & vbCrLf & vbCrLf & vbCrLf.Range.Cells(5).Row.Cells.Merge.Range.Cells(5).Range.Text = 影响分析: & vbCrLf & vbCrLf

10、 & vbCrLf & vbCrLf.Range.Cells(6).Row.Cells.Merge.Range.Cells(6).Range.Text = 建议: & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf.Range.Cells(7).Row.Cells.Merge.Range.Cells(7).Range.Text = 专家组成员: & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf.Range.Cells(8).Row.Cells.Merge.Range.Cells(8

11、).Range.Text = 附件目录: & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf.Range.Cells(9).Row.Cells.Merge.Range.Cells(9).Range.Text = 报告负责人: & vbCrLf & vbCrLf & vbCrLf & vbCrLf & 年 月 日End WithEnd WithnewDoc.SaveAs filePathnewDoc.CloseEnd Function2、VB 程序操作 word 表格(文字、图片)很多人都知道,用 vb 操作 excel 的表格非常简单,但

12、是偏偏项目中碰到了VB 操作 word 表格的部分,google、baidu 搜爆了,都没有找到我需要的东西。到是搜索到了很多问这个问题的记录。没办法,索性只有自己去尝试了。下面把一些代码发上来,给需要的朋友一点提示。打开一个已经存在的 wrod 文件(这个文件包含了表格)Dim WordAppDim WordSet WordApp = CreateObject(Word.Application)WordApp.Visible = TrueSet Word = WordApp.Documents.Open(c:record.dot)知道了就很简单了,下面是选定某一个表格的一个单元格,并修改其内

13、容Word.Tables(1).cell(1, 2)=内容VBA 中的这些数组元素下标都是从 1 开始的,比如 excel 的第一行一列也是 ExSheet.Cells(1,1),而不是 ExSheet.Cells(0,0),WORD 的表格也是这样,不信自己试一下就知道了。所以上面那句话的意思就是对整个 word 文档中的第一个表格的第一行第二列的内容改变为“内容” 。很简单吧?网上有些人在问是不是Word.Tables(1).cell(1, 2).range.text 或者 Word.Tables(1).cell(1, 2).text。试一下就发现这 2 种都不对。插入图片其实也很简单,代

14、码如下:Word.Tables(1).cell(1, 3).Range.InlineShapes.AddPicture (c:photo.jpg)微软的那一套东西集成得很不错,其之间任意调用非常方便,大家如果想用 VB 对 WORD 做更多的应用,却又不知道怎么实现,我想最好的办法就是录制宏了,你把你想完成的功能操作一遍,然后查看宏,一目了然了吧! -问题:我在 vb 中调用 word 打印报表,代码是在 word 中录制的宏拷贝过来的,但是在生成表格时编译通不过,代码如下: Dim wdApp As Word.Application Dim wdBook As Word.Document D

15、im Range As Range Dim NumRows As Long Dim NumColumns As Long Set wdApp = CreateObject(Word.Application) Set wdBook = wdApp.Documents.Add wdApp.Visible = True . . -wdApp.ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=16, NumColumns _ :=5, DefaultTableBehavior:=wdWord9TableBehavior, AutoFi

16、tBehavior:= _ wdAutoFitWindow 运行时上面这句报实时错误91 对象变量或 with 块变量未设置 该如何写? 对策: 看你的代码是想增加一个表格,VBA 的代码和 VB 的代码是不一样的,需要转换一下,多用几次就清楚了。 应该这样写 Call wdBook.Tables.Add(wdBook.application.Selection.Range, 16, 5, 1, 0) 问题:如果我要增加一个复杂的表格,举例说就是在表格中我要合并、拆分一些单元格,还要绘制表头(带斜线的),但是在 word 中录制宏时无法对表格进行这些操作,我该怎么办?能不能给出一些代码?对策:接着上次那个程序来。 Set mySelection = wdApp.Documents.Application.Selection mySe

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号