QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
同一台电脑运行,别人写的程序也没有专门写地址语句、文件保存类型,但是别人的宏能直接生成dxf文件。我写的程序结果保存在我的文档里,而且生成的是不带后缀的文件,手动加后缀或者写成Open "新建文本文档.dxf" For Output As #1。/ ^6 ~: H3 J* l2 J+ q6 J
PS:生成的文件是没有问题的。结果老是存在我的文档里这个还没解决。
发表于 2020-1-30 09:03:11 | 显示全部楼层
本帖最后由 woaishuijia 于 2020-1-31 04:24 编辑 2 p; l, Y2 K; z, z4 s' a

; G6 U* l1 E$ P5 q; I1 Z' f结合你另外一个帖子“”,我好像明白你的意思了。
" X; {( Y, }' B5 P# E& n8 _那个帖子里的Print #语句后面的文件号用的是1,这是有问题的。按照VB的语法规则,这个文件号是一个1~511的正整数,应该是由电脑自动生成。你这个直接使用1的情况,除非电脑只打开了一个文档,否则文件号1被其它文档占用,就出错了。只能先手动创建文档,再执行程序,我在那个帖子里的回复就是这样子的(那个回复为了简短,没有讨论编程技巧),为了保证程序顺利运行,要求先创建文档。2 F$ `( g+ O" V) {/ c0 z$ Z
把那个主程序和子程序的代码改一下3 @9 C5 X) Y3 C9 d- E$ _# D0 A* E5 i5 Q
  1. Dim FileNumber As Integer
    4 l  k' v2 B- H, P, r4 o

  2. : o2 l" ~" t' @/ ^8 _  w
  3. Sub A()& [& j+ s% Q: v# ^, s
  4.     FileNumber = FreeFile()8 v0 J7 P/ i6 A* w' B6 G7 z
  5.     Open "c:\1.dxf" For Output As #FileNumber% b( J8 ?) g6 {0 D
  6.     Print #FileNumber, 0: i% U  u; \+ p, j
  7.     Print #FileNumber, "SECTION"! A* r% f5 s  \0 ?) @8 ]7 z, ]; T
  8.     Print #FileNumber, 2
    6 H; F7 p, g' O/ x" ~0 [6 N. A
  9.     Print #FileNumber, "ENTITIES"1 z# a& |0 Z: \+ C3 W
  10.     Print #FileNumber, 0. G8 `3 }" m( P4 Y5 b$ D
  11.     DxfLine 0, 0, 100, 100, 1, "Continuous"
    * Q$ l: F% }  j- [4 @9 [
  12.     Print #FileNumber, "ENDSEC"6 [# j9 I1 ~* m
  13.     Print #FileNumber, 0
    ' c5 k$ ?9 x4 }9 K
  14.     Print #FileNumber, "EOF"9 L8 U+ h0 q% ^6 `- E
  15.     Close #FileNumber8 J7 i0 R5 q& ]
  16. End Sub
    % h5 Y0 K: g6 Y1 {$ ~8 y, x$ p

  17. * K& i4 m, f) X, A8 g
  18. Sub DxfLine(xs#, ys#, xe#, ye#, cl%, Optional Typ$)3 w- o- h, l% f9 m9 |6 Z
  19.     Print #FileNumber, "LINE"$ e( _4 W. t7 ?- z) R+ [5 P  B' {
  20.     Print #FileNumber, 8- p: R0 s+ I( H% L+ e3 H
  21.     Print #FileNumber, "0"
    # @  i0 T, J, b3 b( Q, ?
  22.     If Typ <> "" Then; p* h; |: `$ P
  23.        Print #FileNumber, 6" G' ~+ w/ L& I% }6 B! y1 B
  24.        Print #FileNumber, Typ
    + r) Z9 q% f) Q3 i; g6 I
  25.     End If, V6 h, E+ }2 ?9 o" ~
  26.     Print #FileNumber, 62' I3 \7 o5 ?* j, L7 j( b! e( Y
  27.     Print #FileNumber, cl  P7 N) |; T# [# s& W
  28.     Print #FileNumber, 10' i" e- y4 W; G% B; i2 A0 K
  29.     Print #FileNumber, xs5 V, q" D; [( T4 L! e
  30.     Print #FileNumber, 20
    + D0 k- @: r0 f2 s8 U
  31.     Print #FileNumber, ys& g" M' `) b+ I
  32.     Print #FileNumber, 30
      q* p) `8 o; j' E" l, P
  33.     Print #FileNumber, 0#
    5 d  K& M0 P# G( f# U
  34.     Print #FileNumber, 11
    4 d& t$ b" |* E9 z6 x& T$ J
  35.     Print #FileNumber, xe
    0 U& g- D+ G! a% Z& n
  36.     Print #FileNumber, 21
    - S" B9 V; n9 m2 B
  37.     Print #FileNumber, ye# _7 g& D7 r8 K- ]* j8 d
  38.     Print #FileNumber, 31" F: m, R8 {( v5 d5 I* C; C8 c
  39.     Print #FileNumber, 0#
    ' I+ _' W* M/ e0 m3 Y
  40.     Print #FileNumber, 0
    ; Y1 C. A7 r5 q5 ?; Z; y
  41. End Sub
    3 j- H! x7 x9 N. ?# z; Z
复制代码
代码中第一行是在通用声明区声明一个名为 FileNumber 的整型全局变量,用于保存文件号- z  m! \/ y! F! `6 x1 _
第四行用 FreeFile 函数获得可用的文件号,后面的代码都使用这个文件号,包括子程序中的Print #语句,这也是使用全局变量的原因0 L% C' p9 t5 h! Q: a4 J
第十八行,子程序的参数中的前四个都使用了显式类型声明字符“#”,表明这是Double 数据类型;第六个参数使用了Optional 关键字,表明这后面的参数是可选的:在调用子程序时,如果线形是“BYLAYER”,则不必带这个参数。如果不用这个关键字,在调用子程序时,就必须有这个参数,尽管它可能是空字符串。* k( w; f* ?% [, n
第二十、二十三、二十六、二十八、三十、三十二、三十四、三十六、三十八和四十行,都去掉了双引号和空格,这里没必要使用字符串类型,用整型就可以
0 N5 d2 i% V9 {$ x- D第二十二、二十四行去掉了变量后面的显式类型声明字符“$”,没必要(已经在在第十八行的参数列表中声明了)。同理,第二十七行去掉了双引号及其内部空格及逗号,去掉了变量后面的显式类型声明字符“%”,没必要+ s- I' f: T; w  S
第三十三、三十九行把"0.00"改成了0#* O) f9 z/ S* W
去掉了原子程序中的
  1. Label:
      r# A; K0 y9 ^6 Y
  2.      Exit Sub
复制代码

评分

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

查看全部评分

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

本版积分规则

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

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

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