怎么用程序生成word文档呀?

时间:2022-09-10 00:55:48
我用的是D版的vb6.0 professional edition + sp4
用了下面两个语句
    Dim word As Object
    Set word = CreateObject("Word.Application")
运行时就报错
说是 active component cannot create object
err.number = 429
请问是什么问题呀?

2 个解决方案

#1


下面是我在club.starinfo.net.cn上写过的一篇文章。应该适合你的。


我的软件平台是WINDOWS2000 PRO+VB6+OFFICE2000。在其它版本也一样可以用。

FIRST STEP:
打开VB6新建一个工程,然后在上面放一个COMMAND1。然后‘工程’-->‘引用’在对框中找到Microsoft Word 9.0 Object Library(如果你没安OFFICE当然没有了,如果它的是OFFICE97,那版本就是8),然后选上它,按确定。(注意一下,选中一个库时下面有这个库所在文件的显示如Microsoft Word 9.0 Object Library所在文件是C:\Program Files\Microsoft Office\Office\Msword9.olb。看看就行了:)最后按确定吧。

NEXT STEP:
按F2打开‘对象浏缆器’在上面的下拉列表中人钶以看到多了一个WORD库,选中它是下面就会出现这个库所提供的‘类’的功能了。(这也是看看就行了,有助理解:)

FINAL STEP:
回到VB6的FORM来,双点FORM1上的COMMAND1,将下面的CODE粘到上去。

Dim WordApp As New Word.Application ‘Word.application是啥请看OFFICE里的VBA文档
Dim Pic As String

Private Sub Command1_Click()
Pic = InputBox("请选一副图") 
WordApp.Visible = True     ‘Wordapp 就是一个WORD程序。
WordApp.Documents.Add ‘在找开的WORD程序中新建一个文档

'注意Selection前要有WordApp
WordApp.Selection.InlineShapes.AddPicture FileName:=Pic _
, LinkToFile:=False, SaveWithDocument:=True
End Sub

然后运行就可以了,你会看到在WORD中自动加入了一个图形,这看上去很幼稚,因为这只是第一步麻,现在我们证明了在VB中可以与一个WORD应用程序通信了。就像买一条新的内存,安到机器时,打开电源运行系统,然后发现No Problem 于是那么这条内存可以用:)

我这里只是一个很EASY的Sample,当然除了在WORD中加入一个图外,你还可以自动生成一个表,给一段文它排版。。。无所不能,实际上这是把VBA的功能在用VB来实现。
因为NO TIME所以您要是有兴趣,自已看WORD中的VBA编程HELP吧。所以在OFFICE时的VBA能对OFFICE做什么,那么,我们上面的方法就能做什么。
这样做有什么用呢?当客户要求你在VB中能做到打印,能排版,能做表格。。。。。时就得用这种方法了,可能就只对打印而言,VB或是DELPHI很EASY就能做到,可是后两者实现起来可就很麻烦了,难道你要写一个WORD或是WPS的软件在你的程序里么?事实上这也是不可能,也不现实的。于是Microsoft给编程人员提供了这个好办法――组件重用。

#2


你装了word了吗?

#1


下面是我在club.starinfo.net.cn上写过的一篇文章。应该适合你的。


我的软件平台是WINDOWS2000 PRO+VB6+OFFICE2000。在其它版本也一样可以用。

FIRST STEP:
打开VB6新建一个工程,然后在上面放一个COMMAND1。然后‘工程’-->‘引用’在对框中找到Microsoft Word 9.0 Object Library(如果你没安OFFICE当然没有了,如果它的是OFFICE97,那版本就是8),然后选上它,按确定。(注意一下,选中一个库时下面有这个库所在文件的显示如Microsoft Word 9.0 Object Library所在文件是C:\Program Files\Microsoft Office\Office\Msword9.olb。看看就行了:)最后按确定吧。

NEXT STEP:
按F2打开‘对象浏缆器’在上面的下拉列表中人钶以看到多了一个WORD库,选中它是下面就会出现这个库所提供的‘类’的功能了。(这也是看看就行了,有助理解:)

FINAL STEP:
回到VB6的FORM来,双点FORM1上的COMMAND1,将下面的CODE粘到上去。

Dim WordApp As New Word.Application ‘Word.application是啥请看OFFICE里的VBA文档
Dim Pic As String

Private Sub Command1_Click()
Pic = InputBox("请选一副图") 
WordApp.Visible = True     ‘Wordapp 就是一个WORD程序。
WordApp.Documents.Add ‘在找开的WORD程序中新建一个文档

'注意Selection前要有WordApp
WordApp.Selection.InlineShapes.AddPicture FileName:=Pic _
, LinkToFile:=False, SaveWithDocument:=True
End Sub

然后运行就可以了,你会看到在WORD中自动加入了一个图形,这看上去很幼稚,因为这只是第一步麻,现在我们证明了在VB中可以与一个WORD应用程序通信了。就像买一条新的内存,安到机器时,打开电源运行系统,然后发现No Problem 于是那么这条内存可以用:)

我这里只是一个很EASY的Sample,当然除了在WORD中加入一个图外,你还可以自动生成一个表,给一段文它排版。。。无所不能,实际上这是把VBA的功能在用VB来实现。
因为NO TIME所以您要是有兴趣,自已看WORD中的VBA编程HELP吧。所以在OFFICE时的VBA能对OFFICE做什么,那么,我们上面的方法就能做什么。
这样做有什么用呢?当客户要求你在VB中能做到打印,能排版,能做表格。。。。。时就得用这种方法了,可能就只对打印而言,VB或是DELPHI很EASY就能做到,可是后两者实现起来可就很麻烦了,难道你要写一个WORD或是WPS的软件在你的程序里么?事实上这也是不可能,也不现实的。于是Microsoft给编程人员提供了这个好办法――组件重用。

#2


你装了word了吗?