用户登录
用户注册

分享至

vb调用word宏出错

  • 作者: 快乐的小2鸟
  • 来源: 51数据库
  • 2020-04-21

1.VB 如何调用Word的宏代码

这里安装没有VB ,不过你试一试下面的代码

Dim wdSel As Object

Set wdSel = objWordP.Selection

wdSel.Find.ClearFormatting

wdSel.Find.Replacement.ClearFormatting

With wdSel.Find

.Text = "aa" '要查找的内容

.Replacement.Text = "bb" '要替换的内容

.Forward = True

.Wrap = wdFindContinue

.Format = False

.MatchCase = False

.MatchWholeWord = False

.MatchByte = True

.MatchWildcards = False

.MatchSoundsLike = False

.MatchAllWordForms = False

End With

wdSel.Find.Execute , , , , , , , , , , wdReplaceAll

2.vb调用word

源代码在办公室电脑上明天上班贴给你 工程先引用word Dim objWord As ObjectConst CLASSOBJECT = "Word.Application"Set objWord = CreateObject(CLASSOBJECT)objWord.Visible = False '隐藏word界面Dim win As ObjectSet win = objWord.Documents.Add(App.Path & "\V-2.dot") '打开word模版把记录替换到模版中Set MyTable = win.Tables(1) '将数据写入word 表中MyTable.Cell(5, 4) = Adodc1.Recordset.Fields("l1") & ""MyTable.Cell(6, 4) = Adodc1.Recordset.Fields("l2") & ""MyTable.Cell(7, 4) = Adodc1.Recordset.Fields("l3") & ""MyTable.Cell(8, 4) = Adodc1.Recordset.Fields("l16") & ""MyTable.Cell(9, 4) = Adodc1.Recordset.Fields("l17") & ""objWord.Visible = True objWord.PrintPreview = True Do DoEvents '判断是否在预览状态 If Not objWord.PrintPreview Then objWord.ActiveDocument.Close (0) '不保存直接退出 'objword.Quit '用它可以直接退出word 但是我用的时候总是卡后来干脆不用了手运关闭word Exit Do End If Loop 我也是刚学还不精希望对你有帮助。

3.vb调用word

源代码在办公室电脑上

明天上班贴给你

工程先引用word

Dim objWord As Object

Const CLASSOBJECT = "Word.Application"

Set objWord = CreateObject(CLASSOBJECT)

objWord.Visible = False '隐藏word界面

Dim win As Object

Set win = objWord.Documents.Add(App.Path & "\V-2.dot") '打开word模版把记录替换到模版中

Set MyTable = win.Tables(1) '将数据写入word 表中

MyTable.Cell(5, 4) = Adodc1.Recordset.Fields("l1") & ""

MyTable.Cell(6, 4) = Adodc1.Recordset.Fields("l2") & ""

MyTable.Cell(7, 4) = Adodc1.Recordset.Fields("l3") & ""

MyTable.Cell(8, 4) = Adodc1.Recordset.Fields("l16") & ""

MyTable.Cell(9, 4) = Adodc1.Recordset.Fields("l17") & ""

objWord.Visible = True

objWord.PrintPreview = True

Do

DoEvents

'判断是否在预览状态

If Not objWord.PrintPreview Then

objWord.ActiveDocument.Close (0) '不保存直接退出

'objword.Quit '用它可以直接退出word 但是我用的时候总是卡后来干脆不用了手运关闭word

Exit Do

End If

Loop

我也是刚学还不精

希望对你有帮助

4.VB程序中调用word

Option Explicit

Dim ap As Word.Application, s As String, doc As Document

Private Sub Command1_Click()

Set ap = CreateObject("word.application")

Set doc = ap.Documents.Open("d:\1.doc")

s = doc.Content.Text

Print s

End Sub

Private Sub Form_Unload(Cancel As Integer)

doc.Close

ap.Quit

Set doc = Nothing

Set ap = Nothing

End Sub

5.vb 调用word中关于normal.dat的问题

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,便不能再对对象进行操作,程序出错。

转载请注明出处51数据库 » vb调用word宏出错

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