wordVB脚本(wordvba教程)

word 2013 vb的脚本编辑器在哪里

可以在:工具---宏---microsoft脚本编辑器中打开,可看到代码内容。若要自己添加宏代码,可在工具---宏---VB编辑器中打开进行。

如何利用VBA代码或者脚本代码批量修改word文档的正文标题

操作步骤。

第一,首先将需要批量替换的多个Word文档放在同一文件夹下面。

第二,新建一空白Word文档,右击空白工具栏,单击“控件工具箱”,就可以看到屏幕上调出的控件工具箱。

第三,在控件工具箱上单击“命令按钮”,文档中就放置了一个按钮了。

第四,双击该按钮,进入VB代码编写模式,将以下代码复制进去。

Private Sub CommandButton1_Click()

Application.ScreenUpdating=False

Dim myPas As String, myPath As String, i As Integer, myDoc As Document

With Application.FileDialog(msoFileDialogFolderPicker)

.Title="选择目标文件夹"

If .Show=-1 Then

myPath=.SelectedItems(1)

Else

Exit Sub

End If

End With

myPas=InputBox("请输入打开密码:")

With Application.FileSearch

.LookIn=myPath

.FileType=msoFileTypeWordDocuments

If .Execute 0 Then

For i=1 To .FoundFiles.Count

Set myDoc=Documents.Open(FileName:=.FoundFiles(i), Passworddocument:=myPas)

Selection.Find.ClearFormatting

Selection.Find.Replacement.ClearFormatting

With Selection.Find

.Text="大家好"

.Replacement.Text="你好"

.Forward=True

.Wrap=wdFindAsk

.Format=False

.MatchCase=False

.MatchWholeWord=False

.MatchByte=True

.MatchWildcards=False

.MatchSoundsLike=False

.MatchAllWordForms=False

End With

Selection.Find.Execute Replace:=wdReplaceAll

myDoc.Save

myDoc.Close

Set myDoc=Nothing

Next

End If

End With

Application.ScreenUpdating=True

End Sub

第五,保存上面代码,退出VB编辑模式,返回Word文档界面。

第六,单击选中该按钮,再单击控件工具箱的第一个按钮“退出设计模式”。

第七,进行测试:点击按钮,选择要放置多个WORD文档所在的文件夹,确定后即可完成!注意如果WORD文档没有加密的话,密码项就不填,直接确认。就会发现该文件夹下面的所有WORD文档中“大家好”已被替换为“你好”了。

vb调用word

使用VB编程时,有时需要调用Microsoft Word对文字进行编辑、排版及输出。为实现这种调用,可以使用Shell函数、OLE自动化、在包容器中嵌入Word对象等方法。经过试用和比较,总结出了这几种方法的各自特点。

 

1 使用Shell函数直接调用

语法:Shell (pathname[,windowstyle]).Pathname是指要执行的程序的名字和任何必须的参数或命令行开关,可以包括目录和驱动器名;Windowstyle是执行程序的窗口风格的数字。

使用Shell调用Word比较简单,编程量小,但必须明确指定Word所在路径,这不利于移植,而且,不能对Word进行控制,不利于程序和Word之间的数据交换。

 

2 使用OLE自动化控制Microsoft Word

2.1 使用方法

(1)Word为OLE自动化提供一种称为“Basic”的对象,要在VB中控制Word ,首先要定义一个引用Word中“Basic”对象的对象变量:Dim Wordobj as Object

(2)将Word 中的“Basic”对象赋给该对象:Set Wordobj=CreateObject("Word.Basic")

(3)可以使用大多数WordBasic语句和函数控制Word或Word文档,使用方法和在Word宏中使用WordBasic指令的方法基本相同。

(4)关闭Word:Set Wordobj=Nothing。

注意:“Basic”对象不支持关闭它自己的一个方法。即若在OLE自动化中关闭了Word,则对象被置为Nothing,便不能再对对象进行操作,程序出错。

2.2 VB指令与WordBasic指令的差异

(1)有一些语句和函数不能使用,包括:控制结构,如While…Wend和If…Then…Else;声明语句,如Dim;定制对话框相关的语句:FileExit语句;要求数组变量作为参数的语句或函数。

(2)也有一些指令使用方法不同。①返回字符串以一个美元符($)结束的WordBasic函数的关键字必须括在方括号中。例如,在WordBasic宏中的GetBookmark$()语句:mark$=GetBookmark$("Address"),若用VB调用,必须这样写mark$=Wordobj.[Ge-tBookmark$]("Address")。②选择一个命令按钮用“True”,不选择用“False”

2.3 对OLE自动化的说明

Word可以为OLE自动化给另一个应用提供对象,但是它不能使用OLE自动化访问其它应用中的对象。例如:VB和Excel可以使用OLE自动化访问Word,但是Word不能使用OLE自动化访问它们。

 

3 在包容器中嵌入Word对象

在VB中,要访问在包容器中嵌入的Word对象,首先要在项目中插入对象。做法如下:在窗体中插入OLE控件,对象类型选择“MicrosoftWord图片”或“Microsoft Word文档”,再按“确定”。

然后用Object属性访问文档或图片,并使用WordBasic语句和函数作用于它。嵌入的对象必须在可被访问之前被激活,可以使用Action属性激活OLE控件。例如,使用下面指令访问一个嵌入在称为OLE1的OLE控件中的文档:

Dim Wordobj as Object

OLE1.Action=7

Set Wordobj=OLE1.Object.Application. WordBasic

其他方面,使用方法同OLE自动化。使用在包容器中嵌入的Word对象,Word显示的窗口大小、位置与OLE控件定义的大小、位置相同,而且工具栏显示位置与Word脱离。这一点与OLE自动化相比,是个不足。

求Word批量转PDF脚本VB

安装个pdf虚拟打印机,并设置这个打印机为默认打印机,然后选择所有word文档,右键打印就可以了!

VBA Word 模版的问题

Normal.dot模版文档只能有一个,所以你另存时把原来那个Normal.dot文档替换就行啦

Normal.dot文档是一页,不能设置多页,只能做一页

你把你的模版存的名子是这个Normal名子才行,必须存在这个文件夹Templates里

它就认这个名子,你可以试一试,比如说: Photoshop 的外挂滤镜,它就在指定的文件夹内

为这个,我也试了一下,没有问题,我的是word2003,要不你重新装一下office

如何使用VB编辑Word文件?

你熟悉操作XML结构的文件吗?如果熟悉的话就好办了。

Microsoft Office 2007系列保存文件多了个格式docx,你把docx后缀改成rar,然后用Winrar打开就会

看到其实是个XML文件。接下来用你的VB对XML操作便可以获取或修改Word文档里的内容了。

在XML层面操作文本文件,很容易解决诸如“ABC”替换“CBA”或者发现含有“ABC”就xxx="T"之类的。

像你这个需求不用懂XML其实也可以解决,只要保证你的关键词字不与word格式里关键词重叠就行。

对了,winrar安装后有个rar.exe,是可以dos下用的,可以利用批处理自动修改docx文件名为rar并用rar.exe e 123.docx

接下来

Open "c:\123.xml" For Input As #1

Open "c:\234.xml" For Input As #2

Do While Not EOF(1)

Line Input #1,s

If Instr(1,s,"ABC")0 Then

Label1.Caption="T"

s=Replace ("ABC","CBA")

Print #2, s

End If

Loop

Close #2

Close #1

这样既可,当然正宗上道的方法还是用Office Word里带的VBA来做此事

33人参与, 0条评论 登录后显示评论回复

你需要登录后才能评论 登录/ 注册