QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
同一台电脑运行,别人写的程序也没有专门写地址语句、文件保存类型,但是别人的宏能直接生成dxf文件。我写的程序结果保存在我的文档里,而且生成的是不带后缀的文件,手动加后缀或者写成Open "新建文本文档.dxf" For Output As #1。
4 i0 k, w2 U# Z4 R" V# EPS:生成的文件是没有问题的。结果老是存在我的文档里这个还没解决。
发表于 2020-1-30 09:03:11 | 显示全部楼层 来自: 中国北京
本帖最后由 woaishuijia 于 2020-1-31 04:24 编辑
' W; {+ l: u3 @. ?4 Y/ h/ j) G; B' B" [6 f& m3 y
结合你另外一个帖子“”,我好像明白你的意思了。' D: \) b9 x& o& |6 ]
那个帖子里的Print #语句后面的文件号用的是1,这是有问题的。按照VB的语法规则,这个文件号是一个1~511的正整数,应该是由电脑自动生成。你这个直接使用1的情况,除非电脑只打开了一个文档,否则文件号1被其它文档占用,就出错了。只能先手动创建文档,再执行程序,我在那个帖子里的回复就是这样子的(那个回复为了简短,没有讨论编程技巧),为了保证程序顺利运行,要求先创建文档。; l3 h: |' I+ ~' e
把那个主程序和子程序的代码改一下
7 j# D- _+ N2 Z* e7 [7 f7 f& x
  1. Dim FileNumber As Integer% T8 {/ {7 S" ^  D% h7 J
  2. $ S0 ]7 h) u, U; j
  3. Sub A(), I( b1 S& y' ^& ~2 Q# K
  4.     FileNumber = FreeFile(); v. Q3 A% s% O5 b
  5.     Open "c:\1.dxf" For Output As #FileNumber
      S/ h. n, m% z8 Y; ~
  6.     Print #FileNumber, 0
    8 |& `- r( G1 L2 Q4 b$ Z% A. Y
  7.     Print #FileNumber, "SECTION"
    ; e. n0 g2 a$ T8 q6 l. b
  8.     Print #FileNumber, 2/ v- a$ ~$ W  A2 b! t) F- c9 I8 d
  9.     Print #FileNumber, "ENTITIES"
    2 u# q3 O1 z( [+ ~6 Z
  10.     Print #FileNumber, 0
    ( x! r; \1 K' a7 q
  11.     DxfLine 0, 0, 100, 100, 1, "Continuous"4 J) v9 Y4 A7 W) v) W2 u3 G
  12.     Print #FileNumber, "ENDSEC". B( F0 j! m! S( G& l
  13.     Print #FileNumber, 0$ Y* L1 Z2 M8 L! |% a3 f
  14.     Print #FileNumber, "EOF"2 ^- l% D1 S3 t9 M+ m; p; g
  15.     Close #FileNumber
    3 V4 A1 [( x# H. P2 [! ~, d
  16. End Sub0 L3 b$ e5 Q% z% b, f; c3 s; }
  17. 9 E9 F, U( R/ f/ r( L
  18. Sub DxfLine(xs#, ys#, xe#, ye#, cl%, Optional Typ$)
    " y5 Q* `; [5 {- a9 j# C
  19.     Print #FileNumber, "LINE"8 _3 T; w: l7 [6 s6 O
  20.     Print #FileNumber, 8
    5 A7 `2 u* N# n* h1 d7 @, |. S
  21.     Print #FileNumber, "0"
    ! }. }( i# Y$ H0 }2 {4 q) n1 ^
  22.     If Typ <> "" Then8 d2 C' B6 L& u* [* `
  23.        Print #FileNumber, 6( \; x( N* s) o- c1 j) f* U# B
  24.        Print #FileNumber, Typ6 g% @, |6 R$ H' \) Q3 `6 V4 V" d
  25.     End If. L1 e. G5 h) R4 C3 A0 Y! _! X& Y
  26.     Print #FileNumber, 62
    - ~/ ^- L: f& I7 t7 W( A
  27.     Print #FileNumber, cl1 l+ ~3 h6 \& R/ x9 v
  28.     Print #FileNumber, 104 _& R& q! Z! `
  29.     Print #FileNumber, xs5 R1 N1 d' E% m6 |" Z( E: U6 H
  30.     Print #FileNumber, 20
    $ ^8 V% r% L* [2 a3 w
  31.     Print #FileNumber, ys+ K. ?# F) z0 i8 H
  32.     Print #FileNumber, 30
    + r7 h) ?) S) U
  33.     Print #FileNumber, 0#! q0 ?! F$ P1 F' @. L. D9 y/ ~
  34.     Print #FileNumber, 11
    # k5 Y, r; J1 P( E) l
  35.     Print #FileNumber, xe
    $ [+ ^% p* W6 `/ w' c* J7 |
  36.     Print #FileNumber, 21
    ! d9 o6 w+ W  x: ]3 H" E
  37.     Print #FileNumber, ye
    ( p4 [$ p' A# @: u  O' Y3 J5 G" F
  38.     Print #FileNumber, 31
    : H! j9 m, M; m
  39.     Print #FileNumber, 0#' F7 z4 y) p# A& p
  40.     Print #FileNumber, 0
    5 {1 T$ e2 `! a. T7 ^& ?. M/ m
  41. End Sub7 M& \' T, W0 P! g; W/ r5 q' B
复制代码
代码中第一行是在通用声明区声明一个名为 FileNumber 的整型全局变量,用于保存文件号: i! _3 v6 G9 m8 H/ F
第四行用 FreeFile 函数获得可用的文件号,后面的代码都使用这个文件号,包括子程序中的Print #语句,这也是使用全局变量的原因* w' [, C: F; r2 B. k: ^
第十八行,子程序的参数中的前四个都使用了显式类型声明字符“#”,表明这是Double 数据类型;第六个参数使用了Optional 关键字,表明这后面的参数是可选的:在调用子程序时,如果线形是“BYLAYER”,则不必带这个参数。如果不用这个关键字,在调用子程序时,就必须有这个参数,尽管它可能是空字符串。
2 m8 d; J0 m4 m8 m! e5 Q' B第二十、二十三、二十六、二十八、三十、三十二、三十四、三十六、三十八和四十行,都去掉了双引号和空格,这里没必要使用字符串类型,用整型就可以; j9 Y% C. s% c4 w9 L% S8 q
第二十二、二十四行去掉了变量后面的显式类型声明字符“$”,没必要(已经在在第十八行的参数列表中声明了)。同理,第二十七行去掉了双引号及其内部空格及逗号,去掉了变量后面的显式类型声明字符“%”,没必要
3 X' E3 K+ C' G$ d( b第三十三、三十九行把"0.00"改成了0#9 g* O% K( Q3 b6 A
去掉了原子程序中的
  1. Label:$ t/ F$ ^" }; h! p2 F
  2.      Exit Sub
复制代码

评分

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

查看全部评分

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

本版积分规则

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

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

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