QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
在程序执行到下面代码时出现此问题:1 j, J3 {# y& N9 H: \$ @% _
M1.Create pathmdi12
/ v/ y& J0 y; \M2.Create pathmdi117 F7 A% o2 }5 h' R& q

( F9 X# H) d3 b" ]6 @9 l提示如下:6 C( i0 d4 A8 K2 ~$ I2 P& A
untitled.JPG 8 r3 G6 ^7 R) ]
5 L# S# g. o: i
但是在程序第一遍执行时可以正常运行,第二遍即出现此问题5 X3 N* j: J4 e( V0 @, h% a

( _5 |/ n3 I' @* o3 a+ O我的电脑上是office2003,不会出现此问题;但是一旦拿到装office2007的电脑就会出现这个问题" `8 W; z% A" |7 }1 y4 s3 C: O
( C! c( a" }% c* Z
请问是怎么回事?如何解决?
+ r! i* r8 D1 N% B& R( @
& z* V7 T2 J1 k2 C1 ~; D不知道斑竹woaishuijia是否遇到过此问题?或者其他朋友是否遇到过此问题?如果有解决方案,请不吝赐教,不胜感激
发表于 2009-11-12 17:07:57 | 显示全部楼层 来自: 中国
没用过office2007,猜想可能是 2007 版 Office Document Imaging 与 2003 版不同。建议到 MSDN 网站查看一下 office2007 的 VBA 参考。如果原因是这样的话,就需要在程序中加入识别版本并区别对待的内容。
* I( G' i' w0 ~另外,引用的对象是否正确?1 d5 Y" ~" a: A+ j5 h9 ?
还有,M1、M2 、M3 这些变量用过之后,是否有用 M1.Close 和 Set M1 = Nothing 语句关闭进程?( `* |5 w0 {, m; k8 C
附件是《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,以前从 MSDN 下载的。

MSPAUTO.rar

339.97 KB, 下载次数: 3

 楼主| 发表于 2009-11-12 19:29:11 | 显示全部楼层 来自: 中国天津
谢谢斑竹8 ?: [# Q; F/ J& t
9 i7 r3 f1 U& k1 f  }% s# B
引用的对象应该是正确的$ R' L! q6 w7 U  g  Q" W: u

/ K7 N+ w+ e- ~# Z因为对象是在前一段程序中生成的,而且第一次运行时可以正确执行并输出期望的结果,但第二次就会出现偏移,plottofile方法输出的图形相对于图纸发生偏移,目前没有找到原因,第三次运行时会出现本贴所说的错误提示
: a( p5 Y6 b; x' U, D, s6 \! H6 p( r9 N6 ^$ ]. c
为了切断其他可能的联系,我重建了个按钮,输入如下程序:0 k8 {1 X0 h; q& c5 w
public aa as long " d3 V3 E  o5 @4 \
Private Sub CommandButton9_Click()
7 s5 ?( U/ M# r; ^) W' ~5 o5 aDim M1 As MODI.Document, M2 As MODI.Document  '合并6 T+ r$ q: o/ {& X, Y% w  D7 S* X
Dim bb, path As String
+ G3 ]2 }1 C( M4 Q1 kaa = aa + 1008 u* \, ?7 A5 `0 e5 [
bb = Str(aa)8 t$ j7 S! b8 W
path = "d:\我的图纸\" & bb & ".mdi"
8 H4 ]  v& N- |7 ?& o0 Y" CSet M1 = New MODI.Document
2 w8 o- Z3 g  W& F    Set M2 = New MODI.Document! ~3 j( ~* l; W3 d# R
    M1.Create "d:\我的图纸\1111.mdi"
0 d4 {, H' d+ O- L, X) a* u" D    M2.Create "d:\我的图纸\2222.mdi"
, l. a7 o& G! `& l6 f    M1.Images.Add M2.Images(0), Nothing
1 e1 k: V9 s  O4 J    M1.SaveAs path6 m& F5 A/ y1 R  o! K
    M1.Close+ J1 ~+ }# H/ \( J/ b5 S
    M2.Close
* B- k, f, [1 e% H( J& c' X7 NEnd Sub
# a$ V" Z& m# r; u5 f此程序在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! x4 v2 M+ f+ I' v  H; A
在 End Sub 前面加上 Set M1 = Nothing 和 Set M2 = Nothing 试试

  W. k3 T1 k1 ~$ R
8 n4 r. i7 ~; w- k试过了,没用
8 [# t* B! \4 T3 W( o, a2 R8 r3 F( ]* W/ L5 [( U3 s) V$ C8 f8 S5 S/ G
$ \) S6 T$ S% J' e7 v1 x
测试发现:有时候程序会死在  M1.Create "d:\我的图纸\1111.mdi"  这一句,一直在这里运行,不再向下执行,但如果暂停然后再运行,则出现致命错误! O7 Y* f, M: O) s/ c

) b. ^$ n3 o2 ]2 t# m: G另外,我去MSDN网站看了一下,只有《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,没有适用于office2007的版本1 N& [4 A7 k2 o4 \) O

  O% z* Q8 o0 n- {, s  a* z3 V/ T[ 本帖最后由 157787698 于 2009-11-13 08:47 编辑 ]
 楼主| 发表于 2009-11-13 08:26:07 | 显示全部楼层 来自: 中国天津
还有另外一个问题:
! `' I# X" p) v9 n为什么plottofile方法打出来的图纸会出现偏移?我在程序中直接给点的坐标,不需要用户自己去选择,也就是不能使用getpoint方法
9 ^5 E6 F1 W3 ^( L) f( S
5 Z7 s9 A7 p# w1 q3 ?: u3 l不知道斑竹有没有遇到过这种问题?
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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