QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
在程序执行到下面代码时出现此问题:+ d$ u, o  W$ i, w
M1.Create pathmdi12$ M+ z0 E& L! L  _' |: K6 }
M2.Create pathmdi11% C2 ?; n8 w, N# {8 V

" l- [/ O6 d$ k( r5 ^提示如下:
5 R: G* C+ \. D8 w$ Z untitled.JPG
5 _' [7 |% {* A2 N1 ?$ B2 W( ~1 e6 {1 e! l, t
但是在程序第一遍执行时可以正常运行,第二遍即出现此问题
% o+ N0 M. M; t7 s! v; U
; R9 p- P2 `2 F/ _我的电脑上是office2003,不会出现此问题;但是一旦拿到装office2007的电脑就会出现这个问题* @0 C1 r  d" E3 v4 d0 |
: K, r( V7 m8 H- k
请问是怎么回事?如何解决?% O! W' v* i8 C$ \6 z& o9 {- D, H
3 l9 K, R9 r' R6 g& u
不知道斑竹woaishuijia是否遇到过此问题?或者其他朋友是否遇到过此问题?如果有解决方案,请不吝赐教,不胜感激
发表于 2009-11-12 17:07:57 | 显示全部楼层 来自: 中国
没用过office2007,猜想可能是 2007 版 Office Document Imaging 与 2003 版不同。建议到 MSDN 网站查看一下 office2007 的 VBA 参考。如果原因是这样的话,就需要在程序中加入识别版本并区别对待的内容。
. r1 |' `8 @9 a; }5 ?8 t' ~! ?另外,引用的对象是否正确?+ R( j$ w9 e" V; \
还有,M1、M2 、M3 这些变量用过之后,是否有用 M1.Close 和 Set M1 = Nothing 语句关闭进程?
5 L& A/ y* i+ x7 R附件是《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,以前从 MSDN 下载的。

MSPAUTO.rar

339.97 KB, 下载次数: 4

 楼主| 发表于 2009-11-12 19:29:11 | 显示全部楼层 来自: 中国天津
谢谢斑竹
  W9 `: P! Y5 }7 q# I. |* |
' ^3 D" Z: E+ k引用的对象应该是正确的8 ~8 a% d* @  {1 H9 t7 s6 r
# g' \7 u# e) H/ L- I. [6 a$ o
因为对象是在前一段程序中生成的,而且第一次运行时可以正确执行并输出期望的结果,但第二次就会出现偏移,plottofile方法输出的图形相对于图纸发生偏移,目前没有找到原因,第三次运行时会出现本贴所说的错误提示2 b6 J* L: F/ z, k  ?# }2 W  u
' y# I% G2 n3 a; N1 y0 [+ d1 v7 a
为了切断其他可能的联系,我重建了个按钮,输入如下程序:
: ^7 @7 h7 H4 _, P% Y: @6 o( spublic aa as long
" h" f3 i2 ^' t/ J+ T# L* ^Private Sub CommandButton9_Click()$ f( x- W2 ~$ z
Dim M1 As MODI.Document, M2 As MODI.Document  '合并
9 W8 |6 e# c) t$ c6 p- g; F2 H. eDim bb, path As String+ `; z( Q0 w" f& h6 T
aa = aa + 1003 O* Y! h& Z' P
bb = Str(aa)7 Y- g1 a7 U6 D3 w! G* w. i
path = "d:\我的图纸\" & bb & ".mdi"
, |9 _$ N1 v: A$ B; N# {( wSet M1 = New MODI.Document
  ~- e2 T) _! L( N; }& Y    Set M2 = New MODI.Document- O3 z4 ?# R7 b+ ^9 \7 Z1 L& j' }
    M1.Create "d:\我的图纸\1111.mdi"  o) y2 v' b; t2 u, b# U
    M2.Create "d:\我的图纸\2222.mdi") x6 T, l$ u$ n
    M1.Images.Add M2.Images(0), Nothing
: U& s; a6 w1 \4 T    M1.SaveAs path
7 H+ P0 n/ B2 X9 f. f& t; j: I    M1.Close8 w/ Q4 X6 x- J4 h
    M2.Close' x2 k; y( o- @: w% k6 G4 V- g
End Sub7 x1 x  A; Q% H' R* r' K9 T/ |, 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$ a, N( a& i. ^- C* f
在 End Sub 前面加上 Set M1 = Nothing 和 Set M2 = Nothing 试试
6 U/ z( s1 |  z

9 e: H& K5 R/ ~3 c. s# z( g试过了,没用) S' _& h% M/ H, ~# |- ]5 I

! _9 u( T1 U, J  e  R7 A3 ~
5 D6 Z/ G2 m- o* `* ~测试发现:有时候程序会死在  M1.Create "d:\我的图纸\1111.mdi"  这一句,一直在这里运行,不再向下执行,但如果暂停然后再运行,则出现致命错误% [7 J5 J3 o: z1 L& y

- }& o6 e, j3 o6 C) B& y% o另外,我去MSDN网站看了一下,只有《Microsoft Office 2003 Edition Document Imaging VBA Language Reference》,没有适用于office2007的版本* g! G- m4 f1 M# `

1 P' O9 N( J1 I7 v* x[ 本帖最后由 157787698 于 2009-11-13 08:47 编辑 ]
 楼主| 发表于 2009-11-13 08:26:07 | 显示全部楼层 来自: 中国天津
还有另外一个问题:; g6 w0 K; n4 t% y
为什么plottofile方法打出来的图纸会出现偏移?我在程序中直接给点的坐标,不需要用户自己去选择,也就是不能使用getpoint方法
: @7 l' D% G" ^2 h- H
7 ~0 A1 {0 [# a1 I8 A6 N% D不知道斑竹有没有遇到过这种问题?
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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