ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

程序运行多次后常失灵,好奇怪!!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-10-16 18:57 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

麻烦各位高手了,这是我的自动作文系统,功能是从"总标记.xls"里提供目标档名称及目标档关键字,然后在"资料源档.doc"里查到关键字,并提取所在行,插入到新成生的目标档里相应的文字域中. 请看"资料源档.doc"里我自定义的菜单:"作文".

包含如下功能: 1.作文:用来生成总标记.xls里设定的向个作文类型 2.类型A:作文类型A 3.类型B:作文类型B 4.作文初始化:使总标记.xls里的各个类型作文及其各个关键字的标志为"未完成"

问题是:它们经常会失灵,调试时总是停在作文模块的如下语句

Private Sub 提取关键字() Dim docsign As String Set xlSheet = CreateObject("F:\文字资料\总标记.xls").Sheets(docname) <<---------就是这里

错误提示是:变量未定义或with缺少语句.

但实际上一般能正常工作,只是有时会在生成数个类型的作文后就突然失灵了,老提示上面的错误,怀疑是系统问题,但马上用GHOST恢复后还是一样.不过你像这次,过了一个晚上后竟又运转正常了,经常是这样子,丢在一旁不管它后,又能用了.最难想像的是恢复系统后也不成.

我的系统是:windows XP SP2+OFFICE2003

6QQDbNSd.rar (44.07 KB, 下载次数: 18)
[此贴子已经被作者于2005-10-17 15:50:20编辑过]

htrAwjA1.rar

31.24 KB, 下载次数: 10

又要麻烦版主了,附件很完整的!

664EBZ4R.rar

33.91 KB, 下载次数: 17

又要麻烦版主了,附件很完整的!

MYlu3ytR.rar

43.41 KB, 下载次数: 9

又要麻烦版主了,附件很完整的!

TA的精华主题

TA的得分主题

发表于 2005-10-16 19:31 | 显示全部楼层
楼主想干什么?我怎么看不懂?

估猜肯定是什么高深的东东,还是等老大来吧。

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-10-17 12:45 | 显示全部楼层

请版主过目~~我把问题整理了一下~~

TA的精华主题

TA的得分主题

发表于 2005-10-18 05:13 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

象楼主这样重要的程序,必须要有错误安全出口,以便及时完善和合理处理不同的错误。

我只是给你一个提示,具体工作,还是得由你本人完成。

我把错误时提示一个变量内容,你注意看一下,是否为"",(空空)或者为不合理的引用工作表名.其实如果你会调试的话,你可以看到,光黄色光标标记所在行的各个变量内容,将鼠标指针移到该变量中,会有显示值的,一会便知.

如果还是不能自行解决,把这个错误的两个对话框(MSGBOX)下面各加上DEBUG.PRINT ……(错误内容,错误号和变量值)等,贴上来。

'* +++++++++++++++++++++++++++++ '* Created By I Love You_Word!@ExcelHome 2005-10-18 5:09:23 '仅测试于System: Windows NT Word: 10.0 Language: 2052 '№ 00056^The Code CopyIn [标准模块-作文]^' '* -----------------------------

Private Sub 提取关键字() Dim docsign As String On Error GoTo ErrHandle Set xlSheet = CreateObject("F:\文字资料\总标记.xls").Sheets(docname) Set xlRange = xlSheet.Range("A2:" & xlSheet.[A65536].End(xlUp).Address) For Each k In xlRange Keyword = k.Offset(, 1).Value KeyModel = k.Offset(, 2).Value KeyLineSum = k.Offset(, 3).Value KeySign = k.Offset(, 4).Value KeyMore = k.Offset(, 6).Value If KeySign = "未完成" Then Select Case KeyModel Case "本期源档" source_Path = "F:\文字资料\" '源路径 source_doc = "资料源档.doc" Case "全年源档" source_Path = "F:\文字资料\资料库\" source_doc = k.Offset(, 5).Value Keyword = QiShu & "期" Case "手工操作" k.Offset(, 4) = "完成" GoTo 0 End Select Call 查找源档 Call 源档中查找关键字 'doc.Save If KeyModel = "全年源档" Then doc.Close 0: End If Next 'xlSheet.Close False Set xlSheet = Nothing Exit Sub ErrHandle: MsgBox Err.Number & Err.Description, vbExclamation Err.Clear MsgBox "docname=" & docname End Sub '----------------------

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-10-18 11:13 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
谢谢!!我之前也留了很多MSGBOX来检查变量值,后来确定点得太多嫌麻烦就把那些MSGBOX去掉了...因为不知道这个ErrHandle,从来没学过,赶鸭子上架,忙于交差啊,谢谢了!!测试几天后我会把结果贴出来供和我一样的新人学习!!

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-10-19 14:11 | 显示全部楼层

MsgBox Err.Number & Err.Description, vbExclamation Debug.Print Err.Clear MsgBox "docname=" & docname Debug.Print

是这样加吗?弹出的两个MSG分别是:91对象变量或With块变量未设置 和 docname=类型A

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-10-19 21:16 | 显示全部楼层
实在是惭愧,不知道如何检查,程序还在时不时地失灵,好耽误事情,~~版主可以帮我测试一下不?
[此贴子已经被作者于2005-10-19 21:18:07编辑过]

TA的精华主题

TA的得分主题

发表于 2005-10-20 06:03 | 显示全部楼层

你先把里面所有查找文件的函数\过程全部更改为如下代码

If Dir(target_path & target_doc, vbDirectory) = "" Then MsgBox target_path & target_doc & "不存在" Else MsgBox target_path & target_doc & "存在" End If

无需使用Application.FileSearch,这个太慢太耗内存了,根本没有必要

重新整理后再上传

我初步测试了几遍,尚未发现问题.

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-10-20 18:34 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-15 20:59 , Processed in 0.040391 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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