当前位置:首页经验技巧Word经验word办公

vb如何与word文档,文档,vb

2026-01-10 10:15:22

1.如何用VB调用WORD文档,请高手进,谢谢~!~

知道,不过不能直接读取,因为微软没有公布加密方式,所以要调用WORD来读取,然后获取它

先在工程的引用里面加上Microsoft Word 11.0 Object Library

Dim 剪切板文本

Dim Word文字处理系统界面 As Word.Application '建立一个word.application对象

Dim Word文档 As Word.Document

Dim Word文档文本 As Word.Selection '在word文字处理系统中添加一个文档

Set Word文字处理系统界面 = CreateObject("Word.Application") '选择对象

Word文字处理系统界面.Visible = False '不显示word.application,即word文字处理系统界面

Set Word文档 = Word文字处理系统界面.Documents.Open(文件路径)

Set Word文档文本 = Word文字处理系统界面.Selection

Word文档文本.WholeStory

Word文档文本.Copy

剪切板文本 = Clipboard.GetText(vbCFText) '放到text1中

Text1.Text = 剪切板文本

'Clipboard.SetData Temp

Word文档.Close '关闭文档

Word文字处理系统界面.Application.Quit

Set Word文字处理系统界面 = Nothing '清空变量

Set Word文档文本 = Nothing

'完成操作

我通过剪切板来获取文本,因为这样可以保留格式(本人独创)

如果直接获取也是可以的,不过格式全部丢失,所以我的方法会更好一点

2.VB中怎么插入Word文本

首先引用Microsoft Word 12.0 Object,具体版本根据你组的哪个office版本

Dim wApp As Word.Application

Dim wDoc As Word.Document

Set wApp = New Word.Application

Set wDoc = wApp.Documents.Open(cDocName)

上面是定义和打开Word文件

赋值:

wDoc.Shapes(i).TextFrame.TextRange.Text = Trim(Text5.Text)

在那个打开的word文档中,预先加入多个文本框,上面是给其中某个文本框赋值

wDoc.SaveAs tmpName

wDoc.Close

wApp.Quit

Set wApp = Nothing

这个是另存为和退出

3.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自动化相比,是个不足。

4.VB,引用Word

Dim xDocu As New Word.Application ' 定义一个Word文档对象Private Sub Command1_Click() ' 点击按钮时执行的语句

xDocu.Selection.ShapeRange.TextEffect.PresetTextEffect = Int(Rnd(1) * 30) ' 把当前word文档中被选中 ' 的艺术字的样式设为一个数字,这个数字是由随机数函数Rnd产生的

xDocu.Selection.ShapeRange.TextEffect.FontName = "宋体" ' 把该艺术字的字体设为 '“宋体”

xDocu.Selection.Copy ' 复制选中的内容到剪贴板

Me.Picture = Clipboard.GetData ' 把剪贴板的内容放到当前页的图片框中

End SubPrivate Sub Form_Load() ' 窗体载入时运行的代码

xDocu.Documents.Add.Select ' 加载word文档对象

xDocu.ActiveDocument.Shapes.AddTextEffect(0, "word艺术字", "宋体", 32#, -1, 0, 10, 10).Select ' 在当前活动的word文档中添加艺术字, ' 该艺术字的内容为“word艺术字”,字体为宋体,字号为32磅

End Sub

这是VBA语句代码,用VBA操作word,帮助文档可以在word--〉宏--〉VB编辑器--〉帮助--〉Microsoft Visual Basic帮助中查找

5.在VB中如何打开WORD等程序

(转载)

这个问题在VB吧讨论过,怎么可能一个程序让你这样打开呢?那么编译就没有必要了。

说实话,很简单,编译就是为了保密。比如你的一个程序需要输入密码,你写了:

If txt.Text = "123456" Then

Msgbox "密码正确"

Else

Msgbox "错误"

End If

如果别人有VB,就打开了你的程序??还有保密性吗?要序列号干什么?

想打开,必须反编译。对一个新手程序员,是不太可能做到的。这个需要大量的经验。

现在对于您,可以做的,就是去找源码(就是VB的存档)。你上网搜索,基本上可以找到的。

6.VB中如何将text导入word并保存,要简单代码

-----------------------------------------------------------------------------新建文档

Private Sub Command1_Click()

Dim App As Object

Set App = CreateObject("word.application") '创建word对象

With App.documents.Add '添加一个空白文档

.Content.InsertAfter Text1.Text '在文档后面插入text1的内容

.saveas "d:\123.doc" '保存

.Close True '关闭 文档

App.quit '退出word程序

End With

End Sub

----------------------------------------------------------------------------打开以有文档

Private Sub Command1_Click()

Dim App As Object

Set App = CreateObject("word.application") '创建word对象

With App.documents.open("d:\123.doc") '打开文档

.Content.InsertAfter Text1.Text '在文档后面插入text1的内容

.save '保存

.Close True '关闭 文档

App.quit '退出word程序

End With

End Sub


电脑版

免责声明:本站信息来自网络收集及网友投稿,仅供参考,如果有错误请反馈给我们更正,对文中内容的真实性和完整性本站不提供任何保证,不承但任何责任,谢谢您的合作。
版权所有:五学知识网 Copyright © 2015-2026 All Rights Reserved .