QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 2572|回复: 5
收起左侧

[求助] 运行时错误2147417848(斑竹woaishuijia请进)

[复制链接]
发表于 2009-11-12 09:38:58 | 显示全部楼层 |阅读模式 来自: 中国天津

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
在程序执行到下面代码时出现此问题:5 }+ Z1 O; L% C0 R! o5 P( D
M1.Create pathmdi120 [: D0 _) n, Z5 a4 _! s8 z# n
M2.Create pathmdi11
# j2 ?4 n9 h$ k/ l$ L& n* e6 C9 S6 K
提示如下:! u- f% }% z1 T; K  Z
untitled.JPG / S2 b5 i+ Y1 o2 ]' p( x
4 i/ R2 c2 `0 A: x2 Q# C' x
但是在程序第一遍执行时可以正常运行,第二遍即出现此问题' \6 Y4 Y8 j9 g# r- @. s8 e8 x
( Q+ l1 A; a' @
我的电脑上是office2003,不会出现此问题;但是一旦拿到装office2007的电脑就会出现这个问题: z* r3 @' H+ O% _% H5 D

! I4 r% p: V8 V' l$ u5 |/ Q请问是怎么回事?如何解决?* i+ {2 q# h8 m& X, A8 o! o- v

8 g  G6 Z2 J/ A& ~* Z4 n1 h不知道斑竹woaishuijia是否遇到过此问题?或者其他朋友是否遇到过此问题?如果有解决方案,请不吝赐教,不胜感激
发表于 2009-11-12 17:07:57 | 显示全部楼层 来自: 中国
没用过office2007,猜想可能是 2007 版 Office Document Imaging 与 2003 版不同。建议到 MSDN 网站查看一下 office2007 的 VBA 参考。如果原因是这样的话,就需要在程序中加入识别版本并区别对待的内容。
3 D9 h0 [) @: _. H$ C, W另外,引用的对象是否正确?
- X1 g% g( ~1 ]还有,M1、M2 、M3 这些变量用过之后,是否有用 M1.Close 和 Set M1 = Nothing 语句关闭进程?9 q  c( z2 F. ]  `3 J
附件是《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,以前从 MSDN 下载的。

MSPAUTO.rar

339.97 KB, 下载次数: 3

 楼主| 发表于 2009-11-12 19:29:11 | 显示全部楼层 来自: 中国天津
谢谢斑竹4 ?3 c- _6 U) _( ?: ?
" [; z: F3 b4 M
引用的对象应该是正确的& z% W+ W3 J5 N: j  P+ F
' U) e; B/ ^7 d% k8 K
因为对象是在前一段程序中生成的,而且第一次运行时可以正确执行并输出期望的结果,但第二次就会出现偏移,plottofile方法输出的图形相对于图纸发生偏移,目前没有找到原因,第三次运行时会出现本贴所说的错误提示) \: g  ^# E& m( v4 r- O9 P
, F, f: p) H; p5 @& N
为了切断其他可能的联系,我重建了个按钮,输入如下程序:
8 J( o. {* a4 D* Z$ ^; d- j: c& Fpublic aa as long # q! c8 U- u8 r6 Y2 q7 E- {
Private Sub CommandButton9_Click()1 N, j, n: y' V" L9 j9 L8 @  W
Dim M1 As MODI.Document, M2 As MODI.Document  '合并
& m, T6 L$ r. C  [+ zDim bb, path As String# V2 L8 a9 B8 H: o7 o
aa = aa + 100' r/ S) ]& X/ G
bb = Str(aa)& a% i* d- p# ?. i& _5 i$ \! i
path = "d:\我的图纸\" & bb & ".mdi"
* n7 @) y4 ]( \. W. V6 j1 BSet M1 = New MODI.Document5 Q8 m' A. S" n* G  n- j
    Set M2 = New MODI.Document
+ T9 Z( l! }, L% ]( A( \1 A: g    M1.Create "d:\我的图纸\1111.mdi"
. [1 Y9 K5 K/ _3 u    M2.Create "d:\我的图纸\2222.mdi"' E, ^0 Q! E2 G0 r, M
    M1.Images.Add M2.Images(0), Nothing
" L$ `. s+ M3 h* _: ^5 m2 w  }    M1.SaveAs path
7 f& }/ j& m5 N; M* ^$ W- H    M1.Close' p: F5 c8 D# r$ s
    M2.Close
+ G9 N* H) h. B; t7 @End Sub) L; D$ S  f- ?6 w1 |
此程序在office 2003下正常运行,而在office2007也可以运行,但是仍然会不定时的出错,相同的错误提示
发表于 2009-11-12 20:04:27 | 显示全部楼层 来自: 中国
在 End Sub 前面加上 Set M1 = Nothing 和 Set M2 = Nothing 试试
 楼主| 发表于 2009-11-13 08:23:52 | 显示全部楼层 来自: 中国天津
原帖由 woaishuijia 于 2009-11-12 20:04 发表 http://www.3dportal.cn/discuz/images/common/back.gif
$ y  l4 G: y4 V" b3 w. X在 End Sub 前面加上 Set M1 = Nothing 和 Set M2 = Nothing 试试
, @% c% Z, F# j! k, D/ l8 V9 {" J

( _; c, S  S  z9 D4 a2 r/ f试过了,没用! U- S  b6 g0 H
0 g2 q' y; H* Y2 g) g/ I

$ Q# c/ {* f9 w* H9 G测试发现:有时候程序会死在  M1.Create "d:\我的图纸\1111.mdi"  这一句,一直在这里运行,不再向下执行,但如果暂停然后再运行,则出现致命错误
8 T/ r6 w4 x/ n% c% }/ M
9 d7 \5 t2 |4 }. B* V) B% e3 {另外,我去MSDN网站看了一下,只有《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,没有适用于office2007的版本
; k5 ^. m/ {. B0 q8 O0 R$ \# `, l9 L. X
[ 本帖最后由 157787698 于 2009-11-13 08:47 编辑 ]
 楼主| 发表于 2009-11-13 08:26:07 | 显示全部楼层 来自: 中国天津
还有另外一个问题:
; X) I. }5 ~8 Q# H6 J为什么plottofile方法打出来的图纸会出现偏移?我在程序中直接给点的坐标,不需要用户自己去选择,也就是不能使用getpoint方法
5 x9 o8 t) P( g7 u( l% k5 E  t: x% {3 Q
不知道斑竹有没有遇到过这种问题?
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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