QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
在程序执行到下面代码时出现此问题:. ~1 W1 z# v% P2 j
M1.Create pathmdi122 }2 u# l3 N1 d4 M% S$ n6 E# z
M2.Create pathmdi11
8 w/ q4 n' z4 T5 M8 r( S: t' R3 ?5 J0 t: X' y* u- h
提示如下:
4 G! z6 b+ |& D% G untitled.JPG
3 }2 R0 i1 L8 ^, m7 h% ?7 p0 z) Y0 m; B
但是在程序第一遍执行时可以正常运行,第二遍即出现此问题# ~3 a# ]& {( W; D5 @5 a( g$ c

1 H! r8 U( ^+ l# L# ?& j我的电脑上是office2003,不会出现此问题;但是一旦拿到装office2007的电脑就会出现这个问题
  Y  a8 }% d5 D# p3 ^* t/ z
4 D# J- m! o% b7 t. ~! u* p请问是怎么回事?如何解决?
9 ?$ ~0 O! d+ {1 {4 ]+ y
. V# T6 E& `8 t. P! {: A不知道斑竹woaishuijia是否遇到过此问题?或者其他朋友是否遇到过此问题?如果有解决方案,请不吝赐教,不胜感激
发表于 2009-11-12 17:07:57 | 显示全部楼层 来自: 中国
没用过office2007,猜想可能是 2007 版 Office Document Imaging 与 2003 版不同。建议到 MSDN 网站查看一下 office2007 的 VBA 参考。如果原因是这样的话,就需要在程序中加入识别版本并区别对待的内容。% L2 i" z9 C1 L4 U& u  @
另外,引用的对象是否正确?- k! v6 S0 M4 r4 `1 i
还有,M1、M2 、M3 这些变量用过之后,是否有用 M1.Close 和 Set M1 = Nothing 语句关闭进程?7 |  [; @- r4 c
附件是《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,以前从 MSDN 下载的。

MSPAUTO.rar

339.97 KB, 下载次数: 3

 楼主| 发表于 2009-11-12 19:29:11 | 显示全部楼层 来自: 中国天津
谢谢斑竹
9 ^% G: N" q9 G  K+ J2 F: @
! L" s4 {3 K7 \+ i8 k( u% r引用的对象应该是正确的
6 Q/ d" Y# i0 r. ~2 C4 U2 K2 i% m7 G# Q7 |
因为对象是在前一段程序中生成的,而且第一次运行时可以正确执行并输出期望的结果,但第二次就会出现偏移,plottofile方法输出的图形相对于图纸发生偏移,目前没有找到原因,第三次运行时会出现本贴所说的错误提示
7 g) \8 u6 s/ R) e: t! |5 O1 M8 w
' J7 u! `$ |/ C0 K8 _' `* L为了切断其他可能的联系,我重建了个按钮,输入如下程序:0 D3 F! g2 c7 T7 L
public aa as long
' S- Z# U- s/ M3 `+ m) o. NPrivate Sub CommandButton9_Click()
% c5 [# f! p3 W; e# t6 l: UDim M1 As MODI.Document, M2 As MODI.Document  '合并
. m/ ]6 U$ t9 _* ~/ ?1 t/ h) j% R" c7 b6 zDim bb, path As String( T5 s, I& \; b2 ^$ ?  d* T$ ]
aa = aa + 1006 n& i4 U5 \; T/ Y7 x3 A  Q/ V
bb = Str(aa)
5 ]8 b, ~$ b* `& gpath = "d:\我的图纸\" & bb & ".mdi"
- R: c7 p: X% C. J& ]: P' X  e2 Y: YSet M1 = New MODI.Document
( a# s$ x+ W5 }% f1 \+ t  T    Set M2 = New MODI.Document
3 i, K- D5 b# I0 T, i    M1.Create "d:\我的图纸\1111.mdi"( l) D3 A1 d; y0 V; s& ?& G( i. B
    M2.Create "d:\我的图纸\2222.mdi"
0 f# N* R7 B6 z0 u# w: P% n    M1.Images.Add M2.Images(0), Nothing: a; M5 Y8 u" ^, s$ j9 X# `
    M1.SaveAs path
& v- y% d* b) i    M1.Close
/ w, K1 ^* [: q# O9 h2 Q9 N    M2.Close5 f$ a; x6 w1 x2 W; a3 n
End Sub
$ {* N: p$ y& s7 ~2 C! v4 C此程序在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
3 b( L! F, b4 @$ L在 End Sub 前面加上 Set M1 = Nothing 和 Set M2 = Nothing 试试

6 \8 A2 b3 C$ Z: d0 j1 V
' ?2 _# G5 I/ V) \, J试过了,没用4 F+ ^& A8 C4 k% e" U1 R3 y
3 _) e, n5 T+ h1 G2 S, Q* x9 T

6 X8 v; o  l/ W- P% F测试发现:有时候程序会死在  M1.Create "d:\我的图纸\1111.mdi"  这一句,一直在这里运行,不再向下执行,但如果暂停然后再运行,则出现致命错误, r1 E$ N4 t+ [7 P
* x% t8 K4 v1 q' p1 H2 i
另外,我去MSDN网站看了一下,只有《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,没有适用于office2007的版本
% F( K; {& S8 {$ N/ w- N* B: m; Z
7 K) b; L. G9 a* I1 J/ G5 }[ 本帖最后由 157787698 于 2009-11-13 08:47 编辑 ]
 楼主| 发表于 2009-11-13 08:26:07 | 显示全部楼层 来自: 中国天津
还有另外一个问题:
% ]. B, r, L6 R% C; q+ E为什么plottofile方法打出来的图纸会出现偏移?我在程序中直接给点的坐标,不需要用户自己去选择,也就是不能使用getpoint方法! ?: m& D  r1 ?$ e3 b( l1 s) S# O
( |* s* s) R' R5 c4 J
不知道斑竹有没有遇到过这种问题?
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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