QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
在程序执行到下面代码时出现此问题:
% A7 S3 X* x! N( { M1.Create pathmdi12: {: G5 B; _  A3 t) F$ I
M2.Create pathmdi11
: U9 \% k. T4 f1 H0 o2 x0 D5 H- v# Z4 p0 a/ U* I9 H
提示如下:
- F( Q2 t1 _3 f8 A3 P untitled.JPG 4 K" g+ L4 |' b
$ w2 I  r: S, A' }: K
但是在程序第一遍执行时可以正常运行,第二遍即出现此问题
6 e/ Y  D  l* _5 ~- o& k$ C* k9 d; v: y7 M. i( P
我的电脑上是office2003,不会出现此问题;但是一旦拿到装office2007的电脑就会出现这个问题
" w, T% G6 Z1 _% X
* F; P. c" H6 p+ J请问是怎么回事?如何解决?
  q- R  i1 u- \. d$ Q) {; L6 z: f1 A0 K
不知道斑竹woaishuijia是否遇到过此问题?或者其他朋友是否遇到过此问题?如果有解决方案,请不吝赐教,不胜感激
发表于 2009-11-12 17:07:57 | 显示全部楼层 来自: 中国
没用过office2007,猜想可能是 2007 版 Office Document Imaging 与 2003 版不同。建议到 MSDN 网站查看一下 office2007 的 VBA 参考。如果原因是这样的话,就需要在程序中加入识别版本并区别对待的内容。
! \+ l3 f" @+ p6 ?* ^另外,引用的对象是否正确?1 ^  J3 k$ r3 x! S; U
还有,M1、M2 、M3 这些变量用过之后,是否有用 M1.Close 和 Set M1 = Nothing 语句关闭进程?9 `) f8 I( c6 p7 L$ I! K
附件是《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,以前从 MSDN 下载的。

MSPAUTO.rar

339.97 KB, 下载次数: 3

 楼主| 发表于 2009-11-12 19:29:11 | 显示全部楼层 来自: 中国天津
谢谢斑竹
& H" v1 p0 A7 n- E1 t: b2 m5 i+ [" W
引用的对象应该是正确的) V- f; ?5 c; w
: H% ~0 j" e0 F0 v! \7 k4 Z
因为对象是在前一段程序中生成的,而且第一次运行时可以正确执行并输出期望的结果,但第二次就会出现偏移,plottofile方法输出的图形相对于图纸发生偏移,目前没有找到原因,第三次运行时会出现本贴所说的错误提示. Z- Y, U, f5 e/ l# x

8 y4 f  B% \& G5 l8 d( E& w7 O为了切断其他可能的联系,我重建了个按钮,输入如下程序:; M: k) l/ n3 D3 t
public aa as long % T# V7 }9 P2 y: n* G/ U, D
Private Sub CommandButton9_Click()
' ~+ \# x6 J1 E7 r8 }. W  |' ^Dim M1 As MODI.Document, M2 As MODI.Document  '合并& f, p$ O" z, F+ {1 s5 G
Dim bb, path As String
7 L  H: S  G/ e; ^5 {2 X) Jaa = aa + 100
& ?! Y# M8 P) I0 D0 ]bb = Str(aa)2 C/ `8 P7 t/ G& P2 H6 L# h
path = "d:\我的图纸\" & bb & ".mdi"
  H- ~( I" z7 o& a6 w9 wSet M1 = New MODI.Document
5 R5 q3 W' ?1 n0 e; |* t2 H    Set M2 = New MODI.Document
4 E2 t+ E3 G5 G  R$ D- ~+ ~    M1.Create "d:\我的图纸\1111.mdi"" f, \9 Z0 w* v
    M2.Create "d:\我的图纸\2222.mdi"
  C+ r, z, {3 V3 X    M1.Images.Add M2.Images(0), Nothing
  ?" U, G. U/ E) U  Z    M1.SaveAs path
: Z' z% s1 _& ?( j% U' O    M1.Close8 V) I" Q( e/ @, C
    M2.Close
7 S$ y& c3 g9 J* |/ O; h6 i2 H0 |End Sub
8 @% V! H+ ^# Z8 h0 J2 T2 c3 i& X/ f此程序在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/ W4 J6 Z6 H/ m% W- G7 o6 D. I: b
在 End Sub 前面加上 Set M1 = Nothing 和 Set M2 = Nothing 试试
5 ~% a: {# X5 @, {7 _8 j
7 C2 R' i% ?2 U. e
试过了,没用! E: g, ]9 n) _5 {

* e# `. A$ c3 r& B" E+ a1 L, \
+ u7 ~0 [4 D) s& L' s' o& ]: j1 ~% w4 ~测试发现:有时候程序会死在  M1.Create "d:\我的图纸\1111.mdi"  这一句,一直在这里运行,不再向下执行,但如果暂停然后再运行,则出现致命错误
9 L4 _2 l" Y8 n- e$ C
5 X# N3 [' Z7 ~9 U/ u" N. ]另外,我去MSDN网站看了一下,只有《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,没有适用于office2007的版本
1 C0 v) A& Z" b, Y1 v8 g) f0 b3 [! g
[ 本帖最后由 157787698 于 2009-11-13 08:47 编辑 ]
 楼主| 发表于 2009-11-13 08:26:07 | 显示全部楼层 来自: 中国天津
还有另外一个问题:
: Q& o: N* `. F为什么plottofile方法打出来的图纸会出现偏移?我在程序中直接给点的坐标,不需要用户自己去选择,也就是不能使用getpoint方法# `" n3 J8 I: y: O& E+ A! Z6 k
- H& G9 E8 J  i
不知道斑竹有没有遇到过这种问题?
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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