QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
在程序执行到下面代码时出现此问题:: U) |  h, X0 G
M1.Create pathmdi12
5 h4 L0 u& C* N3 _. p; ZM2.Create pathmdi11$ @, p& X. n1 J$ g
  Y* p$ e4 x' R* o2 Q* ~7 m
提示如下:# K7 j% t+ n' F3 j( V' N( v
untitled.JPG
0 x  N1 T. v$ \& h5 ^6 S* T
) u9 ?, c, y3 [但是在程序第一遍执行时可以正常运行,第二遍即出现此问题0 i6 K. u4 L, T2 F, C% k3 Z
% i% ^) {; X6 q8 W5 _
我的电脑上是office2003,不会出现此问题;但是一旦拿到装office2007的电脑就会出现这个问题. V8 L+ ]; S) f4 Q8 h6 A9 [
8 x' ~" F* j0 i! ^$ u7 w5 h5 }* _
请问是怎么回事?如何解决?
: V) s7 Z( C* F& U/ }9 _% i2 |7 a& s5 i4 x
不知道斑竹woaishuijia是否遇到过此问题?或者其他朋友是否遇到过此问题?如果有解决方案,请不吝赐教,不胜感激
发表于 2009-11-12 17:07:57 | 显示全部楼层 来自: 中国
没用过office2007,猜想可能是 2007 版 Office Document Imaging 与 2003 版不同。建议到 MSDN 网站查看一下 office2007 的 VBA 参考。如果原因是这样的话,就需要在程序中加入识别版本并区别对待的内容。
& k2 x! }; C; R& o9 Q5 a8 D另外,引用的对象是否正确?8 `3 A) F4 J9 H4 |
还有,M1、M2 、M3 这些变量用过之后,是否有用 M1.Close 和 Set M1 = Nothing 语句关闭进程?
3 w* J. e* K8 ]. {' e5 \5 v* Z附件是《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,以前从 MSDN 下载的。

MSPAUTO.rar

339.97 KB, 下载次数: 3

 楼主| 发表于 2009-11-12 19:29:11 | 显示全部楼层 来自: 中国天津
谢谢斑竹
. S3 w$ p& V3 [$ ?
. L& x, R& ^1 V引用的对象应该是正确的  s5 |7 v0 P! a3 m- X+ T( H

( I8 W: i6 P: Q* T4 @! _& ?, X因为对象是在前一段程序中生成的,而且第一次运行时可以正确执行并输出期望的结果,但第二次就会出现偏移,plottofile方法输出的图形相对于图纸发生偏移,目前没有找到原因,第三次运行时会出现本贴所说的错误提示5 d! R' H" n& w9 a8 d
* O# W/ e' N' [" A9 @
为了切断其他可能的联系,我重建了个按钮,输入如下程序:( H# B' Z4 M* O. D% c' a, j% [- r
public aa as long
) C2 h5 O* X+ O5 GPrivate Sub CommandButton9_Click()
( K7 V) t9 x" H* P- @: rDim M1 As MODI.Document, M2 As MODI.Document  '合并
# E3 g( p, L: c& t  Z( vDim bb, path As String
1 f5 u% O' g  E0 M( X) p* |% \% ^  s  paa = aa + 100
; P: k6 p4 z* _" l  i& M8 B9 Jbb = Str(aa)
/ i% B  _6 i4 ~! v+ Lpath = "d:\我的图纸\" & bb & ".mdi"
$ ^( ^; Y6 B( p' o3 xSet M1 = New MODI.Document5 C' n" K9 ~6 F. ?- T$ I! L
    Set M2 = New MODI.Document
% P% l7 t* i5 G, ]6 p    M1.Create "d:\我的图纸\1111.mdi"
2 L  i- U3 y9 A9 \5 C    M2.Create "d:\我的图纸\2222.mdi"8 h1 G/ M& P3 V! U; q* L0 ~: M
    M1.Images.Add M2.Images(0), Nothing% d' R& E! A8 x" ~  _& o! x
    M1.SaveAs path5 F( e, S& N4 ~$ m( x/ Y
    M1.Close) F! H# n  j' g4 u
    M2.Close
3 R- n; |+ z1 Q5 s6 O* M7 rEnd Sub
: f: _$ k5 Z5 t6 q# l8 K! C! t此程序在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
8 `6 }" e2 N. c) C, Q在 End Sub 前面加上 Set M1 = Nothing 和 Set M2 = Nothing 试试

5 F! I3 g$ ?1 k& O* R& l' b) I+ L9 g& K% y
试过了,没用
2 {9 k1 P9 c. ~  w0 V0 ^
7 ^# {0 `, ^( l: n0 I6 H
+ R# R: s) R7 r测试发现:有时候程序会死在  M1.Create "d:\我的图纸\1111.mdi"  这一句,一直在这里运行,不再向下执行,但如果暂停然后再运行,则出现致命错误6 w- ?" F$ u! m4 o
  I& }, m" ?! M& D' `
另外,我去MSDN网站看了一下,只有《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,没有适用于office2007的版本
7 T$ ?& _  G2 V, b$ g/ U
& ]8 m  \/ e# W" ~. C. y[ 本帖最后由 157787698 于 2009-11-13 08:47 编辑 ]
 楼主| 发表于 2009-11-13 08:26:07 | 显示全部楼层 来自: 中国天津
还有另外一个问题:( L3 s5 `5 [2 \. D# j
为什么plottofile方法打出来的图纸会出现偏移?我在程序中直接给点的坐标,不需要用户自己去选择,也就是不能使用getpoint方法
: w( l0 w  q3 r! c4 J# a
3 s7 ?( l/ o1 Q0 S不知道斑竹有没有遇到过这种问题?
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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