用 OLE ,打开word 文件
运行时用 OLE 容器控件创建对象
要在运行时创建链接或嵌入对象,需要在代码中使用方法和属性。OLE 容器控件有各种用来操作链接或嵌入对象的属性和方法。关于应用于 OLE 容器控件的全部属性和方法的清单,请参阅“OLE 容器控件”。使用 Object 属性
通过使用 OLE 容器控件的 Object 属性,可以使用链接或嵌入对象的属性和方法。Object 属性是运行时、只读属性,它保持对 OLE 容器控件中的对象的引用。使用该属性执行 OLE 容器控件的自动化任务,以及程序化操作对象支持的属性和方法:strObjName = oleObj1.Object.Name为使用此属性,OLE 容器控件必须包含可编程的对象。关于可编程对象的详细信息,请参阅“ActiveX 部件的类型”。运行时创建链接对象
可以用OLE容器控件的 CreateLink 方法,在运行时从文件中创建一个链接对象。这种方法需要一个文件参数 sourcedoc,从这个文件创建对象;还需要一个可选参数 sourceitem,它规定了想要从源文件中链接的数据。运行时,下面代码创建链接对象:oleObj1.CreateLink "C:\Excel\Test.xls"注意 如果用“CreateLink”创建一个链接的对象,不必在“属性”窗口设置“类”、“SourceDoc”和“SourceItem”属性。详细信息 请参阅“CreateLink 方法”。在运行时创建嵌入对象
欲在运行时,从文件中创建一个嵌入的对象,可以使用 CreateEmbed 方法。这种方法有两个参数,sourcedoc 和 class(如果指定 SourceDoc,class 是可选的)。Sourcedoc 决定对象的模板,而 class 决定对象的类型。当用 CreateEmbed 时,不需要设置 SourceDoc 和 Class 属性.下列代码,用现存文件作为对象的模板创建嵌入的对象。oleObj1.CreateEmbed "Q1profit.xls"详细信息 请参阅“CreateEmbed 方法”。当创建一个空的嵌入的对象时,最好激活将要为对象提供数据的 ActiveX 部件。此时,可以使用 DoVerb 方法。它允许用户在运行时将任何数据输入应用程序中。然后,用户选择 ActiveX 部件的 Update 命令(这种菜单命令将出现在部件的“文件”菜单上),显示这些最新进入 OLE 容器控件中的数据。要在运行时创建一个空的嵌入对象,请按照以下步骤执行: 不指定源文档,用 CreateEmbed 方法创建一个空的嵌入对象。例如,下面的 代码在 OLE 容器控件中插入一个 Microsoft Excel Worksheet 的文件模板。
oleObj1.CreateEmbed "","Excel.Sheet"使用 DoVerb 的方法。DoVerb 方法的缺省动词依应用程序而定。对 Micosoft Excel,缺省的动词是 Edit。
例如,下列代码创建一个空的嵌入对象,然后激活使用缺省 DoVerb 操作创建该对象的应用程序。oleObj1.CreateEmbed "", "Excel.Sheet"
oleObj1.DoVerb -5 '激活当创建一个包含有不同应用程序的多种信息的文档应用程序时,提供空的嵌入对象是有效的方法。关于更详细的信息,请参阅“运行时让用户规定对象”。将数据库与 OLE 容器控件绑定
可以将 OLE 容器控件与存储在 Microsoft Jet 数据库引擎或 Microsoft Access 数据库中的数据绑定。如果有一个雇员照片表的数据库,就可能要这么做。如果这些照片作为对象被存储,可以将它们与 OLE 容器控件绑定,并将它们作为用数据控件访问的每个记录显示在窗体上。为了将数据与这些数据库中的数据绑定,需要在 DataSource 属性中规定数据源(数据集名),并在 OLE 容器控件的 Datafield 属性中规定来自数据源的字段的名称。当从数据库显示一个对象时,OLE 容器控件允许用户激活、编辑和更新对象。如同任何被绑定的控件一样,当记录位置被改变时,被更新的对象将自动写回数据库。详细信息 请参阅《数据访问指南》。
运行时用 OLE 容器控件创建对象
要在运行时创建链接或嵌入对象,需要在代码中使用方法和属性。OLE 容器控件有各种用来操作链接或嵌入对象的属性和方法。关于应用于 OLE 容器控件的全部属性和方法的清单,请参阅“OLE 容器控件”。使用 Object 属性
通过使用 OLE 容器控件的 Object 属性,可以使用链接或嵌入对象的属性和方法。Object 属性是运行时、只读属性,它保持对 OLE 容器控件中的对象的引用。使用该属性执行 OLE 容器控件的自动化任务,以及程序化操作对象支持的属性和方法:strObjName = oleObj1.Object.Name为使用此属性,OLE 容器控件必须包含可编程的对象。关于可编程对象的详细信息,请参阅“ActiveX 部件的类型”。运行时创建链接对象
可以用OLE容器控件的 CreateLink 方法,在运行时从文件中创建一个链接对象。这种方法需要一个文件参数 sourcedoc,从这个文件创建对象;还需要一个可选参数 sourceitem,它规定了想要从源文件中链接的数据。运行时,下面代码创建链接对象:oleObj1.CreateLink "C:\Excel\Test.xls"注意 如果用“CreateLink”创建一个链接的对象,不必在“属性”窗口设置“类”、“SourceDoc”和“SourceItem”属性。详细信息 请参阅“CreateLink 方法”。在运行时创建嵌入对象
欲在运行时,从文件中创建一个嵌入的对象,可以使用 CreateEmbed 方法。这种方法有两个参数,sourcedoc 和 class(如果指定 SourceDoc,class 是可选的)。Sourcedoc 决定对象的模板,而 class 决定对象的类型。当用 CreateEmbed 时,不需要设置 SourceDoc 和 Class 属性.下列代码,用现存文件作为对象的模板创建嵌入的对象。oleObj1.CreateEmbed "Q1profit.xls"详细信息 请参阅“CreateEmbed 方法”。当创建一个空的嵌入的对象时,最好激活将要为对象提供数据的 ActiveX 部件。此时,可以使用 DoVerb 方法。它允许用户在运行时将任何数据输入应用程序中。然后,用户选择 ActiveX 部件的 Update 命令(这种菜单命令将出现在部件的“文件”菜单上),显示这些最新进入 OLE 容器控件中的数据。要在运行时创建一个空的嵌入对象,请按照以下步骤执行: 不指定源文档,用 CreateEmbed 方法创建一个空的嵌入对象。例如,下面的 代码在 OLE 容器控件中插入一个 Microsoft Excel Worksheet 的文件模板。
oleObj1.CreateEmbed "","Excel.Sheet"使用 DoVerb 的方法。DoVerb 方法的缺省动词依应用程序而定。对 Micosoft Excel,缺省的动词是 Edit。
例如,下列代码创建一个空的嵌入对象,然后激活使用缺省 DoVerb 操作创建该对象的应用程序。oleObj1.CreateEmbed "", "Excel.Sheet"
oleObj1.DoVerb -5 '激活当创建一个包含有不同应用程序的多种信息的文档应用程序时,提供空的嵌入对象是有效的方法。关于更详细的信息,请参阅“运行时让用户规定对象”。将数据库与 OLE 容器控件绑定
可以将 OLE 容器控件与存储在 Microsoft Jet 数据库引擎或 Microsoft Access 数据库中的数据绑定。如果有一个雇员照片表的数据库,就可能要这么做。如果这些照片作为对象被存储,可以将它们与 OLE 容器控件绑定,并将它们作为用数据控件访问的每个记录显示在窗体上。为了将数据与这些数据库中的数据绑定,需要在 DataSource 属性中规定数据源(数据集名),并在 OLE 容器控件的 Datafield 属性中规定来自数据源的字段的名称。当从数据库显示一个对象时,OLE 容器控件允许用户激活、编辑和更新对象。如同任何被绑定的控件一样,当记录位置被改变时,被更新的对象将自动写回数据库。详细信息 请参阅《数据访问指南》。
dim wordtext as stringwdapp.selection.wholestory
wordtext.wdapp.selection.text
wordtext = wdapp.selection.text
这一句出现“对象变量或with块变量未设置”的提示,实时错误'91'
帮忙帮到底,我现在还是没有解决问题!
到底怎么才能方便地读取word文档(.doc)里的内容呢?当然,读出来的不能是乱码?
Dim wdapp As Word.application
Set wdapp = CreateObject("Word.Application")
wdapp.Documents.Open FileName:="d:\temp.doc"
wdapp.selection.wholestory
Text1 = wdapp.selection.Text
wdapp.Quit
End Sub
[email protected]
Dim wdapp As Word.application
Set wdapp = CreateObject("Word.Application")
wdapp.Documents.Open FileName:="d:\temp.doc"
wdapp.selection.wholestory
wtx = wdapp.selection.Text
wdapp.Quit
Open "d:\abc.txt" For Output As #1 '要写入的文件
Do
p = InStr(wtx, Chr(13)) '找回车符的位置
If p = 0 Then Exit Do '找不到就结束
ln = Len(wtx)
px = Left(wtx, p - 1) '取出一行
Print #1, px '写入文件
wtx = Right(wtx, ln - p)'将已经取走的部分去掉
Loop
Print #1, wtx '将最后一行写入文件
Close
End Sub能够对您有所帮助是我最大的快乐!!!欢迎交流!