QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
在程序执行到下面代码时出现此问题:
9 m7 ]! ~0 M7 x: R1 ] M1.Create pathmdi120 h* s& a8 u; q- _4 E/ v+ U
M2.Create pathmdi11) S# O4 L; h# m: {9 a4 J4 C

# h/ o! _! X; F3 D" \0 i. I* W9 ^提示如下:
% e+ c$ k/ Y5 ~* a; d7 l3 \! @ untitled.JPG - h5 c( v2 W( S) F4 S: |# L+ R

) X, m0 U" q9 o/ S但是在程序第一遍执行时可以正常运行,第二遍即出现此问题. l2 @, i2 h7 ^$ r# ?' S- ^

* h1 ?" j$ d* r( p我的电脑上是office2003,不会出现此问题;但是一旦拿到装office2007的电脑就会出现这个问题
) A: U* ]" I5 n, z: q) B
1 ?$ p7 G! [5 w+ m/ R! q3 b  l) g0 K1 O请问是怎么回事?如何解决?
. s4 Q/ }# y4 J' Z6 W7 d0 g/ p% g7 o* G- Z
不知道斑竹woaishuijia是否遇到过此问题?或者其他朋友是否遇到过此问题?如果有解决方案,请不吝赐教,不胜感激
发表于 2009-11-12 17:07:57 | 显示全部楼层 来自: 中国
没用过office2007,猜想可能是 2007 版 Office Document Imaging 与 2003 版不同。建议到 MSDN 网站查看一下 office2007 的 VBA 参考。如果原因是这样的话,就需要在程序中加入识别版本并区别对待的内容。' m: }) q/ `. U( n+ L& c
另外,引用的对象是否正确?
- r) @2 F$ f/ m还有,M1、M2 、M3 这些变量用过之后,是否有用 M1.Close 和 Set M1 = Nothing 语句关闭进程?3 n' V" S' o/ Q
附件是《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,以前从 MSDN 下载的。

MSPAUTO.rar

339.97 KB, 下载次数: 3

 楼主| 发表于 2009-11-12 19:29:11 | 显示全部楼层 来自: 中国天津
谢谢斑竹
6 v' Y7 c. s( K+ w" T( e% _; Q5 q7 ^
引用的对象应该是正确的
& ?# b: u: K- `$ x& b
  @; T1 d: z  ^( T0 M4 [) }, P4 ?因为对象是在前一段程序中生成的,而且第一次运行时可以正确执行并输出期望的结果,但第二次就会出现偏移,plottofile方法输出的图形相对于图纸发生偏移,目前没有找到原因,第三次运行时会出现本贴所说的错误提示5 u1 W7 `+ W* L0 W3 c

5 X: J* w* I! R! l  n% I为了切断其他可能的联系,我重建了个按钮,输入如下程序:5 l) C- f& O% |1 M9 @2 o: Y2 I0 ~
public aa as long 9 V* ]6 r7 `; H: Z; a
Private Sub CommandButton9_Click()- x" W' H6 g. C6 L, M# c* j
Dim M1 As MODI.Document, M2 As MODI.Document  '合并
2 X5 H' }' \" }* _+ zDim bb, path As String
0 n1 A6 r" M; g" Q2 S9 Y3 B% laa = aa + 100( T8 ~+ `/ ^% G0 |
bb = Str(aa)
2 ?" }: I# j+ C1 s% S! M* M4 ]* Lpath = "d:\我的图纸\" & bb & ".mdi": D* w; A6 R* `8 L& Q* V
Set M1 = New MODI.Document& j8 W9 s. f" @( r. O# w
    Set M2 = New MODI.Document2 m: a4 f6 h' T# Y
    M1.Create "d:\我的图纸\1111.mdi"" C5 M3 F- G' Z) }$ l6 ?8 v
    M2.Create "d:\我的图纸\2222.mdi"7 a& `* c# l4 a0 [- F8 K1 |
    M1.Images.Add M2.Images(0), Nothing
3 S+ l& z5 y  M    M1.SaveAs path3 A9 D- L4 ~" M6 h9 L$ b6 z2 E9 Q
    M1.Close
% {% @% W4 n* D& D    M2.Close
4 N; Q6 E+ c8 Z' K( yEnd Sub$ z& r2 U  h2 x7 d( ]. {
此程序在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
" g1 {9 U1 |. |# B7 ~" ?在 End Sub 前面加上 Set M1 = Nothing 和 Set M2 = Nothing 试试
9 L# X! J8 D% o# Q' h

1 L7 y6 S- \2 M试过了,没用$ b- f$ _+ [) P1 t* w

" N# M3 z# u$ z6 a- X- A1 o1 M/ g! u$ L! ]. Y6 |& f8 Q
测试发现:有时候程序会死在  M1.Create "d:\我的图纸\1111.mdi"  这一句,一直在这里运行,不再向下执行,但如果暂停然后再运行,则出现致命错误
1 Z; `  O7 \5 o3 f6 l/ r5 A7 y, t0 ]' I7 Z
另外,我去MSDN网站看了一下,只有《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,没有适用于office2007的版本
+ |: K: p$ I0 A! E4 Z. e6 \# x! T) q# C) P2 y
[ 本帖最后由 157787698 于 2009-11-13 08:47 编辑 ]
 楼主| 发表于 2009-11-13 08:26:07 | 显示全部楼层 来自: 中国天津
还有另外一个问题:
! k) E( P: V2 T1 {6 N为什么plottofile方法打出来的图纸会出现偏移?我在程序中直接给点的坐标,不需要用户自己去选择,也就是不能使用getpoint方法: K. n: o$ K2 t- Z! a9 I7 M5 W) k

$ h% @# k) N4 I4 o' G) x不知道斑竹有没有遇到过这种问题?
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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