QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
6天前
查看: 5331|回复: 1
收起左侧

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

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

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

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

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

  2. 2 @1 I2 h, m6 B: P& _, K/ {% m4 e; [
  3. Sub A()
    : \. k' O: L. n/ o' \' h5 E
  4.     FileNumber = FreeFile()
    7 \7 v) d3 ?  Y# h5 f( T
  5.     Open "c:\1.dxf" For Output As #FileNumber
    7 n( w. |% X. c
  6.     Print #FileNumber, 0
    # r/ e, G5 U2 |& v+ ~2 F* Q
  7.     Print #FileNumber, "SECTION"
    * {+ u$ i% R5 L, }
  8.     Print #FileNumber, 2; y7 t$ D/ r' v, m+ L1 E% n# r
  9.     Print #FileNumber, "ENTITIES"
    8 F5 n# W! d% T) x* [
  10.     Print #FileNumber, 05 _. P7 k1 {" U- v2 b8 e
  11.     DxfLine 0, 0, 100, 100, 1, "Continuous"
    5 }: }$ b/ V, i8 M- r4 F* Z  V7 S
  12.     Print #FileNumber, "ENDSEC") _/ u8 K2 P- W9 |- W. }
  13.     Print #FileNumber, 0% [7 O" ?9 I! [, \$ p" m: M
  14.     Print #FileNumber, "EOF"- j: g1 P4 y; W) P! [
  15.     Close #FileNumber7 A0 T! \; t/ O- p" k  E
  16. End Sub. ~  z1 p4 c2 o9 p6 `

  17. % c$ r, E/ ?+ F& }+ S" F
  18. Sub DxfLine(xs#, ys#, xe#, ye#, cl%, Optional Typ$)
    - g' B1 r- x( }: y7 [0 s- W* @
  19.     Print #FileNumber, "LINE"
    6 }8 c2 `  r4 ^2 E3 M
  20.     Print #FileNumber, 8
    3 F) a, }# f; f  Y+ d9 j
  21.     Print #FileNumber, "0"' I& R( \+ N% ?8 Q9 o% Q! i
  22.     If Typ <> "" Then4 w3 x" ^( e# ~. G
  23.        Print #FileNumber, 6& q4 \. H1 g2 j; b" s- l
  24.        Print #FileNumber, Typ
      a, V7 Q- |4 J
  25.     End If3 @2 h$ ]& h9 D% d
  26.     Print #FileNumber, 623 @$ }) V; E2 l1 F+ S) `0 O/ k
  27.     Print #FileNumber, cl/ {; s4 ^, g: s  B. C
  28.     Print #FileNumber, 10
    2 i  Z0 h- M2 s$ P4 n
  29.     Print #FileNumber, xs
    5 x% L( G+ l+ [8 M. W
  30.     Print #FileNumber, 20
    % n: U, o& f9 x! j- `, T
  31.     Print #FileNumber, ys* I) m  D% \; n+ ^# ^% f
  32.     Print #FileNumber, 30
    ( u' ?, J2 T- D2 ~4 w
  33.     Print #FileNumber, 0#
    1 D% b6 ?4 L( j& L
  34.     Print #FileNumber, 11
    - o' }. a1 e. ]1 J( Q6 c
  35.     Print #FileNumber, xe
    : X5 I: ^- j" t2 T5 C
  36.     Print #FileNumber, 21
    , P, `2 V& b/ j6 N( I! D2 n
  37.     Print #FileNumber, ye
    / T5 H/ e- W( {) f. U; f) q
  38.     Print #FileNumber, 31; X, n% ~* N* b) ?' [9 O+ ]8 ~
  39.     Print #FileNumber, 0#. j/ }1 w$ U; `; F/ O; {
  40.     Print #FileNumber, 0" l* a' e, N7 i! z
  41. End Sub" i/ U9 j' R( y
复制代码
代码中第一行是在通用声明区声明一个名为 FileNumber 的整型全局变量,用于保存文件号8 _* ~. U3 j1 X6 X% k
第四行用 FreeFile 函数获得可用的文件号,后面的代码都使用这个文件号,包括子程序中的Print #语句,这也是使用全局变量的原因
3 n+ k" |3 H6 M, W; H( e4 j: [& b第十八行,子程序的参数中的前四个都使用了显式类型声明字符“#”,表明这是Double 数据类型;第六个参数使用了Optional 关键字,表明这后面的参数是可选的:在调用子程序时,如果线形是“BYLAYER”,则不必带这个参数。如果不用这个关键字,在调用子程序时,就必须有这个参数,尽管它可能是空字符串。
  t4 e* j) l; E. z( |8 t第二十、二十三、二十六、二十八、三十、三十二、三十四、三十六、三十八和四十行,都去掉了双引号和空格,这里没必要使用字符串类型,用整型就可以
6 V" j" H3 h  ~0 p第二十二、二十四行去掉了变量后面的显式类型声明字符“$”,没必要(已经在在第十八行的参数列表中声明了)。同理,第二十七行去掉了双引号及其内部空格及逗号,去掉了变量后面的显式类型声明字符“%”,没必要" X: c+ X8 u4 O+ c2 u
第三十三、三十九行把"0.00"改成了0#  o" E( Q% i$ E  B/ T
去掉了原子程序中的
  1. Label:
    * C+ j$ l1 w/ J4 ~
  2.      Exit Sub
复制代码

评分

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

查看全部评分

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

本版积分规则


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

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

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