QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
在程序执行到下面代码时出现此问题:
) A" D& i4 D! d- g M1.Create pathmdi12, v. N: O* J9 w3 n
M2.Create pathmdi11
! c! L- U% z# c$ y5 X
" R$ [$ g& Z( R% l) p提示如下:
% k# I0 ^1 ]$ _/ L8 M# u untitled.JPG ( A) o- b& M5 x+ ^3 b! d' \) C
; v  O- a; ]9 B1 n; S! C$ `+ X$ O8 U2 k
但是在程序第一遍执行时可以正常运行,第二遍即出现此问题) |; F6 j" e# d& b2 P4 H# L
' Y5 E' P! s3 D% A  R- T. }# ^' C
我的电脑上是office2003,不会出现此问题;但是一旦拿到装office2007的电脑就会出现这个问题
; k. W3 M, |) r( q. T( E. }# D  _& w
请问是怎么回事?如何解决?% C- ]3 E/ p+ G* [+ h# ?
5 F7 l/ h$ M% b
不知道斑竹woaishuijia是否遇到过此问题?或者其他朋友是否遇到过此问题?如果有解决方案,请不吝赐教,不胜感激
发表于 2009-11-12 17:07:57 | 显示全部楼层 来自: 中国
没用过office2007,猜想可能是 2007 版 Office Document Imaging 与 2003 版不同。建议到 MSDN 网站查看一下 office2007 的 VBA 参考。如果原因是这样的话,就需要在程序中加入识别版本并区别对待的内容。- v0 P/ K6 C2 c  ~
另外,引用的对象是否正确?
( `/ I! d( l( K3 w2 B' V还有,M1、M2 、M3 这些变量用过之后,是否有用 M1.Close 和 Set M1 = Nothing 语句关闭进程?. `- X5 \5 K7 w% i
附件是《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,以前从 MSDN 下载的。

MSPAUTO.rar

339.97 KB, 下载次数: 3

 楼主| 发表于 2009-11-12 19:29:11 | 显示全部楼层 来自: 中国天津
谢谢斑竹
6 z; f  X. L  [3 I3 K2 J% Z$ |( O# E: o0 y/ p, y* r
引用的对象应该是正确的
9 E: x$ s) L  X7 ]2 u* w9 _" R! R/ A! o0 o
因为对象是在前一段程序中生成的,而且第一次运行时可以正确执行并输出期望的结果,但第二次就会出现偏移,plottofile方法输出的图形相对于图纸发生偏移,目前没有找到原因,第三次运行时会出现本贴所说的错误提示: e" z, E, h2 @* V( [! J3 b
) S8 T% L5 [- C/ n! ?$ V
为了切断其他可能的联系,我重建了个按钮,输入如下程序:' q. }" K/ E4 K; e6 H; ]6 |0 M6 {. w
public aa as long
9 v4 [6 q; X  R$ }Private Sub CommandButton9_Click()
6 g) m- P0 K0 W, {1 J0 MDim M1 As MODI.Document, M2 As MODI.Document  '合并
/ r- J* c% K* b" X$ {1 F/ s7 s, k  [Dim bb, path As String& \3 ]0 W( z* U' ^; _. K" T
aa = aa + 100( _" Z) r4 }* ?( |9 z" ?
bb = Str(aa)
( [. r2 j$ f. G# L7 Z+ Mpath = "d:\我的图纸\" & bb & ".mdi"7 A/ u0 o. s! P$ P# c0 O- Q5 x
Set M1 = New MODI.Document
# p. |4 c1 p; f, L! z1 {0 m3 v    Set M2 = New MODI.Document+ l# K% {$ A1 O% u% S
    M1.Create "d:\我的图纸\1111.mdi"1 C7 h1 u( R" O  y, p4 A
    M2.Create "d:\我的图纸\2222.mdi"
! L* ~2 G" m, n6 _. Z" `+ ~; G    M1.Images.Add M2.Images(0), Nothing
- t" p8 d, Z* a7 c    M1.SaveAs path
( n& _* B$ z  t$ Y) i7 N  _    M1.Close# m) x9 _3 B, C( B0 Z
    M2.Close- d! V# {3 C5 p) M
End Sub  b7 C, f6 w  O  y4 u: G
此程序在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
/ i) Y) @, P" c+ Y( l在 End Sub 前面加上 Set M1 = Nothing 和 Set M2 = Nothing 试试

. @# a4 Z( `7 U4 J& q" f. }# r8 ?- x  J' u8 h* W
试过了,没用
) p6 Q4 w$ r$ T, Y/ I
4 c# |/ e9 T  Q- g
- C9 N  r5 J3 y  J3 a. ~8 q; T测试发现:有时候程序会死在  M1.Create "d:\我的图纸\1111.mdi"  这一句,一直在这里运行,不再向下执行,但如果暂停然后再运行,则出现致命错误
% Z" B7 o' p2 @5 t  d) ^6 N0 {2 I
) A2 F: c: @% H6 S' P/ _. f8 n. K+ p另外,我去MSDN网站看了一下,只有《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,没有适用于office2007的版本( v7 y* l, v% E/ T& P* C- T

) H" r& ]. o6 [; L' U" S[ 本帖最后由 157787698 于 2009-11-13 08:47 编辑 ]
 楼主| 发表于 2009-11-13 08:26:07 | 显示全部楼层 来自: 中国天津
还有另外一个问题:6 Q. B/ c0 m5 ?4 A" t
为什么plottofile方法打出来的图纸会出现偏移?我在程序中直接给点的坐标,不需要用户自己去选择,也就是不能使用getpoint方法3 d- a: n9 U$ Y- m) ^4 Y
) R) F8 G6 m5 h$ S5 E/ J
不知道斑竹有没有遇到过这种问题?
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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