ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 5981|回复: 7

请教用VBS如何打开word文档,ths!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-7-1 12:14 | 显示全部楼层 |阅读模式

1、我用下面的语句打开WORD文档,但提示错误,请大侠帮看一下哪里出错,ths

dim fso,aa,bb,cc

Set aa = wscript.createobject("word.Application") set bb = createobject("scripting.filesystemobject") set fso = bb.getfile("word.dat") aa.application.visible =false aa.Documents.Open fso 这句出现错误

2、

下面两句代码在office 2003 可以通过,但在office 2000版本缺出现错误。后来一看,果然没有

这个方法,哪位大侠知道在office 2000下用什么语句打开对话框,ths!

Set newtext = Application.FileDialog(msoFileDialogFilePicker) Set newtext = Application.FileDialog(msoFileDialogOpen)

TA的精华主题

TA的得分主题

发表于 2005-7-1 12:52 | 显示全部楼层

第一个问题,请参考:

Dim fso, aa Set aa = wscript.CreateObject("word.Application") fso = "c:\word.dat" aa.Application.Visible = False aa.Documents.Open fso

第二个问题请参考:

Application.Dialogs(wdDialogFileOpen).Show 如SET NewText=Application.Dialogs(wdDialogFileOpen)

NewText.show

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-7-1 13:44 | 显示全部楼层

多谢守柔斑竹的热心回答。我刚才试了一下还是不行

第一个问题:fso = "c:\word.dat" 如果是当前文件夹应该如何写路径,ths

第二个问题:如SET NewText=Application.Dialogs(wdDialogFileOpen) NewText.show

在office 2000上测试不能通过。好像office2000没有这个属性。能否再帮忙看看,多谢!

TA的精华主题

TA的得分主题

发表于 2005-7-1 14:05 | 显示全部楼层
以下是引用username在2005-7-1 13:44:56的发言:

多谢守柔斑竹的热心回答。我刚才试了一下还是不行

第一个问题:fso = "c:\word.dat" 如果是当前文件夹应该如何写路径,ths

第二个问题:如SET NewText=Application.Dialogs(wdDialogFileOpen) NewText.show

在office 2000上测试不能通过。好像office2000没有这个属性。能否再帮忙看看,多谢!

再试一下这个:

dim fso Set a = WScript.createobject("Word.Application") set b = createobject("scripting.filesystemobject") set fso = b.getfile("T.txt") a.documents.Open fso.path

至于第二个问题,我认为是正确的,至少在VBA中,FILEDIALOG是XP中新增的对象,而DIALOG是WORD的基本对象,你应该检查一下。

TA的精华主题

TA的得分主题

发表于 2005-7-1 18:58 | 显示全部楼层

有时候有些错误跟WSH版本有关,现在最新的是5.6版,如果你的不是的话,可能前面一句要这样写:

将你的

Set a = WScript.createobject("Word.Application") 改为:

Set a = createobject("Word.Application")

你试试看。

如果Wscript的版本不是5.6,有时候要这样写。

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-7-4 08:29 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

感谢七叶一枝梅。我试过用createobject("Word.Application")代替WScript.createobject("Word.Application") 还是没有用。

感谢守柔版主,a.documents.Open fso.path 搞定。

关于第二个问题,我用2000版本的WORD进行编程,发现application对象没有Dialogs 这个方法,

另外2003版的application对象没有wdDialogFileOpen属性,只有msoFileDialogOpen属性,但用wdDialogFileOpen可以调试通过。

请守柔版主 能否帮忙看看是什么问题,ths!

另外守柔版主能否告知office xp 的application.version 是多少,多谢!

TA的精华主题

TA的得分主题

发表于 2005-7-4 09:02 | 显示全部楼层
以下是引用username在2005-7-4 8:29:23的发言:

感谢七叶一枝梅。我试过用createobject("Word.Application")代替WScript.createobject("Word.Application") 还是没有用。

感谢守柔版主,a.documents.Open fso.path 搞定。

关于第二个问题,我用2000版本的WORD进行编程,发现application对象没有Dialogs 这个方法,

另外2003版的application对象没有wdDialogFileOpen属性,只有msoFileDialogOpen属性,但用wdDialogFileOpen可以调试通过。

请守柔版主 能否帮忙看看是什么问题,ths!

另外守柔版主能否告知office xp 的application.version 是多少,多谢!

编程到你这个状态,我不知说什么好了。

在VBA对象中,DIALOGS属于APPLICATION的一个对象,无论97\2000乃至XP以上版本,这是基本APPLICATION对象.

VBA中,DEBUG.PRING APPLICATION.VERSION就可以了.

XP的VERSION为10.0,2000为9.0,2003 为11.0

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-7-4 12:30 | 显示全部楼层

感谢守柔版主,偶也只是对编程略懂,实际上应该还不能说会编程,呵呵。

所以没有办法,问得问题可能比较初级。还请版主多指教。

此问题偶自个再找找其他原因。谢谢!

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-15 10:25 , Processed in 0.035279 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表