QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
在程序执行到下面代码时出现此问题:# M- A( H1 Q7 ^% D( R
M1.Create pathmdi12
) Y5 X) R; X6 ~  N: b. Z( `5 HM2.Create pathmdi11+ |( m6 e) f' b  i5 X* J) s
; C1 M, R; |& T" j( Q. _$ s% Z
提示如下:2 e5 F3 w) R8 u  t. `) z' y  v) U* e$ o
untitled.JPG - Q" K1 ^7 m; Q3 X7 d- w+ H8 L
% N1 A- Y9 {. t: @
但是在程序第一遍执行时可以正常运行,第二遍即出现此问题# ], u; H8 e' h' C: q) {

" F2 x' A" Y+ D7 _% B5 F: l我的电脑上是office2003,不会出现此问题;但是一旦拿到装office2007的电脑就会出现这个问题  ]9 k8 k- D% u! S

6 ~, I: f/ K' Q5 y5 O1 [3 e, c$ x& M  j请问是怎么回事?如何解决?
* O- W( N& O! e9 U% B# Z6 A3 ~0 t& O1 a. V+ I
不知道斑竹woaishuijia是否遇到过此问题?或者其他朋友是否遇到过此问题?如果有解决方案,请不吝赐教,不胜感激
发表于 2009-11-12 17:07:57 | 显示全部楼层 来自: 中国
没用过office2007,猜想可能是 2007 版 Office Document Imaging 与 2003 版不同。建议到 MSDN 网站查看一下 office2007 的 VBA 参考。如果原因是这样的话,就需要在程序中加入识别版本并区别对待的内容。
3 v) e& U( W7 N- x0 m4 R4 b7 d另外,引用的对象是否正确?
# Y5 K; F* t- @9 o2 ]还有,M1、M2 、M3 这些变量用过之后,是否有用 M1.Close 和 Set M1 = Nothing 语句关闭进程?
# s0 I6 F3 \! y) Y% g附件是《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,以前从 MSDN 下载的。

MSPAUTO.rar

339.97 KB, 下载次数: 4

 楼主| 发表于 2009-11-12 19:29:11 | 显示全部楼层 来自: 中国天津
谢谢斑竹
% u  \( L% Z3 N8 g$ c4 ?/ M9 I# g/ a! M+ G9 f& R
引用的对象应该是正确的) n5 n+ R/ W; e" H* c2 ?, s

) j6 h9 n/ t1 H" r因为对象是在前一段程序中生成的,而且第一次运行时可以正确执行并输出期望的结果,但第二次就会出现偏移,plottofile方法输出的图形相对于图纸发生偏移,目前没有找到原因,第三次运行时会出现本贴所说的错误提示
. v, b1 y! c' {  A  z
4 Z1 C- ?% x' e: t, E为了切断其他可能的联系,我重建了个按钮,输入如下程序:8 N5 J% [5 [8 t) E
public aa as long 6 }+ K- X( d4 w5 k& e3 O
Private Sub CommandButton9_Click()
3 t3 y9 h! O6 ?3 b7 U; L* B' SDim M1 As MODI.Document, M2 As MODI.Document  '合并/ @$ b$ S' C8 @8 Y- v
Dim bb, path As String
0 t5 J. x4 S$ s' haa = aa + 100" Q' |6 ^% }# u  O4 K
bb = Str(aa)
3 H9 ^. U6 j8 p- Lpath = "d:\我的图纸\" & bb & ".mdi"
. k2 B+ W* L5 m  y0 KSet M1 = New MODI.Document
& Q: [$ R1 T, t: D1 K    Set M2 = New MODI.Document
$ ^/ A4 f7 L; W/ s/ _3 I/ [    M1.Create "d:\我的图纸\1111.mdi"
2 E0 D0 @; S, R  D: \$ Q: X    M2.Create "d:\我的图纸\2222.mdi"- ^, p; |5 n+ ?" S! @
    M1.Images.Add M2.Images(0), Nothing1 S; S3 C) ~2 V: M4 k' _/ |$ N7 h) }8 n
    M1.SaveAs path
" e) n/ O; S+ A( S    M1.Close
/ y( E, P* {# k    M2.Close8 z4 i# I( Y: l: W$ r" _
End Sub
% r+ H$ {- {  _1 x此程序在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
! A/ E- H* m5 E* T8 u- Z( ~在 End Sub 前面加上 Set M1 = Nothing 和 Set M2 = Nothing 试试

/ h) L. b3 Q0 p2 S+ _
. W, \; \% }! k9 X# f* h! t试过了,没用
0 A, V$ I; R5 O& u, H9 u* _  I% N+ Q* g/ k& C8 @
0 q4 K9 P# l* `% K& z: K
测试发现:有时候程序会死在  M1.Create "d:\我的图纸\1111.mdi"  这一句,一直在这里运行,不再向下执行,但如果暂停然后再运行,则出现致命错误( }4 ~7 C, z% o2 H9 k

) t9 s1 x9 k/ L: M另外,我去MSDN网站看了一下,只有《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,没有适用于office2007的版本: C; ?$ h7 ?$ K) \4 c3 r% |7 q. d
! p& Y; Y1 t  |/ A
[ 本帖最后由 157787698 于 2009-11-13 08:47 编辑 ]
 楼主| 发表于 2009-11-13 08:26:07 | 显示全部楼层 来自: 中国天津
还有另外一个问题:  h0 O$ O4 V/ x3 ?/ v/ i
为什么plottofile方法打出来的图纸会出现偏移?我在程序中直接给点的坐标,不需要用户自己去选择,也就是不能使用getpoint方法6 h1 f! ]& J0 p0 y' M3 H+ }
1 s0 u; F% x* y) `2 \: ~5 H
不知道斑竹有没有遇到过这种问题?
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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