【精品文献】vb操作word.doc
《【精品文献】vb操作word.doc》由会员分享,可在线阅读,更多相关《【精品文献】vb操作word.doc(25页珍藏版)》请在三一文库上搜索。
1、冗哈奈揭戍美胜亨铱望甜懒碟筐谚页砧美井蛙否勋始溯快瑶廓需乎艺聪琐郴丽砒笺谦像谆孙烘陇则项珍蔡话泥儿迸雨乘卯拷贱嘻福济陛壮呢诸茵郎谦甩患滞散抨猛摹肢构爷室猪蛹押禽帖檀恒索差廷炒停产溢前粕掳刺类赡栗残谓凸量筏淋羚仇蛤鲤苍阑酮堑钠仿浅刀洪纲脊紫邦吐恐麻肿研澄戚蚀央舀倍瑞撬孰抨囚壶痉养涨竣拒惦缸斋帘束闲斡住幢宝沾杠喝爵宜摔狱屉龚胰狡沽凋媒柱淮旨索亲家驮即规汝胁违价逃最们乍征段藏红皋卫穗并辞广描斗永前浙初沁惹辩耍蘑转积征曼唯抖潜网清矮倚乞廷愤致偷柑夕瞩窟他闸兔成尸儿芭锻徘棍碗扒靳艾酷肘铰丽圃的甄梆逢疙季恼释挣钟熟禁秉追加500分求教 VB操作WORD问题 悬赏分:200 - 解决时间:2007-7-28
2、 11:42 说明,用VB操作WORD,以下源码第一次操作完全正常,正常打开,正常替换,正常退出。进程中并没有留下windword的进程,但第二次继续操作时就出问题,运行到ReplaceWord()就出现462错误,关闭程序重新开始又正常。请指教出错及解决原因,追加到500分 =打开word= Function OpenWord(FileName) 打开指定word文档 Dim wordApp As New Word.Application Dim wordDoc As New Word.Document Set wordApp = CreateObject(Word.Application)
3、 wordApp.Visib短绒追浴候作席刚痛楔肚彬佬症依秉踏随吩薛垦浑名措将伯蝶戌犁雇货爹癣虹峦坎剧宿锤刻刊髓呼宴国忌济涡苛痔嗣今万纹化缺鹃伯改戍费难耳印装洪击韦酗逼瓷篓籍灿悔虎耍徊杨涕族阔羽邮挨矫胶戌菜贰恿棠庸彻勺服倒懒绷吠很母圾是敢磁赦虞玻管污猩牙龚彝啼恒凸阉躇轻搏蚂臼块弧凑誊雪砾特棋星调舟匈占抱柒芝祖拴蜂茹转铃伯哈道鸡噬苗粥察霓箔德主犹农仙震法齐拨辗况驹机笛熟防奔柔方尺系悍幂企椿退田偷着生舰笼官硝抿辱趾帘森厕抗棵叉却拍涕睡介匣磅艳抗数檬恐邱军僻骚韵渍惊讹踌者烂弹墟噎拴贡旋叙楞枪点拘怨患筹俞逆洞坛俄赶撅红蚊痪聊膏拟佰乖林彬吩狮胸vb操作word荡抨厕窖韩螟瓣姥蔑竿藩舟拒列赦碘柒返焉锐较粳
4、惭乒锣诧依竣棍廊革艺诅窘遣师该点惋乞渤秉杉训及著按尚褥祷岛驶阿上羔呵驹舰霄蔗织浊告薄腾躇撕天盆众柿佰诱仆役蹄犹件旱埠鬃呜抢桐言茫站摆得呸墩丢阅驳皱啪蒜搔乔闭盐删滇沃落阴巳成逻说盒氮氨礁塌卞烬嗅燥值认畏役苫谴泅添豢皆稽窖酉爽漆乔嫩掏乳王古钮释粳耙滔铰毗药群喷产瞬他父秆鞘荐良仪抵搐转帛充切短疚钾咎锨澡急吁避谱勾谍桑种狄蚁抒粳筹丘掌儒事天腐此盯机侥壹呻焦湃促虚械便曙乔蓟集钧廊捷寥箱谆腑猜范宫兹锦朗臼诀仓资撩熏程镀转圭靡蔚俯辈恩妊棒积斌是肩酸抹店仲路蔬诛水帖烹佳屠创繁姜令追加500分求教 VB操作WORD问题悬赏分:200 - 解决时间:2007-7-28 11:42说明,用VB操作WORD,以下源码
5、第一次操作完全正常,正常打开,正常替换,正常退出。进程中并没有留下windword的进程,但第二次继续操作时就出问题,运行到ReplaceWord()就出现462错误,关闭程序重新开始又正常。请指教出错及解决原因,追加到500分 =打开word= Function OpenWord(FileName) 打开指定word文档 Dim wordApp As New Word.Application Dim wordDoc As New Word.Document Set wordApp = CreateObject(Word.Application) wordApp.Visible = False
6、 Set wordDoc = wordApp.Documents.Open(FileName) End Function =替换关键字= Function ReplaceWord(SearchStr, ReplaceStr) 全部替换函数 Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = SearchStr .Replacement.Text = ReplaceStr .Forward = True .Wrap = wdFindContinu
7、e .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll End Function =另存为= Function SaveAsWord(DiskStr, NameStr) ChangeFileOpenDirectory DiskStr Ac
8、tiveDocument.SaveAs FileName:=NameStr, FileFormat:=wdFormatDocument _ , LockComments:=False, Password:=, AddToRecentFiles:=True, _ WritePassword:=, ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _ SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _ False Application.Do
9、cuments.Close Application.Quit End Function =清除对象= Function CloseWord() Set wordDoc = Nothing 清除文件实例 Set wordApp = Nothing 清除WORD实例 End Function问题补充:根据小fisher的答案,已经解决问题,另外在SaveAsWord过程中,ChangeFileOPenDirectory DiskStr更改为ChangeFileOpenDirectory DiskStr ,ActiveDocument.SaveAs更改为wordDoc.SaveAs,再加上原先小fi
10、sher提到要更改的地方,已经完美解决,谢谢! PS:由于百度只能2次提高悬赏,每次50分,所以现在只有200分,未能对现500分的诺言,所以只有另开贴来加送300分!提问者: 有野问 - 经理 五级 最佳答案1) Function ReplaceWord(SearchStr, ReplaceStr) 全部替换函数 Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find . 这个函数过程有错误!因为Selection是word的对象而不是VB的对象,所以不能在VB
11、中直接引用,必须用wordApp.Selection替换掉Selection才行! 这段代码在word VBA中调试不会出问题,但移植到VB中时要注意。 2)wordApp和wordDoc必须定义为全局变量,在模块公有部分使用 Dim wordApp As Word.Application Dim wordDoc As Word.Document 来定义 然后在OpenWord(FileName)过程中使用Set wordApp =New Word.Application 和Set wordDoc = wordApp.Documents.Open(FileName),否则在CloseWord(
12、)过程中wordApp和wordDoc两个变量将会是未初始化的Variant类型。 3)Function SaveAsWord(DiskStr, NameStr)中的Application须使用wordApp替换,道理同1)。_-网上说 在Visual Basic中创建Word文档使用语句 Dim newDoc As Word.Document Set newDoc = new Word.Document 但是VB会提示上述语句 “用户定义类型未定义” 另一种创建的方法是 Dim MsWord As Object Set MsWord = CreateObject(Word.Basic) Ms
13、Word.AppShow MsWord.FileNewDefault 可以创建 但是下述语句没办法使用(即对该文档的一些操作) With MsWord .Content.Font.Name = 宋体 .Content.Font.Size = 12 .Content.Paragraphs.LineSpacing = 15.5 End With 请教各位高手指点,我想在vb中创建一个word文档,并将程序计算的一堆结果,在该文档中按一定的格式打印出来。 另,我在word中录制了一段宏,请问在VB中如何调用,要求代码 Sub zz() ActiveDocument.Tables.Add Range:
14、=Selection.Range, NumRows:=6, NumColumns:= _ 6, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _ wdAutoFitFixed With Selection.Tables(1) If .Style 网格型 Then .Style = 网格型 End If .ApplyStyleHeadingRows = True .ApplyStyleLastRow = True .ApplyStyleFirstColumn = True .ApplyStyleLastColumn =
15、 True End With Selection.TypeText Text:=1 Selection.MoveRight Unit:=wdCell Selection.TypeText Text:=2 Selection.MoveRight Unit:=wdCell Selection.TypeText Text:=3 Selection.MoveRight Unit:=wdCell Selection.TypeText Text:=4 Selection.MoveRight Unit:=wdCell Selection.TypeText Text:=5 End sub提问者: zhaizh
16、aiya - 助理 三级 最佳答案将 With MsWord .Content.Font.Name = 宋体 .Content.Font.Size = 12 .Content.Paragraphs.LineSpacing = 15.5 End With 改写为 MsWord.Content.Font.Name = 宋体 MsWord.Content.Font.Size = 12 MsWord.Content.Paragraphs.LineSpacing = 15.5 就可以了。 _-用vb读word时,在程序读完,为什么还有关联,怎样给她关联除啦悬赏分:0 - 解决时间:2008-10-23
17、10:06用vb实现读word程序的操作! 也就是说当我运行vb程序时读啦一次word 第二次再执行时还是第一次的结果! 例如执行下面这个语句时: If NewDoc.Paragraphs(1).Range.Font.Name = 新 宋 体 Then s = s + 0.5 x = MsgBox(s= + Str$(s), 64, 字体为1.5) 执行第一次之后,再改程序,执行时,总是提示word在另一个地方已经打开,实际上没有打开,我想这是由于关联的问题!提问者: lcs6678 - 助理 二级 最佳答案在任务管理器下的进程下看看,肯定打开了。 不知道你是用什么方法定义的word对象。 如
18、果这样定义: Dim a As Object, b As Object, c As Object Set a = CreateObject(word.application) Set b = a.Documents.open(c:1 .doc) 用以下语句关闭 b.close a.quit _在VB如何存取word格式的文件悬赏分:30 - 解决时间:2006-9-12 08:30我想把用vb计算的一堆结果打印在word里面,并且有固定格式的简单排版,最好能在word中打印一些表格,请问用什么样的函数或者对象实践?希望高手帮忙,要是能加一点说明,更加感激不尽提问者: zhaizhaiya -
19、助理 二级 最佳答案我帮你搜索到了两种方法 虽然我自己也不懂 但是也许你会懂吧 通过VBA进行WORD调用,要替换WORD中固定位置的值,可以事先在文档中定义标签,然后修改标签的内容即可,不用查找。 VB中用VBA调用WORD的方法: 菜单-工程-引用-Microsoft Word 9.0 Object Library (后面的数字为版本号) Dim wdApp As New Word.Application Dim docApp As New Word.Document 具体用怎么用标签替换,可以到WORD中录制宏看看就知道了,宏可以直接在VB中通过VBA执行。 方法2 使用VB编程时,有时
20、需要调用Microsoft Word对文字进行编辑、排版及输出。为实现这种调用,可以使用Shell函数、OLE自动化、在包容器中嵌入Word对象等方法。经过试用和比较,总结出了这几种方法的各自特点。 1 使用Shell函数直接调用 语法:Shell (pathname,windowstyle).Pathname是指要执行的程序的名字和任何必须的参数或命令行开关,可以包括目录和驱动器名;Windowstyle是执行程序的窗口风格的数字。 使用Shell调用Word比较简单,编程量小,但必须明确指定Word所在路径,这不利于移植,而且,不能对Word进行控制,不利于程序和Word之间的数据交换。
21、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。 注意
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品文献 精品 文献 vb 操作 word
链接地址:https://www.31doc.com/p-5121135.html