QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
在程序执行到下面代码时出现此问题:- ^) _" S: r; q( k9 f) W0 K: ~3 {
M1.Create pathmdi12
& k9 U2 i6 D" k, v- \+ @6 X# }7 ~: DM2.Create pathmdi11# E# v& y% m9 [. o

/ Z9 T* p6 x# L提示如下:
! j& |" d0 D$ P" ~7 E6 { untitled.JPG . E0 I$ r# x$ B7 m" x1 C
) a, o, X# k8 D  F* i
但是在程序第一遍执行时可以正常运行,第二遍即出现此问题
9 }' k4 c9 a( ]% F) o- Q! f% `- M6 R2 H! Y7 k. N9 \
我的电脑上是office2003,不会出现此问题;但是一旦拿到装office2007的电脑就会出现这个问题' p7 U, e7 J) Q/ u3 H  ?

) l7 Q% y& g' [5 ~+ L9 t9 {4 I请问是怎么回事?如何解决?
% e. H+ p- {& u' @: F" L/ U& L
: c6 ~9 C' \0 ~* ^9 b不知道斑竹woaishuijia是否遇到过此问题?或者其他朋友是否遇到过此问题?如果有解决方案,请不吝赐教,不胜感激
发表于 2009-11-12 17:07:57 | 显示全部楼层 来自: 中国
没用过office2007,猜想可能是 2007 版 Office Document Imaging 与 2003 版不同。建议到 MSDN 网站查看一下 office2007 的 VBA 参考。如果原因是这样的话,就需要在程序中加入识别版本并区别对待的内容。& c/ P$ }9 P% g' E9 v
另外,引用的对象是否正确?6 D5 b* `6 Y; B  E
还有,M1、M2 、M3 这些变量用过之后,是否有用 M1.Close 和 Set M1 = Nothing 语句关闭进程?
9 d) R/ r, R' Z3 ]  A5 q) d/ g附件是《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,以前从 MSDN 下载的。

MSPAUTO.rar

339.97 KB, 下载次数: 4

 楼主| 发表于 2009-11-12 19:29:11 | 显示全部楼层 来自: 中国天津
谢谢斑竹
/ \' C  s$ q2 T' p
0 @( W, X: `) S' ]/ {引用的对象应该是正确的
2 w5 j% s( r" u8 }
" c2 @( Q* t4 M" ~- j$ o; ~因为对象是在前一段程序中生成的,而且第一次运行时可以正确执行并输出期望的结果,但第二次就会出现偏移,plottofile方法输出的图形相对于图纸发生偏移,目前没有找到原因,第三次运行时会出现本贴所说的错误提示
) p1 Y1 j% b1 W4 n+ R
( s& f* f4 X8 |5 k6 X, i, `& S为了切断其他可能的联系,我重建了个按钮,输入如下程序:
. w3 a( J/ f0 I' e+ Spublic aa as long
* p- y9 y) z' \) v) ePrivate Sub CommandButton9_Click(); N* v# Q. `* J
Dim M1 As MODI.Document, M2 As MODI.Document  '合并
* Y. m* n8 i$ WDim bb, path As String8 y' }9 _2 ]. A/ g7 U( T& j
aa = aa + 100( u& v+ k% L4 r" V1 c' C$ g
bb = Str(aa)1 g. B1 _' A5 M! X! h5 w
path = "d:\我的图纸\" & bb & ".mdi"
4 V  a! p9 i$ Z; K/ O4 K$ USet M1 = New MODI.Document
8 n/ ?) z. D/ u/ I/ z. E    Set M2 = New MODI.Document
* o; U6 A- }2 k- a* ?4 E5 P4 ^    M1.Create "d:\我的图纸\1111.mdi"5 l* Z! Y9 _( S' u+ }; e7 t3 j
    M2.Create "d:\我的图纸\2222.mdi"; n1 K0 h9 h8 W1 q7 C6 ~
    M1.Images.Add M2.Images(0), Nothing: U+ N! }7 J  c# t
    M1.SaveAs path
% Q+ q, \+ m; U/ N    M1.Close
- {9 R. V, h. m5 q    M2.Close
; A7 z4 A: Y9 }End Sub
. O# ^- y! V$ J5 J( ~5 l此程序在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
3 }& A" S9 m# r& v( T. a* S2 P在 End Sub 前面加上 Set M1 = Nothing 和 Set M2 = Nothing 试试

" {3 i4 ^" a. k$ {8 d; p: t- w) \# d: A2 [* A+ W# x1 s
试过了,没用/ @1 p  b: H; s3 P  ~9 g

- b% n8 p& L# }% o* b
9 d9 y1 |( J% V( H测试发现:有时候程序会死在  M1.Create "d:\我的图纸\1111.mdi"  这一句,一直在这里运行,不再向下执行,但如果暂停然后再运行,则出现致命错误: X# {+ e. \" C6 S/ U- X
+ C7 j( O0 Z9 i* _- A3 B
另外,我去MSDN网站看了一下,只有《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,没有适用于office2007的版本  y) _- s. _* }

* d5 K+ I- @7 C[ 本帖最后由 157787698 于 2009-11-13 08:47 编辑 ]
 楼主| 发表于 2009-11-13 08:26:07 | 显示全部楼层 来自: 中国天津
还有另外一个问题:
; u8 \# d2 F; A0 Z8 Z4 {为什么plottofile方法打出来的图纸会出现偏移?我在程序中直接给点的坐标,不需要用户自己去选择,也就是不能使用getpoint方法
( U' k8 {# C5 U) X" w" Q% s: F% ?7 j2 ^  j) D0 {2 ~0 N  p$ _
不知道斑竹有没有遇到过这种问题?
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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