找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 23332|回复: 11

[问题求助] 请问有人会用VBS写ansoft Maxwell的脚本吗?能否帮忙解决一个文件读写的问题

[复制链接]
发表于 2017-1-28 13:25:54 | 显示全部楼层 |阅读模式
用VBS写ansoft Maxwell的脚本,运行时出现错误
  1. '创建文件
  2. Set objFSO = CreateObject("Scripting.FileSystemObject")
  3. Set objFile = objFSO.CreateTextFile("E:\My_Simulation\UEC\ansoft\ARMFORCE1.txt")

  4. '力数组写入文件
  5. Dim count1
  6. count1=0
  7. Do Until count1=count
  8.    Set objFSO = CreateObject("Scripting.FileSystemObject")
  9.    Set objTextFile = objFSO.OpenTextFile("E:\My_Simulation\UEC\ansoft\ARMFORCE1.txt",ForWriting,true)
  10.    objTextFile.WriteLine(F_x(count))
  11.    objTextFile.Close
  12. Loop  
复制代码
代码主要是要创建一个文本文件,然后把Maxwell中仿真得到的数据写入该文件,但是在Maxwell中导入该脚本后在
  1.    Set objTextFile = objFSO.OpenTextFile("E:\My_Simulation\UEC\ansoft\ARMFORCE1.txt",ForWriting,true)
复制代码
这一行报错
想问下论坛的高手们代码有什么问题吗?
发表于 2017-1-28 14:06:52 | 显示全部楼层
代码报错是ForWriting没有定义?

最顶上加一行常量定义:
  1. Const ForWriting = 2
复制代码
参考:
asp(vbs)fso OpenTextFile方法参数说明
http://www.jb51.net/article/64927.htm
 楼主| 发表于 2017-1-28 18:19:23 | 显示全部楼层
回复 2# yu2n


    我改了以后,出现这个报错:
  1. *Global - Messages
  2.   [error] Script macro error: Script Error (Code 800a0046) in file:  E:/My_Simulation/UEC/ansoft/VBScript1.vbs Description: 没有权限 Line(179):  "   Set objTextFile = objFSO.OpenTextFile("E:/My_Simulation/UEC/ansoft/ARMFORCE1.txt",8,true) " Cause: Microsoft VBScript 运行时错误
  3. Project4 (C:/Users/MoTinte/Documents/Ansoft/)
  4.   Maxwell3DDesign1 (Magnetostatic)
复制代码
这个没有权限是什么问题?
发表于 2017-1-28 21:19:59 | 显示全部楼层
你查一下 E:/My_Simulation/UEC/ansoft/ARMFORCE1.txt 是否有权限修改、或者文件使用中。
 楼主| 发表于 2017-1-28 22:02:39 | 显示全部楼层
回复 4# yu2n


    有写入权限。下面是代码,能帮忙看一下吗
  1. '创建文件
  2. Dim objFSO
  3. Dim objFile
  4. Dim objTextFile

  5. Set objFSO = CreateObject("Scripting.FileSystemObject")
  6. Set objFile = objFSO.CreateTextFile("E:\My_Simulation\UEC\ansoft\ARMFORCE2.txt")
  7. Set objTextFile = objFSO.OpenTextFile("E:\My_Simulation\UEC\ansoft\ARMFORCE2.txt",8,true)

  8. '力数组写入文件
  9. 'Dim count1
  10. count1=0
  11. Do Until count1=count
  12.    objTextFile.WriteLine(F_x(count1))
  13.    MsgBox F_x(count1)
  14.    count1=count1+1
  15. Loop  

  16. objTextFile.Close
复制代码
 楼主| 发表于 2017-1-28 22:20:55 | 显示全部楼层
本帖最后由 MoTinte 于 2017-1-28 22:23 编辑

回复 4# yu2n
报错出现在这一句
  1. Set objTextFile = objFSO.OpenTextFile("E:\My_Simulation\UEC\ansoft\ARMFORCE2.txt",8,true)
复制代码
发表于 2017-1-28 22:51:09 | 显示全部楼层
回复 6# MoTinte


    第 7 行,需要关闭 objFile ,这样就不会出现文件使用中的情况。替换第 7 行为以下代码:
  1. objFSO.CreateTextFile("E:\My_Simulation\UEC\ansoft\ARMFORCE2.txt")
复制代码
发表于 2017-1-28 23:01:42 | 显示全部楼层
第7行没啥用,删掉好了
 楼主| 发表于 2017-1-28 23:16:55 | 显示全部楼层
回复 7# yu2n


    可以了,谢谢。
 楼主| 发表于 2017-1-28 23:19:36 | 显示全部楼层
回复 7# yu2n


    能加个QQ吗?互相交流
 楼主| 发表于 2017-1-29 15:18:18 | 显示全部楼层
回复 7# yu2n


    请问下标越界是什么意思?
发表于 2017-1-31 20:15:21 | 显示全部楼层
回复 11# MoTinte


    使用的数组超过所被定义的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 07:43 , Processed in 0.087601 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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