QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
10天前
查看: 2512|回复: 5
收起左侧

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

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

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

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

x
在程序执行到下面代码时出现此问题:
  `0 k: O: |, Y3 y4 r M1.Create pathmdi12- b0 w4 C7 e5 p6 B2 o" P# s( D
M2.Create pathmdi11
# J. U+ p1 u! t# j+ W% I
! u, }* p" n) h$ d* K) `/ Z& \提示如下:
4 g& e" O' \8 r3 h. v untitled.JPG / F/ J+ _# i# Y6 [
7 U7 V, y! E2 v% a9 B5 P
但是在程序第一遍执行时可以正常运行,第二遍即出现此问题
& Z% \9 N8 p# a, \* Y' l; R8 d6 O2 s' P3 U6 m! J2 i* R
我的电脑上是office2003,不会出现此问题;但是一旦拿到装office2007的电脑就会出现这个问题4 r  _! ]$ P2 c

* b6 t! X+ I: ^, |! `& Y( ?- m请问是怎么回事?如何解决?( K$ U9 m1 f3 A& o1 q) M

/ j8 y3 p0 M# \3 R- G8 C不知道斑竹woaishuijia是否遇到过此问题?或者其他朋友是否遇到过此问题?如果有解决方案,请不吝赐教,不胜感激
发表于 2009-11-12 17:07:57 | 显示全部楼层 来自: 中国
没用过office2007,猜想可能是 2007 版 Office Document Imaging 与 2003 版不同。建议到 MSDN 网站查看一下 office2007 的 VBA 参考。如果原因是这样的话,就需要在程序中加入识别版本并区别对待的内容。- [2 z$ N2 [, r4 `1 t: D
另外,引用的对象是否正确?
7 P, j" o9 _6 h还有,M1、M2 、M3 这些变量用过之后,是否有用 M1.Close 和 Set M1 = Nothing 语句关闭进程?
/ e! G6 v1 J, r: E# O附件是《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,以前从 MSDN 下载的。

MSPAUTO.rar

339.97 KB, 下载次数: 3

 楼主| 发表于 2009-11-12 19:29:11 | 显示全部楼层 来自: 中国天津
谢谢斑竹3 n5 e5 z6 n# y2 @& B0 l6 h

- U2 @/ P/ K. g. E$ F& N引用的对象应该是正确的
- M' J; @+ `+ ?; C. s
5 K) s9 L% n6 t  k2 T4 R1 I2 h8 m因为对象是在前一段程序中生成的,而且第一次运行时可以正确执行并输出期望的结果,但第二次就会出现偏移,plottofile方法输出的图形相对于图纸发生偏移,目前没有找到原因,第三次运行时会出现本贴所说的错误提示
! P3 v. Z* |- j& b
# ~/ @7 f" t9 M: ]2 j% q为了切断其他可能的联系,我重建了个按钮,输入如下程序:
; i# D& c" }0 c: jpublic aa as long * O. G4 K" ^6 Q7 E2 E
Private Sub CommandButton9_Click()
4 S. Z2 e6 R5 yDim M1 As MODI.Document, M2 As MODI.Document  '合并
$ {( _& r- ~7 D; h2 S0 hDim bb, path As String
- i( J% q5 |- Daa = aa + 100
) P) l4 W  ~* o1 N) Ybb = Str(aa)4 w. P& c/ p% U, G6 ~, l
path = "d:\我的图纸\" & bb & ".mdi"- l$ _/ z1 r# V0 M5 }" c
Set M1 = New MODI.Document% ^" i: y2 a2 B  x$ e
    Set M2 = New MODI.Document
+ \2 Z+ R3 X( O2 m    M1.Create "d:\我的图纸\1111.mdi"
4 ]2 j# h. g$ _. `) C    M2.Create "d:\我的图纸\2222.mdi"
$ i5 m1 Y) ]! H  N! t    M1.Images.Add M2.Images(0), Nothing
- {8 S4 @* g$ {5 I    M1.SaveAs path
' h! s+ G2 A* l" x    M1.Close  Z+ C1 g5 }! G* Q5 i7 I. K
    M2.Close, V' j2 t2 v1 @9 m$ H
End Sub* S# u, C- S+ Y  a. y' m( J  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.gif6 ]/ {: K8 V7 W
在 End Sub 前面加上 Set M1 = Nothing 和 Set M2 = Nothing 试试
$ B! b, x* ]' n" i7 C, z# ]; V

4 Y' ^9 Z4 b3 @; z' z试过了,没用7 c* C' [# @7 a- }/ G0 C
: @! S- b( U- t. H: ^

" n' |% ^( |* M( Y" H测试发现:有时候程序会死在  M1.Create "d:\我的图纸\1111.mdi"  这一句,一直在这里运行,不再向下执行,但如果暂停然后再运行,则出现致命错误
; ~# c6 g+ \# T2 r& g/ Y# W' l& B  y  }, k, h
另外,我去MSDN网站看了一下,只有《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,没有适用于office2007的版本( R) a/ ]! h, \% N

. W5 X) @9 h8 K[ 本帖最后由 157787698 于 2009-11-13 08:47 编辑 ]
 楼主| 发表于 2009-11-13 08:26:07 | 显示全部楼层 来自: 中国天津
还有另外一个问题:7 u( v  ~& \9 m  A6 c: I
为什么plottofile方法打出来的图纸会出现偏移?我在程序中直接给点的坐标,不需要用户自己去选择,也就是不能使用getpoint方法1 [2 A8 \1 y4 \+ V1 `1 t9 L+ }) o

* V; J/ J) m  l. x  T不知道斑竹有没有遇到过这种问题?
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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