QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
同一台电脑运行,别人写的程序也没有专门写地址语句、文件保存类型,但是别人的宏能直接生成dxf文件。我写的程序结果保存在我的文档里,而且生成的是不带后缀的文件,手动加后缀或者写成Open "新建文本文档.dxf" For Output As #1。; {: e3 J) ~+ R( d" i
PS:生成的文件是没有问题的。结果老是存在我的文档里这个还没解决。
发表于 2020-1-30 09:03:11 | 显示全部楼层 来自: 中国北京
本帖最后由 woaishuijia 于 2020-1-31 04:24 编辑
- [, F7 R- `2 w/ E5 _+ E8 J. ?+ c! o2 M  c
结合你另外一个帖子“”,我好像明白你的意思了。  Z, U* x; W7 G, [9 P& \4 F
那个帖子里的Print #语句后面的文件号用的是1,这是有问题的。按照VB的语法规则,这个文件号是一个1~511的正整数,应该是由电脑自动生成。你这个直接使用1的情况,除非电脑只打开了一个文档,否则文件号1被其它文档占用,就出错了。只能先手动创建文档,再执行程序,我在那个帖子里的回复就是这样子的(那个回复为了简短,没有讨论编程技巧),为了保证程序顺利运行,要求先创建文档。
2 v& `1 ~- L/ s6 r8 i把那个主程序和子程序的代码改一下6 O1 ?+ s6 }0 n/ H# x: E$ y# ]
  1. Dim FileNumber As Integer
    ( y; i  R. k* P" X8 @) V/ w% M

  2. ) t; h. \! N" H7 W
  3. Sub A()
    6 B' J* B/ F8 [1 ~: |, F' d* s- x( w: b1 I
  4.     FileNumber = FreeFile()( [) m$ j* w0 e5 ~; R* X  T$ G
  5.     Open "c:\1.dxf" For Output As #FileNumber) P; y4 o4 [' m) ^
  6.     Print #FileNumber, 0. F2 Z2 ^) i/ q+ x$ g7 {8 F
  7.     Print #FileNumber, "SECTION"
    3 D, X1 v' s2 ^6 s5 g& d/ y! T1 p
  8.     Print #FileNumber, 2( P! S$ w. x& E4 _
  9.     Print #FileNumber, "ENTITIES"
    9 }2 w9 I  t/ I) H/ P  D
  10.     Print #FileNumber, 0: H6 g2 Q3 U& K7 r5 }) s
  11.     DxfLine 0, 0, 100, 100, 1, "Continuous"; r) r/ T/ C0 |! E# n$ E
  12.     Print #FileNumber, "ENDSEC"
    5 U$ l, H' W0 `6 |4 `! X" s
  13.     Print #FileNumber, 0
    3 k8 `! x) v. W/ U9 [% k$ {) w
  14.     Print #FileNumber, "EOF"  J: @& O( l) i6 [5 @
  15.     Close #FileNumber
    ! r% P  R5 W: K0 ?& d% G
  16. End Sub
    ( G$ J+ W6 e7 L+ @" Y
  17. 5 ]9 K: l: q3 R) Q
  18. Sub DxfLine(xs#, ys#, xe#, ye#, cl%, Optional Typ$)
    9 W& l; ~2 }' |; |7 k  V4 u
  19.     Print #FileNumber, "LINE"
    0 l+ W1 `$ d3 R1 P/ J$ A- s
  20.     Print #FileNumber, 8
    4 q" X: x, e: I* x2 e) A
  21.     Print #FileNumber, "0"
    ; b' P! S& n9 c+ e  z$ s9 B: r) o
  22.     If Typ <> "" Then
    2 P6 n$ m+ J. Q' f
  23.        Print #FileNumber, 64 v8 I2 Q1 V+ F+ a0 n# E! G
  24.        Print #FileNumber, Typ
    % o3 B$ I3 E% H' J  u2 D
  25.     End If/ U, C" p' z; U8 Y. p
  26.     Print #FileNumber, 62: G9 ]8 q% \; A" ~/ E! Y
  27.     Print #FileNumber, cl6 c/ Z- \5 h3 f: i
  28.     Print #FileNumber, 10
    8 m# k- e$ N5 x" s+ G1 Z$ `  }
  29.     Print #FileNumber, xs" n4 `7 V9 o/ c, @
  30.     Print #FileNumber, 207 @8 v2 X( Q5 {- v5 ]- L9 f
  31.     Print #FileNumber, ys
      |- j2 ]1 |8 x& r2 z& U3 Z
  32.     Print #FileNumber, 30
    3 M, u8 J& |; u2 p; A" e
  33.     Print #FileNumber, 0#7 X) z- q% e# J. ?* F% |
  34.     Print #FileNumber, 11
    , Z  R$ U, m  T/ F+ h' E8 U6 M  g4 G
  35.     Print #FileNumber, xe
    # o/ A& m/ l" s3 M$ q7 l; Z, i
  36.     Print #FileNumber, 21& h5 t7 U: |4 {. z: o7 w3 p
  37.     Print #FileNumber, ye. g  m( {+ `2 k! c, f
  38.     Print #FileNumber, 31! D+ Q2 l# q# _( Y8 i8 S+ {
  39.     Print #FileNumber, 0#- u0 r( M+ }; b: k
  40.     Print #FileNumber, 0
    5 j; C# x, n" E; h8 O
  41. End Sub
    " v* S) |! ?/ O8 W
复制代码
代码中第一行是在通用声明区声明一个名为 FileNumber 的整型全局变量,用于保存文件号0 w( s0 c: Q1 X2 }  I8 R
第四行用 FreeFile 函数获得可用的文件号,后面的代码都使用这个文件号,包括子程序中的Print #语句,这也是使用全局变量的原因
- E* ^2 l/ c* k4 Q7 \第十八行,子程序的参数中的前四个都使用了显式类型声明字符“#”,表明这是Double 数据类型;第六个参数使用了Optional 关键字,表明这后面的参数是可选的:在调用子程序时,如果线形是“BYLAYER”,则不必带这个参数。如果不用这个关键字,在调用子程序时,就必须有这个参数,尽管它可能是空字符串。
  E( U: l( p2 [) L/ f5 y5 N; T4 Z- u第二十、二十三、二十六、二十八、三十、三十二、三十四、三十六、三十八和四十行,都去掉了双引号和空格,这里没必要使用字符串类型,用整型就可以3 K7 R/ d7 u- ~/ k" c+ j
第二十二、二十四行去掉了变量后面的显式类型声明字符“$”,没必要(已经在在第十八行的参数列表中声明了)。同理,第二十七行去掉了双引号及其内部空格及逗号,去掉了变量后面的显式类型声明字符“%”,没必要
) h" A" F" o7 u$ x1 C第三十三、三十九行把"0.00"改成了0#: e6 q- V' C( l- ~: h7 k" d
去掉了原子程序中的
  1. Label:/ l8 k) i1 V7 F6 U  P( _
  2.      Exit Sub
复制代码

评分

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

查看全部评分

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

本版积分规则

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

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

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