QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
4小时前
查看: 5373|回复: 1
收起左侧

[求助] 请教件事,Open "新建文本文档" For Output As #1成果输出位置怎么固定?

[复制链接]
发表于 2020-1-23 23:02:26 | 显示全部楼层 |阅读模式 来自: 中国江苏镇江
安装
主题分类用于问题归类:

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

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

x
同一台电脑运行,别人写的程序也没有专门写地址语句、文件保存类型,但是别人的宏能直接生成dxf文件。我写的程序结果保存在我的文档里,而且生成的是不带后缀的文件,手动加后缀或者写成Open "新建文本文档.dxf" For Output As #1。3 k% y% s6 c  V0 h7 ~
PS:生成的文件是没有问题的。结果老是存在我的文档里这个还没解决。
发表于 2020-1-30 09:03:11 | 显示全部楼层 来自: 中国北京
本帖最后由 woaishuijia 于 2020-1-31 04:24 编辑 9 ~0 y6 Z8 |5 q
  V& a, z  E. a9 s2 ^
结合你另外一个帖子“”,我好像明白你的意思了。
$ i% |- n6 F0 }* y) B那个帖子里的Print #语句后面的文件号用的是1,这是有问题的。按照VB的语法规则,这个文件号是一个1~511的正整数,应该是由电脑自动生成。你这个直接使用1的情况,除非电脑只打开了一个文档,否则文件号1被其它文档占用,就出错了。只能先手动创建文档,再执行程序,我在那个帖子里的回复就是这样子的(那个回复为了简短,没有讨论编程技巧),为了保证程序顺利运行,要求先创建文档。
( M/ B; S$ o; r7 `5 ]7 v把那个主程序和子程序的代码改一下1 N5 w5 Y3 W" [' R' l+ K' k9 k' \2 d: I
  1. Dim FileNumber As Integer
    - f- N: y% v" @) j+ W7 X
  2. 5 ^$ K2 }& {# N+ ]2 ?$ S' V
  3. Sub A()+ E- y7 v. |( g" S
  4.     FileNumber = FreeFile()) b0 b" W6 p- K; X0 E
  5.     Open "c:\1.dxf" For Output As #FileNumber
    0 {  k* P, Z( m7 e6 Y* H, \6 X: }8 F
  6.     Print #FileNumber, 0
    & |" O- f6 l- r' q. E4 j
  7.     Print #FileNumber, "SECTION"; a' s2 H7 l' `5 Z# r* b0 l7 {. W
  8.     Print #FileNumber, 25 l  u: U* c1 g2 |& ~# ?2 N  O
  9.     Print #FileNumber, "ENTITIES"
    + {5 F# i: D1 E( ], G) m
  10.     Print #FileNumber, 0
    6 e. I: \" ^- S* T. P" N, r0 R
  11.     DxfLine 0, 0, 100, 100, 1, "Continuous"
    6 ^2 D4 _0 i5 N
  12.     Print #FileNumber, "ENDSEC"
    ! t  K( `+ u; m/ C/ \
  13.     Print #FileNumber, 0
    2 C- _) x6 ?# C
  14.     Print #FileNumber, "EOF"
    ) |: b2 w: A7 I7 g9 V
  15.     Close #FileNumber' G& R. m* @- U) Z3 [% x+ N
  16. End Sub; w# Y1 X7 r* u% f

  17. * r2 x$ [9 e" l( {
  18. Sub DxfLine(xs#, ys#, xe#, ye#, cl%, Optional Typ$)4 u, D0 r: V7 I# y: `# T
  19.     Print #FileNumber, "LINE"
    2 C! @; t: P4 t- c4 J6 J- N" Z
  20.     Print #FileNumber, 82 J1 A) @8 l* k  O
  21.     Print #FileNumber, "0"; F: A/ l7 I# q- B5 ~/ [: p1 n
  22.     If Typ <> "" Then
    2 _& C+ a* F% l
  23.        Print #FileNumber, 6% Y( U1 C  @1 u( Q8 e. F% H
  24.        Print #FileNumber, Typ
    ( v- f2 o$ k' `
  25.     End If
    # F" }3 f% D/ {1 H
  26.     Print #FileNumber, 62
    3 n  h$ W" g* A4 X9 ~( ~
  27.     Print #FileNumber, cl
    $ i% N0 g5 \( ^, o8 w, o& ^, V
  28.     Print #FileNumber, 10" q! C: A5 J# Y) I5 }4 X- R
  29.     Print #FileNumber, xs
    / ~! k: T0 H& g0 v; z' r% k
  30.     Print #FileNumber, 20; E4 z) {, x# b# M# L8 k% R# T/ S
  31.     Print #FileNumber, ys
    " s3 l1 P" G, Q# r3 G. R( t3 n
  32.     Print #FileNumber, 30
    + ]7 T* q& F6 ?3 H$ N
  33.     Print #FileNumber, 0#
    * E6 q8 E0 c) [( g& y6 B0 ~
  34.     Print #FileNumber, 11  R6 k, Q$ A% V2 d: P! \* f8 u$ [# a
  35.     Print #FileNumber, xe
    . _! S; `( @" l6 n
  36.     Print #FileNumber, 216 F1 V3 C4 p( U1 V) ^' I
  37.     Print #FileNumber, ye  J! i8 G( R4 L& l3 w- u+ Y# _& n, `+ n
  38.     Print #FileNumber, 31
    ; O6 U* i8 J# ?
  39.     Print #FileNumber, 0#
    / \8 g' \8 W7 E# f8 \! [" B
  40.     Print #FileNumber, 0  e. @# g, P0 g- F
  41. End Sub5 Y8 n$ D  b6 L6 W/ q
复制代码
代码中第一行是在通用声明区声明一个名为 FileNumber 的整型全局变量,用于保存文件号
4 P2 _: a1 m0 b% V( |; c/ d第四行用 FreeFile 函数获得可用的文件号,后面的代码都使用这个文件号,包括子程序中的Print #语句,这也是使用全局变量的原因
4 k, d/ W3 y- x! E% X第十八行,子程序的参数中的前四个都使用了显式类型声明字符“#”,表明这是Double 数据类型;第六个参数使用了Optional 关键字,表明这后面的参数是可选的:在调用子程序时,如果线形是“BYLAYER”,则不必带这个参数。如果不用这个关键字,在调用子程序时,就必须有这个参数,尽管它可能是空字符串。. E- U' x. ^7 k8 p0 u% E4 ]
第二十、二十三、二十六、二十八、三十、三十二、三十四、三十六、三十八和四十行,都去掉了双引号和空格,这里没必要使用字符串类型,用整型就可以1 n" e% v! J: H. C( J* t+ w
第二十二、二十四行去掉了变量后面的显式类型声明字符“$”,没必要(已经在在第十八行的参数列表中声明了)。同理,第二十七行去掉了双引号及其内部空格及逗号,去掉了变量后面的显式类型声明字符“%”,没必要3 a6 H% V" \1 X6 B$ ^+ b& I3 ~
第三十三、三十九行把"0.00"改成了0#
) `0 _. J2 K5 s  |去掉了原子程序中的
  1. Label:' K0 o# U9 X% A" X7 K
  2.      Exit Sub
复制代码

评分

参与人数 1三维币 +20 收起 理由
kuangben8 + 20 感谢您解答了求助的问题。

查看全部评分

发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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