[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

用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)
复制代码
这一行报错
想问下论坛的高手们代码有什么问题吗?

代码报错是ForWriting没有定义?

最顶上加一行常量定义:
  1. Const ForWriting = 2
复制代码
参考:
asp(vbs)fso OpenTextFile方法参数说明
http://www.jb51.net/article/64927.htm
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

回复 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)
复制代码
这个没有权限是什么问题?

TOP

你查一下 E:/My_Simulation/UEC/ansoft/ARMFORCE1.txt 是否有权限修改、或者文件使用中。
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

回复 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
复制代码

TOP

本帖最后由 MoTinte 于 2017-1-28 22:23 编辑

回复 4# yu2n
报错出现在这一句
  1. Set objTextFile = objFSO.OpenTextFile("E:\My_Simulation\UEC\ansoft\ARMFORCE2.txt",8,true)
复制代码

TOP

回复 6# MoTinte


    第 7 行,需要关闭 objFile ,这样就不会出现文件使用中的情况。替换第 7 行为以下代码:
  1. objFSO.CreateTextFile("E:\My_Simulation\UEC\ansoft\ARMFORCE2.txt")
复制代码
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

第7行没啥用,删掉好了

TOP

回复 7# yu2n


    可以了,谢谢。

TOP

回复 7# yu2n


    能加个QQ吗?互相交流

TOP

回复 7# yu2n


    请问下标越界是什么意思?

TOP

回复 11# MoTinte


    使用的数组超过所被定义的

TOP

返回列表