VBA二进制文件 – cnc程序

我正在使用macros来创build一个CNC程序。
要创build机器使用的“.spf”文件我使用:

Dim m2_path as string m2_path = T:\Production\Cavity-Line\Eric R\Excel\PARAMETER.spf Dim text as string text = 'my data Dim fso As Object Dim Fileout As Object Set fso = CreateObject("Scripting.FileSystemObject") Set Fileout = fso.CreateTextFile(m2_path, True, True) Fileout.Write text Fileout.Close 

当我尝试打开机器上的程序时,出现“无法打开二进制文件”错误。
但是,如果我手动将内容从“m2_path”文件复制到另一个,然后尝试打开它,我不会收到错误消息。

文本文件的格式有问题吗?

机器正在使用SINUMERIK 840d sl。

提前致谢
问候

编辑:
感谢@ashleedawg

很高兴听到你在变革中取得成功:

来自:

 Set Fileout = fso.CreateTextFile(m2_path, True, True) 

至 :

 Set Fileout = fso.CreateTextFile(m2_path, True, False) 

创build一个ASCII文件而不是Unicode(不能被机器读取)。

参考 : 西门子SINUMERIK 840D sl数控软件2.6 SP1 HF4安装/操作手册,第29页

如果文本文件使用LF字符(0aH)或stringCRLF(0d0aH)作为块标识符的行或结尾,则可以使用SINUMERIK Operate Editor编辑文本文件。 编辑器无法打开二进制文件。 … SINUMERIK Operate Editor中新生成的文件为UTF-8编码,并且LF字符作为块标识符的结尾。 对于UTF-8编码的文件,所有特殊字符都可以正确显示。 在打开文件时,SINUMERIK Operate Editor假定文件是UTF-8编码的。 如果打开带有其他编码的文件,例如使用Windows页面编码,则只有在SINUMERIK Operate切换到相应的系统语言时才能正确显示特殊字符。 这也涉及到例如使用HMI高级编辑器生成的文件。 用SINUMERIK Operate Editor打开时,这些文件的编码不会改变。 没有自动转换为UTF-8编码。 如果我们使用外部编辑器(例如Windows下的记事本)生成或处理的文件,而不是SINUMERIK Operate Editor,那么应该注意,文件是以UTF-8编码保存的。 使用记事本时,以及将文件另存为编码时,请在“另存为”对话框中select“UTF-8”。 如果没有使用特殊字符,那么也可以将“ANSI”指定为编码。