QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 5368|回复: 1
收起左侧

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

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

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

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

x
同一台电脑运行,别人写的程序也没有专门写地址语句、文件保存类型,但是别人的宏能直接生成dxf文件。我写的程序结果保存在我的文档里,而且生成的是不带后缀的文件,手动加后缀或者写成Open "新建文本文档.dxf" For Output As #1。) W- z  W& ]6 k4 J& ^; {$ w
PS:生成的文件是没有问题的。结果老是存在我的文档里这个还没解决。
发表于 2020-1-30 09:03:11 | 显示全部楼层 来自: 中国北京
本帖最后由 woaishuijia 于 2020-1-31 04:24 编辑 - R8 R) d0 N) H$ A
1 Z+ S8 ]/ I- ^8 |  V
结合你另外一个帖子“”,我好像明白你的意思了。) x0 O# K8 Q2 d4 b4 j/ @
那个帖子里的Print #语句后面的文件号用的是1,这是有问题的。按照VB的语法规则,这个文件号是一个1~511的正整数,应该是由电脑自动生成。你这个直接使用1的情况,除非电脑只打开了一个文档,否则文件号1被其它文档占用,就出错了。只能先手动创建文档,再执行程序,我在那个帖子里的回复就是这样子的(那个回复为了简短,没有讨论编程技巧),为了保证程序顺利运行,要求先创建文档。
+ v, a4 @; T2 x! l把那个主程序和子程序的代码改一下& b; H( _4 `6 S; i
  1. Dim FileNumber As Integer
    9 _3 k" u1 X" J; M' F
  2. , v% E/ Q  G: T
  3. Sub A(), e& j0 ]5 C$ W+ p, E1 `( P% P7 J
  4.     FileNumber = FreeFile()
    & x# O* O9 o9 I# z
  5.     Open "c:\1.dxf" For Output As #FileNumber
    $ A, e8 @5 a' W3 A& {, w" m
  6.     Print #FileNumber, 0
    , |. `4 ]* e$ y6 t
  7.     Print #FileNumber, "SECTION"7 ?" ^% t" ?. u/ Z8 \/ F
  8.     Print #FileNumber, 23 \+ p# V+ {. R% b, ?, y( L, C0 Q, \0 q
  9.     Print #FileNumber, "ENTITIES"+ D9 t/ h' e+ e9 z" M
  10.     Print #FileNumber, 0
    # s! Z' N/ A. W7 x% f- n
  11.     DxfLine 0, 0, 100, 100, 1, "Continuous") B2 f7 h9 h& i) d. ^+ A  r" `
  12.     Print #FileNumber, "ENDSEC") R2 z2 t% A7 O+ H$ r
  13.     Print #FileNumber, 0
    ) \# w+ f% V, M5 C. j
  14.     Print #FileNumber, "EOF"% p; L+ x8 u7 I9 o0 ?" N+ a
  15.     Close #FileNumber
    3 j9 \3 H& Z7 Z
  16. End Sub
    " H0 z/ D* o& Z5 D, O
  17. . f; R& i+ j0 v* ~  u  U9 t
  18. Sub DxfLine(xs#, ys#, xe#, ye#, cl%, Optional Typ$)
    1 @0 T1 p0 q0 y% O" C5 q+ q# l
  19.     Print #FileNumber, "LINE"8 e  D( L: X3 ]! o  O
  20.     Print #FileNumber, 8- d, e" @/ g  _5 `% E
  21.     Print #FileNumber, "0"0 W% V* h, c$ K" R" w/ g; x5 }+ F
  22.     If Typ <> "" Then8 t+ B( x( W+ s
  23.        Print #FileNumber, 6. r; D/ _  n' k) I- Y- ^  `3 {
  24.        Print #FileNumber, Typ
    & \! `2 i  O/ O5 D
  25.     End If
    - d" f( p" ?8 D
  26.     Print #FileNumber, 62# o5 p1 |, E+ E; U- i" Q7 g/ _
  27.     Print #FileNumber, cl
    + |+ @. }" h' z7 a
  28.     Print #FileNumber, 10% s3 u2 y! o7 O& A, ^6 v
  29.     Print #FileNumber, xs
    & A+ t: o5 ]2 F: x0 I6 M4 \
  30.     Print #FileNumber, 20
    9 w! L+ ^5 p3 m# w5 L
  31.     Print #FileNumber, ys( g' V( ~; y+ a' T) ?7 l+ y) q
  32.     Print #FileNumber, 304 N" V& H- J. F
  33.     Print #FileNumber, 0#
    % D& w# Q1 o. t4 t% o# m: B
  34.     Print #FileNumber, 119 q8 _) H0 N$ G  x$ o, w
  35.     Print #FileNumber, xe
    : R. f. z, L/ P3 x1 N9 R- `
  36.     Print #FileNumber, 21
    ! J+ M: d+ N/ J
  37.     Print #FileNumber, ye% i* W/ [" y0 }& A* |* e
  38.     Print #FileNumber, 31
    ( ^( d8 w! E/ X, H/ P8 ^7 f2 I; o
  39.     Print #FileNumber, 0#
    * D& q% h  F, H$ E  S, }0 n
  40.     Print #FileNumber, 0; B7 Z' q4 O- l& Q! u$ M
  41. End Sub, j+ p% @9 N: e7 K) f
复制代码
代码中第一行是在通用声明区声明一个名为 FileNumber 的整型全局变量,用于保存文件号
$ r- O+ p, a/ }) h1 D第四行用 FreeFile 函数获得可用的文件号,后面的代码都使用这个文件号,包括子程序中的Print #语句,这也是使用全局变量的原因
" T2 N1 P. H# R- X7 L第十八行,子程序的参数中的前四个都使用了显式类型声明字符“#”,表明这是Double 数据类型;第六个参数使用了Optional 关键字,表明这后面的参数是可选的:在调用子程序时,如果线形是“BYLAYER”,则不必带这个参数。如果不用这个关键字,在调用子程序时,就必须有这个参数,尽管它可能是空字符串。$ f, a: f8 o4 Z5 v. l! E6 T' |
第二十、二十三、二十六、二十八、三十、三十二、三十四、三十六、三十八和四十行,都去掉了双引号和空格,这里没必要使用字符串类型,用整型就可以
7 e: I! U! T! o( j% f. e第二十二、二十四行去掉了变量后面的显式类型声明字符“$”,没必要(已经在在第十八行的参数列表中声明了)。同理,第二十七行去掉了双引号及其内部空格及逗号,去掉了变量后面的显式类型声明字符“%”,没必要
% Z, H9 \- T' E. J第三十三、三十九行把"0.00"改成了0#& {4 D6 w' ]/ g: C+ }
去掉了原子程序中的
  1. Label:2 w( A8 D4 H( [6 ^; P5 d. O
  2.      Exit Sub
复制代码

评分

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

查看全部评分

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

本版积分规则


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

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

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