vb 调用Word打开文档

vb 调用Word打开文档,第1张

思路:读取注册表获得word的安装路径,然后shell命令加参数打开。

简单说一下这个思路:

首先在注册表

[hkey_classer_root]

中查找注册文件类型,我们以.doc为例,那么在[hkey_classer_root]

中可以找到.doc项,查看右边的键,有一个键名为“默认”,其对应键值是【word.document.8】。

利用这个查询结果,在[hkey_classer_root]中重新查找名为【word.document.8】的项,就会发现这项存在子项shell

-

open

-

command,在command项中存一个名为“默认”的键,其键值是【"c:\program

files\microsoft

office\office14\winword.exe"

/n

"%1"】(这里是以我的电脑为例的),这就是打开对应文件的程序路径和参数。

至于vb.net读取注册表,网上有很多示例了,这里不再赘述。

知道,不过不能直接读取,因为微软没有公布加密方式,所以要调用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

'完成 *** 作

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

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


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8166936.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存