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来做此事