用户登录
用户注册

分享至

vbsword.application

  • 作者: 愿意吧
  • 来源: 51数据库
  • 2020-04-21

一、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

软件
前端设计
程序设计
Java相关