QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
11天前
查看: 2514|回复: 5
收起左侧

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

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

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

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

x
在程序执行到下面代码时出现此问题:& }8 r; J( ?' Q  |+ H/ C8 |
M1.Create pathmdi12
3 m  c3 C# @; a8 J" o1 HM2.Create pathmdi11
- f# m9 @5 q$ K$ _4 R) \  U
% C2 f8 h+ x8 i. O! J+ N6 B$ H提示如下:6 O! B$ u* ^7 t( G. z6 z7 Q4 l+ h
untitled.JPG
6 q. U. T% R  ^3 d) p. k
6 J& Q* F+ k( ~9 `, g6 S( f但是在程序第一遍执行时可以正常运行,第二遍即出现此问题
0 ?- J( y6 D% ?- r* d" ~! U) |: ?- ~
我的电脑上是office2003,不会出现此问题;但是一旦拿到装office2007的电脑就会出现这个问题1 w1 T# r; W; a4 Q4 U; O. R& V+ N7 h
/ M4 g+ u8 o2 \" P$ T# W9 K- L
请问是怎么回事?如何解决?
# h+ D5 B: Q# T/ S* n1 B3 p
$ Y% ^8 h0 _6 O4 G( r不知道斑竹woaishuijia是否遇到过此问题?或者其他朋友是否遇到过此问题?如果有解决方案,请不吝赐教,不胜感激
发表于 2009-11-12 17:07:57 | 显示全部楼层 来自: 中国
没用过office2007,猜想可能是 2007 版 Office Document Imaging 与 2003 版不同。建议到 MSDN 网站查看一下 office2007 的 VBA 参考。如果原因是这样的话,就需要在程序中加入识别版本并区别对待的内容。7 z' {" r) U3 K( [+ k3 r  R4 w
另外,引用的对象是否正确?
6 e. K, w. A. M& e还有,M1、M2 、M3 这些变量用过之后,是否有用 M1.Close 和 Set M1 = Nothing 语句关闭进程?
1 F) c! t( f8 }( m! R1 d附件是《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,以前从 MSDN 下载的。

MSPAUTO.rar

339.97 KB, 下载次数: 3

 楼主| 发表于 2009-11-12 19:29:11 | 显示全部楼层 来自: 中国天津
谢谢斑竹
5 r6 r. m' C  @7 Y: D5 H& M6 G# U8 }8 e3 o4 `, G
引用的对象应该是正确的
( g: R& m; u" `2 ^; D
5 S9 V% W/ w2 w# p/ r' `因为对象是在前一段程序中生成的,而且第一次运行时可以正确执行并输出期望的结果,但第二次就会出现偏移,plottofile方法输出的图形相对于图纸发生偏移,目前没有找到原因,第三次运行时会出现本贴所说的错误提示
$ c5 h) o/ A# B0 G( }" {- u; P& O# W6 S
为了切断其他可能的联系,我重建了个按钮,输入如下程序:+ I' p) X& D% a$ o$ }
public aa as long ; S% L2 X  j5 p2 K  N9 C5 I
Private Sub CommandButton9_Click()- o) J; I9 |; ?- ^
Dim M1 As MODI.Document, M2 As MODI.Document  '合并
8 u+ a6 Z9 [, `- ?+ c) }  oDim bb, path As String. \1 I2 p  e8 C. T; C& A0 e
aa = aa + 100
# _, Y% ?9 I; v) xbb = Str(aa)
; I3 P* \5 s. R! tpath = "d:\我的图纸\" & bb & ".mdi"
6 @1 M$ x/ c1 |  qSet M1 = New MODI.Document
, y" d5 T8 k1 Z. q    Set M2 = New MODI.Document7 {2 p. I* L6 t
    M1.Create "d:\我的图纸\1111.mdi"0 N& t  F. k9 ^6 ]
    M2.Create "d:\我的图纸\2222.mdi"- }* A4 c/ h5 _$ q
    M1.Images.Add M2.Images(0), Nothing
  _1 p6 }8 Z& L6 S+ C    M1.SaveAs path' O* U! [5 \' T; V5 B
    M1.Close
- Q" A4 r. n" u: E/ @9 O, h    M2.Close+ v. ^$ Q5 N6 a4 f  }! X9 @  R$ J
End Sub9 a1 |, |: W, Y
此程序在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
. ?7 A- i2 t0 H" u0 o0 o  M$ i在 End Sub 前面加上 Set M1 = Nothing 和 Set M2 = Nothing 试试

2 o+ @! w# e2 l. K, X/ ^4 k
% O8 t2 k2 d! M- `0 e试过了,没用
9 ]+ Y1 o' d/ G  K0 r
- r, ?* a) m# ^- q+ i) D$ q! q+ v$ B6 _( k, w
测试发现:有时候程序会死在  M1.Create "d:\我的图纸\1111.mdi"  这一句,一直在这里运行,不再向下执行,但如果暂停然后再运行,则出现致命错误) B! ~0 {# S6 E2 m, k

& T' n3 N! U, `3 Y/ d9 d另外,我去MSDN网站看了一下,只有《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,没有适用于office2007的版本
9 p& d& u& i. M4 S% d. I4 Q/ f$ ?0 K/ ^5 \" f8 ^# K! P
[ 本帖最后由 157787698 于 2009-11-13 08:47 编辑 ]
 楼主| 发表于 2009-11-13 08:26:07 | 显示全部楼层 来自: 中国天津
还有另外一个问题:1 }; m$ g, G& i5 z, O: V6 C
为什么plottofile方法打出来的图纸会出现偏移?我在程序中直接给点的坐标,不需要用户自己去选择,也就是不能使用getpoint方法9 E  j, z0 g# G0 h0 H

% C# R, W$ R" n- U" A$ T不知道斑竹有没有遇到过这种问题?
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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