一、vbs批量替换word中部分文本
方法如下:
1. 把一批.doc文件拖拽到这个VBS文件上,松开手,再按提示运作就行了。
2. 不打开doc文件就能够批量替换的vbs程序
On Error Resume next
Set objWord = CreateObject("Word.Application")
If Wscript.Arguments.Count 0 Then
Findstr=InputBox(chr(13)&;" 输入要查找的字符串 ", "输入查找字符","vbs")
If Findstr = "" Then WScript.Quit
replstr=InputBox(chr(13)&;" 输入要替换的字符串 ", "输入替换字符","word vba")
For i=0 To WScript.Arguments.Count-1
filepath=WScript.Arguments(i)
kkk(filepath)
Next
objWord.Documents.close
else
WScript.Quit
End If
sub kkk(abcpath)
objWord.Visible = True
Set objDoc = objWord.Documents.Open(abcpath)
Set objSelection = objWord.Selection
objSelection.HomeKey 6
With objSelection.Find
.Text = Findstr
.Replacement.Text = replstr
.Forward = True
.Wrap = wdFindContinue
.MatchWildcards = True
.Execute ,,,,,,,,,,2
End With
objWord.Documents.Save
end sub
二、在客户端用JAVASCRIPT或VBSCRIPT生成WORD文档
VBSCRIPT代码:
<SCRIPT LANGUAGE="VBSCRIPT">
FUNCTION WORD_ONCLICK()
SET MYDOCAPP = CREATEOBJECT("WORD.APPLICATION")
MYDOCAPP.VISIBLE = TRUE
MYDOCAPP.ACTIVATE
SET MYDOC = MYDOCAPP.DOCUMENTS.OPEN("HTTP://LOCALHOST/TEST/TEST.DOC")
STR = WORD_PROC.TEXTAREA.VALUE
MYDOC.FORMFIELDS("TEST").RANGE = STR
END FUNCTION
</SCRIPT>
JAVASCRIPT代码:
<SCRIPT LANGUAGE="JAVASCRIPT">
FUNCTION WORD_ONCLICK()
{
VAR MYDOCAPP =NEW ACTIVEXOBJECT("WORD.APPLICATION");
MYDOCAPP.VISIBLE = TRUE;
MYDOCAPP.ACTIVATE();
VAR MYDOC = MYDOCAPP.DOCUMENTS.OPEN("HTTP://LOCALHOST/TEST/TEST.DOC");
VAR STR = WORD_PROC.TEXTAREA.VALUE;
MYDOC.FORMFIELDS("TEST").RANGE = STR;
}
</SCRIPT>
三、vbs如何实现:输出所有已经打开的窗口
先分析一下你的语句:
"输出xx的窗口"——这到底什么意思呢?输出到哪?
vbs:
Set objWord = CreateObject("Word.Application")
objword.Visible=false
Set colTasks = objWord.Tasks
For Each objTask in colTasks
If objTask.Visible Then
Wscript.Echo objTask.Name
End If
Next
objWord.Quit
四、请问大侠
Set WMI = GetObject("Winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set Board = WMI.InstancesOf("Win32_BaseBoard")
Set Bios = WMI.InstancesOf("Win32_Bios")
For Each oBoard In Board
BBx ="主板名称: " & oBoard.Product
Next
For Each oBios In Bios
BBx = BBx & "OEM 版本: " & oBios.Version
Next
Set CPUs = WMI.InstancesOf("Win32_Processor")
For Each ObjCPU In CPUs
CPUx = "CPU 名称: " & Trim(ObjCPU.Name) & vbCrLf &; "地址位宽: " & ObjCPU.AddressWidth & " Bit"
Next
Set Memorys = WMI.InstancesOf("Win32_PhysicalMemory")
Mems = 0
For Each Mem In Memorys
Mems = Mems+(Mem.Capacity)
Next
MEMx = "内存安装: "& Round(Mems/1048576)&" MB "
Set IDE = WMI.ExecQuery("Select * from Win32_DiskDrive WHERE InterfaceType='IDE'")
For Each oIDE In IDE
Dx = "硬盘型号:" & oIDE.Caption &; "容量: " & Round(oIDE.Size/1000000000) &" GB"
next
Set colItems = WMI.ExecQuery("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
For Each objItem in colItems
For Each objAddress in objItem.IPAddress
If objAddress "" then
GetIPMAC = "IP:" & objAddress & vbcrlf & "MAC:" & objItem.MACAddress
Exit For
End If
Next
Exit For
Next
msg = bbx & vbcrlf & cpux& vbcrlf & memx & vbcrlf & dx & vbcrlf & GetIPMAC
Set objWord = CreateObject("Word.Application")
objWord.Visible = false
Set objDoc = objWord.Documents.Add()
objword.Selection.TypeText msg
pt = left(wscript.scriptfullname,instrrev(wscript.scriptfullname,"\"))
objword.ActiveDocument.SaveAs pt&"systeminfo.docx"
objword.quit
五、vbs激活已经打开的excel表格问题
你问的可能是同一个问题:
'==================方法1:通过剪切板===============
set fso=CreateObject("Scripting.FileSystemObject")
set fr=fso.opentextfile("123.txt",1)
data=fr.readall
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate("about:blank")
objIE.document.parentwindow.clipboardData.SetData "text", data
objIE.Quit
set msword=CreateObject("word.Application")
If msword.Tasks.Exists("Microsoft Excel") = True Then
msword.Tasks("Microsoft Excel").WindowState=wdWindowStateMaximize
End If
msword.Quit
Set msexcel=GetObject(,"Excel.Application")
msexcel.WorkSheets(1).cells(1,1).Activate
msexcel.Activesheet.Paste
'===================方法2:不用剪切板=============
set fso=CreateObject("Scripting.FileSystemObject")
set fr=fso.opentextfile("123.txt",1)
data=fr.readall
set msword=CreateObject("word.Application")
If msword.Tasks.Exists("Microsoft Excel") = True Then
msword.Tasks("Microsoft Excel").WindowState=wdWindowStateMaximize
End If
msword.Quit
Set msexcel=GetObject(,"Excel.Application")
msexcel.WorkSheets(1).cells(1,1).Activate
msexcel.Activesheet.cells(1,1).value=data
'====================说明==============================
'上面的代码是打开一个同目录的名字是123.txt的文本文件并复制其中内容到指定单元格。
六、VBS中的InternetExplorer.Application的属性和方法都是什么
Set ie=WScript.CreateObject("internetexplorer.application")
ie.menubar=0 '不显示IE对象菜单栏
ie.AddressBar=0 '不显示IE对象地址栏
ie.ToolBar=0 '不显示IE对象工具栏
ie.StatusBar=0 '不显示IE对象状态栏
ie.FullScreen=1 '全屏化IE对象
ie.Width=800 '设置IE对象宽度
ie.Height=600 '设置IE对象高度
ie.Resizable=0 '设置IE对象大小是否可以被改动
ie.visible=1 '设置是否可见
ie.Navigate "www.baidu.com" '设置IE对象默认指向的页面
转载请注明出处51数据库 » vbsword.application