QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
同一台电脑运行,别人写的程序也没有专门写地址语句、文件保存类型,但是别人的宏能直接生成dxf文件。我写的程序结果保存在我的文档里,而且生成的是不带后缀的文件,手动加后缀或者写成Open "新建文本文档.dxf" For Output As #1。
1 }/ j6 a8 L3 V% bPS:生成的文件是没有问题的。结果老是存在我的文档里这个还没解决。
发表于 2020-1-30 09:03:11 | 显示全部楼层 来自: 中国北京
本帖最后由 woaishuijia 于 2020-1-31 04:24 编辑
& P& ]  A7 j+ T( g7 @
* M# b7 g0 D8 |. Y5 e, p, C5 w. I结合你另外一个帖子“”,我好像明白你的意思了。$ b$ `; G- `. X! }7 r6 b
那个帖子里的Print #语句后面的文件号用的是1,这是有问题的。按照VB的语法规则,这个文件号是一个1~511的正整数,应该是由电脑自动生成。你这个直接使用1的情况,除非电脑只打开了一个文档,否则文件号1被其它文档占用,就出错了。只能先手动创建文档,再执行程序,我在那个帖子里的回复就是这样子的(那个回复为了简短,没有讨论编程技巧),为了保证程序顺利运行,要求先创建文档。
: i+ e5 H1 N. q( S( }9 r把那个主程序和子程序的代码改一下
; ]* O2 W5 L2 u2 @) e5 R/ X
  1. Dim FileNumber As Integer+ ?" L3 c& o. R; y% c
  2. 8 y7 a7 E: y' c2 S2 C# _5 N1 \
  3. Sub A()
    3 f- G( T+ L; r" d* f" ?
  4.     FileNumber = FreeFile()! S4 O1 E5 Q1 J4 n7 O# t
  5.     Open "c:\1.dxf" For Output As #FileNumber
    1 r  h# r- }- ~$ }! X
  6.     Print #FileNumber, 0! e- z9 h" B, V0 Q2 @
  7.     Print #FileNumber, "SECTION"/ z) n& B6 N$ K" K) O# y5 D
  8.     Print #FileNumber, 22 P+ t/ w9 a7 R, u) u
  9.     Print #FileNumber, "ENTITIES"2 H" ~. C1 D2 Z7 Z' ^7 g* d* R
  10.     Print #FileNumber, 09 J. |/ Y0 p$ w/ }  I7 z
  11.     DxfLine 0, 0, 100, 100, 1, "Continuous"
    3 h: ^9 ]2 T. g2 z
  12.     Print #FileNumber, "ENDSEC"
    5 k4 S6 @# ^! u* s' ~% ]4 f
  13.     Print #FileNumber, 06 T9 I7 C7 c/ y
  14.     Print #FileNumber, "EOF"
    ! N. _4 S3 ]* t! {' {2 s! e$ V
  15.     Close #FileNumber2 ~+ g+ n9 h4 m6 [) b
  16. End Sub' F. @! Z2 o; G4 R- O4 F- q1 v3 h
  17. 2 j$ \8 q: L6 {' u  l* K( X& b
  18. Sub DxfLine(xs#, ys#, xe#, ye#, cl%, Optional Typ$)
    . P+ j* P' F0 ^+ E  M; K
  19.     Print #FileNumber, "LINE"
    ! s3 q9 F6 R! V4 _( F0 v
  20.     Print #FileNumber, 8
    & R* C# N* |9 w& w, _/ Z5 v
  21.     Print #FileNumber, "0"
    . L7 e+ K2 f( Z: c0 M1 A. x" C% p$ P! f
  22.     If Typ <> "" Then( m( p* @2 W; H  c! ^% s
  23.        Print #FileNumber, 69 n& S+ E# j0 d9 t5 h3 O+ q; T' V
  24.        Print #FileNumber, Typ4 ?/ U( L& r5 k% {0 c
  25.     End If
    0 e1 y+ I7 K+ {% T4 @$ B9 w. k/ w
  26.     Print #FileNumber, 62* I" u3 ?* {( x; F1 g
  27.     Print #FileNumber, cl
    $ l  n1 [; f  R  F- d  Z, Z
  28.     Print #FileNumber, 10
    2 v( S+ A) x" ~. H" H( `
  29.     Print #FileNumber, xs0 y! T$ Z& u# s
  30.     Print #FileNumber, 20! K0 Z, ]8 r* A9 s
  31.     Print #FileNumber, ys
    % e% S( e% B9 w; V  P4 N! ]
  32.     Print #FileNumber, 30
    * j4 H# N( V+ C" q# F/ b3 I. h/ g
  33.     Print #FileNumber, 0#0 H1 y8 i3 |4 c; F8 l0 F
  34.     Print #FileNumber, 11
    5 S, c3 Y$ E7 F2 k% ~9 T
  35.     Print #FileNumber, xe& q0 \/ D. O! V( \
  36.     Print #FileNumber, 21& F4 {% h' C& }: `" }% J
  37.     Print #FileNumber, ye+ k2 s+ `; I/ T: `+ S  c3 @
  38.     Print #FileNumber, 31
    : v! z6 a$ y! Q2 q
  39.     Print #FileNumber, 0## A' }+ H6 O  ]3 @# I( U; Y0 o# {# P
  40.     Print #FileNumber, 0
      L: P# K+ w! D0 z
  41. End Sub/ V6 S7 D1 e! p0 s
复制代码
代码中第一行是在通用声明区声明一个名为 FileNumber 的整型全局变量,用于保存文件号
3 {( ~: W+ q# k- N第四行用 FreeFile 函数获得可用的文件号,后面的代码都使用这个文件号,包括子程序中的Print #语句,这也是使用全局变量的原因$ \) G" |/ F& [5 Q, b5 G
第十八行,子程序的参数中的前四个都使用了显式类型声明字符“#”,表明这是Double 数据类型;第六个参数使用了Optional 关键字,表明这后面的参数是可选的:在调用子程序时,如果线形是“BYLAYER”,则不必带这个参数。如果不用这个关键字,在调用子程序时,就必须有这个参数,尽管它可能是空字符串。& I4 i; m8 q8 [# g( h+ x
第二十、二十三、二十六、二十八、三十、三十二、三十四、三十六、三十八和四十行,都去掉了双引号和空格,这里没必要使用字符串类型,用整型就可以
7 j& S8 B2 l; G第二十二、二十四行去掉了变量后面的显式类型声明字符“$”,没必要(已经在在第十八行的参数列表中声明了)。同理,第二十七行去掉了双引号及其内部空格及逗号,去掉了变量后面的显式类型声明字符“%”,没必要% Y2 \; i4 }" ^4 o2 _
第三十三、三十九行把"0.00"改成了0#
& y; g- J! ?3 }9 g' J4 |6 o3 D  C) ]去掉了原子程序中的
  1. Label:
    . G% ^, J0 w+ X: u4 ?+ L% R8 Z2 F! u
  2.      Exit Sub
复制代码

评分

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

查看全部评分

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

本版积分规则


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

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

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