QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
7天前
查看: 2556|回复: 5
收起左侧

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

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

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

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

x
在程序执行到下面代码时出现此问题:% u# R7 k& c+ a) _1 X
M1.Create pathmdi126 a4 O/ V5 R1 e
M2.Create pathmdi11
- P$ [# N- M1 d& d( i; V! n& |+ m7 c( k! M( H9 y! ]$ ~6 x; ]
提示如下:
+ F" M7 m' M8 I untitled.JPG
8 H3 Z3 F" C6 }& `) a5 s; T4 e* f
- i# z- y6 s- ?5 p0 L但是在程序第一遍执行时可以正常运行,第二遍即出现此问题* P9 H( Y+ A* L' f' ^

" \, Y& w8 T1 a我的电脑上是office2003,不会出现此问题;但是一旦拿到装office2007的电脑就会出现这个问题# M  J; C: G, X* T2 M
& E( }/ D; i) ^( L7 W* L8 \# k
请问是怎么回事?如何解决?
$ K& K! n6 A0 [* N
- m( I4 n; W  h! t$ G5 G不知道斑竹woaishuijia是否遇到过此问题?或者其他朋友是否遇到过此问题?如果有解决方案,请不吝赐教,不胜感激
发表于 2009-11-12 17:07:57 | 显示全部楼层 来自: 中国
没用过office2007,猜想可能是 2007 版 Office Document Imaging 与 2003 版不同。建议到 MSDN 网站查看一下 office2007 的 VBA 参考。如果原因是这样的话,就需要在程序中加入识别版本并区别对待的内容。9 ^) A. J3 E- u3 X( M. `
另外,引用的对象是否正确?
0 H6 h5 K# R8 K! }还有,M1、M2 、M3 这些变量用过之后,是否有用 M1.Close 和 Set M1 = Nothing 语句关闭进程?8 Z9 _6 G1 n5 ~$ K# Z
附件是《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,以前从 MSDN 下载的。

MSPAUTO.rar

339.97 KB, 下载次数: 3

 楼主| 发表于 2009-11-12 19:29:11 | 显示全部楼层 来自: 中国天津
谢谢斑竹! F) u) o* a/ Q- O

5 R( r2 H. F( u0 Z4 X引用的对象应该是正确的) `' q- E: g; m7 c6 E

5 c+ x2 T9 ~% w" w7 F3 r$ @, L因为对象是在前一段程序中生成的,而且第一次运行时可以正确执行并输出期望的结果,但第二次就会出现偏移,plottofile方法输出的图形相对于图纸发生偏移,目前没有找到原因,第三次运行时会出现本贴所说的错误提示, r8 n, g0 r1 Y& j9 r3 S# e, e6 I

0 u/ O0 B0 U2 ]) @为了切断其他可能的联系,我重建了个按钮,输入如下程序:$ ]4 e" w. ^6 z5 ]( [- J/ M0 p& U& w
public aa as long
$ k  ?4 U/ m7 r+ t& h& jPrivate Sub CommandButton9_Click()
) I: S' {( Q. l+ f7 `Dim M1 As MODI.Document, M2 As MODI.Document  '合并" X( N) I, I+ V5 y! H& ?% v6 @1 d
Dim bb, path As String) ^7 l) I  c+ k+ W: y% b9 |8 c# b
aa = aa + 100% E* Y8 n& C+ _- h+ q+ Y
bb = Str(aa)1 M  n4 M; s4 Z- X% p
path = "d:\我的图纸\" & bb & ".mdi"
4 S9 o& F; ^/ S! n" dSet M1 = New MODI.Document
, D- g* ^0 Q2 C; l* o    Set M2 = New MODI.Document
. O& A9 m! ^+ J    M1.Create "d:\我的图纸\1111.mdi"
: ]; O( y7 s) V/ Q/ i9 c    M2.Create "d:\我的图纸\2222.mdi"
0 a" j) |* f* {7 b! ~1 d* v$ W% H- [    M1.Images.Add M2.Images(0), Nothing+ Y, w! ?, o' @- l
    M1.SaveAs path. X( }+ q; b' e- V  X/ G" C
    M1.Close
' r1 v7 K2 [: K  g    M2.Close8 r  E6 i. B) M/ @
End Sub0 s. h  z6 D, |* d
此程序在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.gif1 C7 @9 x# G/ ^7 M! ?4 P: I
在 End Sub 前面加上 Set M1 = Nothing 和 Set M2 = Nothing 试试
6 n, A: v( S6 _' _# M

0 Y5 v  O# z7 \( R试过了,没用
7 o7 ~7 ]# h- e0 Z" H$ f' c1 N# v  g* I) z/ V5 y! y

- B( o; c( ]& O* w5 g1 L, I0 C2 K测试发现:有时候程序会死在  M1.Create "d:\我的图纸\1111.mdi"  这一句,一直在这里运行,不再向下执行,但如果暂停然后再运行,则出现致命错误9 M( g" F* o  q" Q- B; T

2 L% H+ d/ P. b7 t; [1 U: i  S7 l! x另外,我去MSDN网站看了一下,只有《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,没有适用于office2007的版本! q2 Z0 F% \4 ^
, {+ O3 a4 y/ \
[ 本帖最后由 157787698 于 2009-11-13 08:47 编辑 ]
 楼主| 发表于 2009-11-13 08:26:07 | 显示全部楼层 来自: 中国天津
还有另外一个问题:, \; y9 @4 _. V: u: S9 ?
为什么plottofile方法打出来的图纸会出现偏移?我在程序中直接给点的坐标,不需要用户自己去选择,也就是不能使用getpoint方法/ I2 S2 y; l2 j3 ~6 }

1 a" u' P( G5 c$ U" J不知道斑竹有没有遇到过这种问题?
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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