QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
6天前
查看: 2555|回复: 5
收起左侧

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

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

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

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

x
在程序执行到下面代码时出现此问题:5 I% }. M& _9 P1 O6 J+ z5 A: n- ?
M1.Create pathmdi12
2 M- J; d. G6 [" h0 u. d. ]4 }- FM2.Create pathmdi11
" B1 p% o; ~$ m4 p& |, m5 e9 ?% N) G2 P% C2 f. Z! h
提示如下:: K' G6 W3 b( }1 F6 l# l
untitled.JPG
( j# e$ ?/ u+ h" }" X4 O# p: p9 |' J: u
但是在程序第一遍执行时可以正常运行,第二遍即出现此问题# d% v" z- ~# m; t9 i0 V7 a
# X+ }& f! J) [1 r, s2 P; F
我的电脑上是office2003,不会出现此问题;但是一旦拿到装office2007的电脑就会出现这个问题
1 v* R; e9 Q. [. |7 y; J$ w, Z  @. }3 u$ w/ Z6 S( A
请问是怎么回事?如何解决?
* ]6 W+ Q8 K  v& B* o, W
1 i" m5 t; m7 q7 [) v, x1 ?+ ^不知道斑竹woaishuijia是否遇到过此问题?或者其他朋友是否遇到过此问题?如果有解决方案,请不吝赐教,不胜感激
发表于 2009-11-12 17:07:57 | 显示全部楼层 来自: 中国
没用过office2007,猜想可能是 2007 版 Office Document Imaging 与 2003 版不同。建议到 MSDN 网站查看一下 office2007 的 VBA 参考。如果原因是这样的话,就需要在程序中加入识别版本并区别对待的内容。
' r* d. C( I; I另外,引用的对象是否正确?, G# h0 G1 P; x; g& h$ e0 P) |
还有,M1、M2 、M3 这些变量用过之后,是否有用 M1.Close 和 Set M1 = Nothing 语句关闭进程?; M. v8 b% {" _! b
附件是《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,以前从 MSDN 下载的。

MSPAUTO.rar

339.97 KB, 下载次数: 3

 楼主| 发表于 2009-11-12 19:29:11 | 显示全部楼层 来自: 中国天津
谢谢斑竹
. r% X6 E0 N5 X- w
% e/ A3 b. d. k* V1 `0 Y% C引用的对象应该是正确的* l$ s0 w8 U% H( @& F
. Z7 e9 g! h2 P# s9 l- O9 S
因为对象是在前一段程序中生成的,而且第一次运行时可以正确执行并输出期望的结果,但第二次就会出现偏移,plottofile方法输出的图形相对于图纸发生偏移,目前没有找到原因,第三次运行时会出现本贴所说的错误提示
0 |6 A7 t) [+ q
0 K0 D& e6 C. I. ?/ f- J为了切断其他可能的联系,我重建了个按钮,输入如下程序:# k6 u8 [2 M7 z1 ]
public aa as long 7 ]( Y3 _) w7 `% ~/ M" A
Private Sub CommandButton9_Click()8 T8 p7 ^! Z3 C& r
Dim M1 As MODI.Document, M2 As MODI.Document  '合并0 ?- _+ ~- R( W6 J% u+ n4 r$ T
Dim bb, path As String
" L/ @& o# l9 r9 V6 laa = aa + 100
$ g" E3 S. q$ g' n  obb = Str(aa)5 u: x! U$ G0 u2 T- @9 L8 q" f
path = "d:\我的图纸\" & bb & ".mdi"# n# W  r1 s" _  z" f
Set M1 = New MODI.Document
2 t! S0 B5 i: T& A( h/ w9 f) g$ Y9 M    Set M2 = New MODI.Document# p0 h( \( O/ f+ ^+ Z, D2 {# p) F
    M1.Create "d:\我的图纸\1111.mdi"
( \- F5 Q1 ]: l( Y    M2.Create "d:\我的图纸\2222.mdi"5 ^: }+ C5 F' }1 E$ t  c. D% G7 u% r
    M1.Images.Add M2.Images(0), Nothing
( r& j; T" ?6 y* P. y: G    M1.SaveAs path$ ~- x; e" y4 F1 u( q$ b8 v5 Y
    M1.Close4 S5 d1 Y' `# n
    M2.Close
2 }* O  t+ ^& T$ X5 HEnd Sub# C- \$ a. e- @' T2 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.gif8 i4 j4 h, v, K- ?
在 End Sub 前面加上 Set M1 = Nothing 和 Set M2 = Nothing 试试

% Q0 w6 q! T8 C! x% u' m: m0 t. B9 u/ c* a7 _; n" }* W
试过了,没用
6 f4 l! l0 B; n3 O0 U6 T! i1 k* w# z& |( j5 j* @7 J' y# m
5 S' U, u# K6 j( A- y$ `
测试发现:有时候程序会死在  M1.Create "d:\我的图纸\1111.mdi"  这一句,一直在这里运行,不再向下执行,但如果暂停然后再运行,则出现致命错误! a6 c$ C4 c; k0 v1 A' ]
" Y' t6 M. u( \" w$ z: i
另外,我去MSDN网站看了一下,只有《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,没有适用于office2007的版本3 Y2 v4 M$ s1 _8 P! k& t2 z; x

! ^( b- }  Y& W[ 本帖最后由 157787698 于 2009-11-13 08:47 编辑 ]
 楼主| 发表于 2009-11-13 08:26:07 | 显示全部楼层 来自: 中国天津
还有另外一个问题:2 y% K: S% R" ^2 M  \+ q6 z
为什么plottofile方法打出来的图纸会出现偏移?我在程序中直接给点的坐标,不需要用户自己去选择,也就是不能使用getpoint方法( K% b! Y. C9 i

% O  @% k7 C9 j" z不知道斑竹有没有遇到过这种问题?
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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