QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
同一台电脑运行,别人写的程序也没有专门写地址语句、文件保存类型,但是别人的宏能直接生成dxf文件。我写的程序结果保存在我的文档里,而且生成的是不带后缀的文件,手动加后缀或者写成Open "新建文本文档.dxf" For Output As #1。; h! f* }5 H+ g
PS:生成的文件是没有问题的。结果老是存在我的文档里这个还没解决。
发表于 2020-1-30 09:03:11 | 显示全部楼层
本帖最后由 woaishuijia 于 2020-1-31 04:24 编辑
- t/ t" k2 e' I2 @$ @# k/ N" y, [  Y; o, `
结合你另外一个帖子“”,我好像明白你的意思了。
# k9 M- ^0 A, y: h0 J6 b4 g那个帖子里的Print #语句后面的文件号用的是1,这是有问题的。按照VB的语法规则,这个文件号是一个1~511的正整数,应该是由电脑自动生成。你这个直接使用1的情况,除非电脑只打开了一个文档,否则文件号1被其它文档占用,就出错了。只能先手动创建文档,再执行程序,我在那个帖子里的回复就是这样子的(那个回复为了简短,没有讨论编程技巧),为了保证程序顺利运行,要求先创建文档。
1 D! |7 L5 S3 d/ C9 ~4 h' z把那个主程序和子程序的代码改一下8 b5 Q) x* `3 }! h
  1. Dim FileNumber As Integer
    . I9 w. v8 ?# [
  2. % G; a% T9 J! C# F! V
  3. Sub A()
    " r6 a  f1 }) i6 O/ \
  4.     FileNumber = FreeFile()
    2 n, Z  |! d2 ^; t  z
  5.     Open "c:\1.dxf" For Output As #FileNumber
      p' q& Q0 A" d& Q9 h: d
  6.     Print #FileNumber, 0) @) L0 Z6 j4 \' W5 d' V& G* B6 E$ ]1 i
  7.     Print #FileNumber, "SECTION"7 I# I/ k) `+ k8 \% n# W
  8.     Print #FileNumber, 2
    . e# B4 o6 v! v/ z$ P5 P
  9.     Print #FileNumber, "ENTITIES": x: ^9 N" q* w3 z% F
  10.     Print #FileNumber, 0
    6 t2 d- [1 t' N% c
  11.     DxfLine 0, 0, 100, 100, 1, "Continuous") `7 G. L9 y* k; @! k
  12.     Print #FileNumber, "ENDSEC"' _! d6 c! |0 R5 S5 ?
  13.     Print #FileNumber, 0
    & Y/ V  [* a4 w7 q7 |5 w. D8 b# M5 e  T) x
  14.     Print #FileNumber, "EOF"
    , e# x( t$ F8 {. ?. ]
  15.     Close #FileNumber
    4 B4 E9 G+ O( ?4 ]9 a" }+ X
  16. End Sub: w* F7 `5 s& l
  17. 9 O& c7 B- O' [0 X7 E
  18. Sub DxfLine(xs#, ys#, xe#, ye#, cl%, Optional Typ$)% f, a( Z' e% w% |" m1 O1 g
  19.     Print #FileNumber, "LINE"# p* c" {3 b9 i% _9 n, L
  20.     Print #FileNumber, 8
    - C: j! m' \/ f: m' ]& \& v0 s1 P
  21.     Print #FileNumber, "0"' r! n7 c. e( T" q
  22.     If Typ <> "" Then
    ' ~8 }: `9 A; Q, _8 p
  23.        Print #FileNumber, 6
    4 R9 A' ^4 a" V6 }
  24.        Print #FileNumber, Typ
    ' l! M6 q" i* }2 g, o
  25.     End If5 v4 d& ?' r1 L# J
  26.     Print #FileNumber, 62
    & p" C4 v* e& W& X' N
  27.     Print #FileNumber, cl3 n+ i# p/ s( V8 M, w
  28.     Print #FileNumber, 10
    & n" L, ~  |$ t% W
  29.     Print #FileNumber, xs( K9 w  H& h# ?8 B8 N3 q8 f/ N
  30.     Print #FileNumber, 20
    3 a# l1 |, p: S; \' H
  31.     Print #FileNumber, ys
    ! g7 E5 f2 b; g6 a
  32.     Print #FileNumber, 30% G& x+ w* x. [" s- p$ i
  33.     Print #FileNumber, 0#( y" d4 Y9 W3 K/ e9 T
  34.     Print #FileNumber, 11
    $ z: [5 W8 N0 B( ?' a( f7 q
  35.     Print #FileNumber, xe
    , I9 U! `, [- }
  36.     Print #FileNumber, 21
    4 ?) V3 r/ h7 u6 \( I/ L
  37.     Print #FileNumber, ye
    . O% t8 Z$ ?3 h1 {. w! S8 A
  38.     Print #FileNumber, 319 m3 @3 k! b1 ?0 f
  39.     Print #FileNumber, 0#4 J3 X  H. \. R$ w3 b2 s
  40.     Print #FileNumber, 0
    7 b# O- I$ a4 h$ a2 {/ _
  41. End Sub
    6 x( n& }6 C* }9 f
复制代码
代码中第一行是在通用声明区声明一个名为 FileNumber 的整型全局变量,用于保存文件号
7 X6 Q9 E! M3 I6 d1 L+ n: ^第四行用 FreeFile 函数获得可用的文件号,后面的代码都使用这个文件号,包括子程序中的Print #语句,这也是使用全局变量的原因3 U6 }& C# d' t' \
第十八行,子程序的参数中的前四个都使用了显式类型声明字符“#”,表明这是Double 数据类型;第六个参数使用了Optional 关键字,表明这后面的参数是可选的:在调用子程序时,如果线形是“BYLAYER”,则不必带这个参数。如果不用这个关键字,在调用子程序时,就必须有这个参数,尽管它可能是空字符串。
; I$ H0 S1 ^3 z6 [第二十、二十三、二十六、二十八、三十、三十二、三十四、三十六、三十八和四十行,都去掉了双引号和空格,这里没必要使用字符串类型,用整型就可以8 A2 [0 p5 A0 @  i8 `
第二十二、二十四行去掉了变量后面的显式类型声明字符“$”,没必要(已经在在第十八行的参数列表中声明了)。同理,第二十七行去掉了双引号及其内部空格及逗号,去掉了变量后面的显式类型声明字符“%”,没必要+ p0 Z- _( D3 v: c
第三十三、三十九行把"0.00"改成了0#. m4 X" w  g3 N/ `* n
去掉了原子程序中的
  1. Label:
    9 [: n; _7 z6 k* A
  2.      Exit Sub
复制代码

评分

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

查看全部评分

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

本版积分规则

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

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

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