QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
goto3d 说: 版主微信号:caivin811031;还未入三维微信群的小伙伴,速度加
2022-07-04
全站
goto3d 说: 此次SW竞赛获奖名单公布如下,抱歉晚了,版主最近太忙:一等奖:塔山817;二等奖:a9041、飞鱼;三等奖:wx_dfA5IKla、xwj960414、bzlgl、hklecon;请以上各位和版主联系,领取奖金!!!
2022-03-11
查看: 4690|回复: 1
收起左侧

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

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

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

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

x
同一台电脑运行,别人写的程序也没有专门写地址语句、文件保存类型,但是别人的宏能直接生成dxf文件。我写的程序结果保存在我的文档里,而且生成的是不带后缀的文件,手动加后缀或者写成Open "新建文本文档.dxf" For Output As #1。& p) r9 `' t; m) e
PS:生成的文件是没有问题的。结果老是存在我的文档里这个还没解决。
发表于 2020-1-30 09:03:11 | 显示全部楼层
本帖最后由 woaishuijia 于 2020-1-31 04:24 编辑 2 F4 p9 a; g  L9 w. t# I& I1 Q+ \  E
0 e$ G* Q' v- r& j$ \8 [% a: I: R
结合你另外一个帖子“”,我好像明白你的意思了。
, Q. M9 W2 J( a$ A; U8 u那个帖子里的Print #语句后面的文件号用的是1,这是有问题的。按照VB的语法规则,这个文件号是一个1~511的正整数,应该是由电脑自动生成。你这个直接使用1的情况,除非电脑只打开了一个文档,否则文件号1被其它文档占用,就出错了。只能先手动创建文档,再执行程序,我在那个帖子里的回复就是这样子的(那个回复为了简短,没有讨论编程技巧),为了保证程序顺利运行,要求先创建文档。$ v9 n/ Y) s9 H
把那个主程序和子程序的代码改一下
4 q8 c; J1 b7 B4 @& u; w8 M) V9 O' d
  1. Dim FileNumber As Integer
    8 Q2 N& q: }  o( t3 H+ V/ T
  2. " J4 X. L: z" P* n( v
  3. Sub A()
    ' r# P! W1 t1 M! b
  4.     FileNumber = FreeFile(); O: T0 `' y8 @9 G( p/ T  w
  5.     Open "c:\1.dxf" For Output As #FileNumber
    4 k+ ]3 J( V/ ^* m& r; j  b
  6.     Print #FileNumber, 00 Y$ p0 a9 W: W
  7.     Print #FileNumber, "SECTION". G( w8 q6 `! t- ^
  8.     Print #FileNumber, 29 |! \# [' P+ R- K, V0 O
  9.     Print #FileNumber, "ENTITIES"1 c4 g9 ]# I3 u7 M$ l
  10.     Print #FileNumber, 0, A- ~  L# w) S% G5 @5 b9 j* _7 D
  11.     DxfLine 0, 0, 100, 100, 1, "Continuous"9 p" ^: Q3 y- B8 R
  12.     Print #FileNumber, "ENDSEC"' e9 q+ q, G  N2 A: t3 Z0 o) u  Y
  13.     Print #FileNumber, 0
    , P9 k6 ~  @/ p
  14.     Print #FileNumber, "EOF"! V5 r! J1 W, K
  15.     Close #FileNumber6 c; v. s6 q7 S4 U  L
  16. End Sub5 l6 Q8 X- S6 V; T6 y
  17. & q6 z6 c1 k0 }: q
  18. Sub DxfLine(xs#, ys#, xe#, ye#, cl%, Optional Typ$)" e1 Y% U0 V* ^: L3 e+ {# }0 M$ j
  19.     Print #FileNumber, "LINE"; D2 D8 Z# K, C) N: w% r
  20.     Print #FileNumber, 8; m: d3 O2 S) l% X) }
  21.     Print #FileNumber, "0"
    0 V/ _0 E) w9 ~2 n3 {1 U& w
  22.     If Typ <> "" Then" ^1 }7 t5 A& ], x: I1 ]% B
  23.        Print #FileNumber, 6
    , T$ z5 G7 x5 o+ s
  24.        Print #FileNumber, Typ
    + k9 a6 A6 X8 ~9 g. M
  25.     End If
    1 K- B. R5 R: O4 D$ B) k$ V
  26.     Print #FileNumber, 62& S5 F8 a8 m( V5 K3 }
  27.     Print #FileNumber, cl
    - \: f: k! I) E7 d2 J% ]8 w4 |+ L
  28.     Print #FileNumber, 10
    / S4 n9 e7 b  w2 c0 s3 f$ W
  29.     Print #FileNumber, xs9 T! y7 Z! A; b1 @+ @+ `2 Q" D
  30.     Print #FileNumber, 20
    : }4 M. [$ `2 D2 [4 h$ F/ l
  31.     Print #FileNumber, ys4 c/ X" N% g0 x$ h  O; E! b% j) g
  32.     Print #FileNumber, 300 O- w( n7 l% W" G# S2 W; e
  33.     Print #FileNumber, 0#) G) a  s3 q5 Z
  34.     Print #FileNumber, 11
    : B3 F- H" C, d
  35.     Print #FileNumber, xe
    * |0 R( s$ N4 y7 j/ r& G1 ^
  36.     Print #FileNumber, 211 l$ m  M5 @$ R* g4 R. @
  37.     Print #FileNumber, ye: b+ Q+ j6 w1 _  q- ^; m& v/ J
  38.     Print #FileNumber, 31
    ) {+ M4 X' J2 q# I  n& p) y
  39.     Print #FileNumber, 0#- h4 ~6 ?, {( {
  40.     Print #FileNumber, 02 }8 C4 Q2 ]0 [% m1 a  k' N
  41. End Sub' Z0 r8 s9 Y# X5 F  g4 n8 z
复制代码
代码中第一行是在通用声明区声明一个名为 FileNumber 的整型全局变量,用于保存文件号
5 X2 k7 M5 F/ c/ _% W% u第四行用 FreeFile 函数获得可用的文件号,后面的代码都使用这个文件号,包括子程序中的Print #语句,这也是使用全局变量的原因
1 t6 O1 w  k( k, d" @+ c8 I6 B第十八行,子程序的参数中的前四个都使用了显式类型声明字符“#”,表明这是Double 数据类型;第六个参数使用了Optional 关键字,表明这后面的参数是可选的:在调用子程序时,如果线形是“BYLAYER”,则不必带这个参数。如果不用这个关键字,在调用子程序时,就必须有这个参数,尽管它可能是空字符串。
, ~9 g5 s; z$ n第二十、二十三、二十六、二十八、三十、三十二、三十四、三十六、三十八和四十行,都去掉了双引号和空格,这里没必要使用字符串类型,用整型就可以
7 N  u$ F5 P1 I第二十二、二十四行去掉了变量后面的显式类型声明字符“$”,没必要(已经在在第十八行的参数列表中声明了)。同理,第二十七行去掉了双引号及其内部空格及逗号,去掉了变量后面的显式类型声明字符“%”,没必要
/ ^; I$ E1 u( b& Y; T/ l9 U第三十三、三十九行把"0.00"改成了0#
1 f& U  M/ s9 a5 _. e去掉了原子程序中的
  1. Label:
      P$ g; G; {/ @' E" U1 G. Q  B( u
  2.      Exit Sub
复制代码

评分

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

查看全部评分

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

本版积分规则

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

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

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