QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
同一台电脑运行,别人写的程序也没有专门写地址语句、文件保存类型,但是别人的宏能直接生成dxf文件。我写的程序结果保存在我的文档里,而且生成的是不带后缀的文件,手动加后缀或者写成Open "新建文本文档.dxf" For Output As #1。
" X/ U9 N3 f  I7 J, B8 ^PS:生成的文件是没有问题的。结果老是存在我的文档里这个还没解决。
发表于 2020-1-30 09:03:11 | 显示全部楼层 来自: 中国北京
本帖最后由 woaishuijia 于 2020-1-31 04:24 编辑
! P. y( z: r$ I1 w8 s  I- ]* o, C% M1 \5 J
结合你另外一个帖子“”,我好像明白你的意思了。
2 i# P% w- g4 _+ \& E! C- k那个帖子里的Print #语句后面的文件号用的是1,这是有问题的。按照VB的语法规则,这个文件号是一个1~511的正整数,应该是由电脑自动生成。你这个直接使用1的情况,除非电脑只打开了一个文档,否则文件号1被其它文档占用,就出错了。只能先手动创建文档,再执行程序,我在那个帖子里的回复就是这样子的(那个回复为了简短,没有讨论编程技巧),为了保证程序顺利运行,要求先创建文档。
6 V: H8 P" C5 Y把那个主程序和子程序的代码改一下) D0 p& x2 D1 T! G
  1. Dim FileNumber As Integer
    5 z8 G( W) g. M; }  k

  2. * P9 f3 |! q+ L- {% ~
  3. Sub A()
    + G7 q, C! V5 `& k  R& c, G
  4.     FileNumber = FreeFile()4 S1 c3 J! a6 b1 S9 h- U( H1 j
  5.     Open "c:\1.dxf" For Output As #FileNumber
    / Q4 K% B. d5 T" t5 c8 \! Q
  6.     Print #FileNumber, 0$ N" x2 M: w7 Y( ?, ~, a$ j: l
  7.     Print #FileNumber, "SECTION"/ @# @+ T! `  k$ d
  8.     Print #FileNumber, 2
    " ]2 J  l7 s' g6 N
  9.     Print #FileNumber, "ENTITIES"
    ( w1 @$ s( f7 A2 ?* {! D
  10.     Print #FileNumber, 0
    ' P" ?( x- |$ R% T8 {
  11.     DxfLine 0, 0, 100, 100, 1, "Continuous"
    8 d  \& r/ Q+ s/ x
  12.     Print #FileNumber, "ENDSEC"
    7 n6 l- z- T( Y- K) {. r# T. O+ h( p
  13.     Print #FileNumber, 0' X0 Z6 F7 Q4 T2 i" n4 r" ]+ X
  14.     Print #FileNumber, "EOF"
    8 k- o& N" a" Y
  15.     Close #FileNumber
    5 k! J6 R& e  Q  K; c; [
  16. End Sub
    - Y% D+ X& P% Z) N9 s0 M
  17. 1 ^0 u: E: ^9 |1 _! o+ @
  18. Sub DxfLine(xs#, ys#, xe#, ye#, cl%, Optional Typ$)' b. M  D& d6 v% W  t& ]3 n9 w
  19.     Print #FileNumber, "LINE"
    # f% c  l  P  E
  20.     Print #FileNumber, 8
    2 n5 ^! i, D. A% w0 P5 @; H+ t" W( V
  21.     Print #FileNumber, "0"8 t5 Z) y$ |# A0 P2 U& m# p4 J
  22.     If Typ <> "" Then8 F; [9 z! S7 y
  23.        Print #FileNumber, 6
    . Y$ Z5 b3 I5 i* q) S4 f
  24.        Print #FileNumber, Typ. w2 x2 i# \' K! Y1 @3 h
  25.     End If+ [! l! Z% Y- H9 _3 i5 R
  26.     Print #FileNumber, 62
    , B8 |! C  b$ e- F* K; N. t" R
  27.     Print #FileNumber, cl
    1 G) d' j. H" B# a& N+ c
  28.     Print #FileNumber, 10) d* p# y4 P% I' \0 \( {
  29.     Print #FileNumber, xs
    6 G/ u* A6 x& ~( L% K& T
  30.     Print #FileNumber, 20% X) z8 h$ M$ D$ h( h4 C* n7 }, k
  31.     Print #FileNumber, ys
    ; L, J5 N1 W) [! u/ Z0 `* ^; U
  32.     Print #FileNumber, 30
    + Z: y5 ?* }3 x/ A
  33.     Print #FileNumber, 0#
    ) e  F$ [$ H7 p. S% t
  34.     Print #FileNumber, 11
    / c5 g( b" j8 @
  35.     Print #FileNumber, xe4 t7 j) {! `/ }: x: W" q
  36.     Print #FileNumber, 21* T6 U3 A/ h: r3 s9 I+ |
  37.     Print #FileNumber, ye0 S5 ]; j$ b& x. M7 J8 z
  38.     Print #FileNumber, 31+ }0 |# q4 L$ V; H9 m) d$ K/ y
  39.     Print #FileNumber, 0#: X3 q# t0 Q# F
  40.     Print #FileNumber, 0
    ( @7 @3 |' q6 I0 p- ]
  41. End Sub1 k( b8 I5 |6 H: s, m) ^6 \
复制代码
代码中第一行是在通用声明区声明一个名为 FileNumber 的整型全局变量,用于保存文件号7 }1 d( u- i( s" j6 Z$ ^' s8 U
第四行用 FreeFile 函数获得可用的文件号,后面的代码都使用这个文件号,包括子程序中的Print #语句,这也是使用全局变量的原因
! Q. o* {" I# E2 n7 e: ^- q第十八行,子程序的参数中的前四个都使用了显式类型声明字符“#”,表明这是Double 数据类型;第六个参数使用了Optional 关键字,表明这后面的参数是可选的:在调用子程序时,如果线形是“BYLAYER”,则不必带这个参数。如果不用这个关键字,在调用子程序时,就必须有这个参数,尽管它可能是空字符串。
5 _1 T" A2 z0 Y9 C' o3 O第二十、二十三、二十六、二十八、三十、三十二、三十四、三十六、三十八和四十行,都去掉了双引号和空格,这里没必要使用字符串类型,用整型就可以
3 g/ r& u( \! s0 E, v' p6 t第二十二、二十四行去掉了变量后面的显式类型声明字符“$”,没必要(已经在在第十八行的参数列表中声明了)。同理,第二十七行去掉了双引号及其内部空格及逗号,去掉了变量后面的显式类型声明字符“%”,没必要
! S3 u  l& s$ o& R第三十三、三十九行把"0.00"改成了0#
  {3 ~/ V$ ^) a去掉了原子程序中的
  1. Label:7 J) ?2 ?, ~# V! N
  2.      Exit Sub
复制代码

评分

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

查看全部评分

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

本版积分规则


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

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

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