QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
10天前
查看: 2510|回复: 5
收起左侧

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

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

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

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

x
在程序执行到下面代码时出现此问题:8 p  f$ H! k  }( i
M1.Create pathmdi12
0 {8 Z2 M. l" g' \' LM2.Create pathmdi11, ~! z- y% L( [: s) S

6 V; l9 Z) z  S提示如下:
; d& @' w7 M% [* R; o untitled.JPG
3 z. S8 N4 \9 ]$ k* q
: b. [0 s6 Y/ g8 y9 k$ E8 t但是在程序第一遍执行时可以正常运行,第二遍即出现此问题  O7 n% V* |; z  U

8 J( R/ ~. k% N% p" X我的电脑上是office2003,不会出现此问题;但是一旦拿到装office2007的电脑就会出现这个问题
- G; @& b+ ]) N* v9 w
1 E& c( `  G3 K+ I请问是怎么回事?如何解决?0 y" J' {" z, R2 |2 H! T

+ E8 J+ _9 r& P' B; i8 I5 K7 o不知道斑竹woaishuijia是否遇到过此问题?或者其他朋友是否遇到过此问题?如果有解决方案,请不吝赐教,不胜感激
发表于 2009-11-12 17:07:57 | 显示全部楼层 来自: 中国
没用过office2007,猜想可能是 2007 版 Office Document Imaging 与 2003 版不同。建议到 MSDN 网站查看一下 office2007 的 VBA 参考。如果原因是这样的话,就需要在程序中加入识别版本并区别对待的内容。/ v" C  K0 B4 I4 f# q
另外,引用的对象是否正确?
4 M- G  M; V4 @4 d' W; ?9 n还有,M1、M2 、M3 这些变量用过之后,是否有用 M1.Close 和 Set M1 = Nothing 语句关闭进程?
$ l& d: A/ b1 d: u6 S5 A( {; q附件是《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,以前从 MSDN 下载的。

MSPAUTO.rar

339.97 KB, 下载次数: 3

 楼主| 发表于 2009-11-12 19:29:11 | 显示全部楼层 来自: 中国天津
谢谢斑竹* f! w/ G* X- {7 q# c* r
2 z4 ?0 |) N- [; n% _
引用的对象应该是正确的# w: D, z" Y2 H* ?- E' S5 `9 S

* F  L2 ^, q! K; {) e' }) {7 o0 t因为对象是在前一段程序中生成的,而且第一次运行时可以正确执行并输出期望的结果,但第二次就会出现偏移,plottofile方法输出的图形相对于图纸发生偏移,目前没有找到原因,第三次运行时会出现本贴所说的错误提示3 \* o6 ]" E: T0 L

7 N2 _9 R5 m! P- x" y" ]' @为了切断其他可能的联系,我重建了个按钮,输入如下程序:  V; ^" w3 P: c: I$ `! n+ x
public aa as long
( R3 F7 }6 t3 p6 H! a0 I4 iPrivate Sub CommandButton9_Click()
9 ~* ]; z7 ^& H7 Z7 X( CDim M1 As MODI.Document, M2 As MODI.Document  '合并4 \& m9 T7 {/ R8 y
Dim bb, path As String3 t! ^2 i' Z4 S+ i: B
aa = aa + 100
0 {* T0 U7 `5 A- f$ Gbb = Str(aa). E- ^6 L+ u5 ]; Z, D5 n
path = "d:\我的图纸\" & bb & ".mdi"
# i; ^! r4 ^2 {  x% ]3 q) fSet M1 = New MODI.Document  ?: w# c3 v+ J, Q6 f
    Set M2 = New MODI.Document
5 ?9 n9 ]4 t# z8 C+ K    M1.Create "d:\我的图纸\1111.mdi"0 }' r# U! `1 F; {* ^4 N
    M2.Create "d:\我的图纸\2222.mdi"
: z6 `( w; m; I5 k! r: [6 ~    M1.Images.Add M2.Images(0), Nothing) [& g4 f) c: Y
    M1.SaveAs path$ e( A. \& U% m6 Z. M! q
    M1.Close% Y" X7 ^( O/ T4 \! W
    M2.Close6 [, e* I; D# Y
End Sub
- W7 _3 q9 i0 ]/ F1 O0 V& u( C3 p此程序在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
9 h# `+ r6 P8 e5 X/ g4 p在 End Sub 前面加上 Set M1 = Nothing 和 Set M2 = Nothing 试试

- C3 ]% S5 g7 @* B/ p6 ~. E: t' P- x9 V! t' h$ [1 _) Y1 T
试过了,没用
; E/ T6 {9 _# E# \5 ^
6 W; Z6 X: W* e. s9 \0 e% e1 S$ X# z- Y& X8 D6 A
测试发现:有时候程序会死在  M1.Create "d:\我的图纸\1111.mdi"  这一句,一直在这里运行,不再向下执行,但如果暂停然后再运行,则出现致命错误
% S1 V- {0 C) ?" ]' F& }
) L8 \( R+ E  ?0 V另外,我去MSDN网站看了一下,只有《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,没有适用于office2007的版本
2 @) S- m7 \/ C8 x3 G5 ^( x3 y
: X; R# g' K0 Y[ 本帖最后由 157787698 于 2009-11-13 08:47 编辑 ]
 楼主| 发表于 2009-11-13 08:26:07 | 显示全部楼层 来自: 中国天津
还有另外一个问题:
8 ]/ R; F: ], R4 G为什么plottofile方法打出来的图纸会出现偏移?我在程序中直接给点的坐标,不需要用户自己去选择,也就是不能使用getpoint方法
6 T& x; u0 G* V$ k- c3 Z
. c; |. L5 Q9 \4 n0 D% W不知道斑竹有没有遇到过这种问题?
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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