将我的工作表转换为 prn 后,在我的 erp 上上传时出错,当我将 prn 转换为 txt 格式时,我看到了某种中文写的如何解决这个问题。下面的代码在“A”行中添加值 +1 并转换为 prn
Sub CONVERT()
Dim vcounter As Long
Dim ws As Worksheet
For Each ws In Sheets
ws.Activate
vcounter = 2
While Range("A" & vcounter).Value <> ""
Range("a" & vcounter).Value = Range("a" & vcounter).Value + 1
vcounter = vcounter + 1
Wend
Application.DisplayAlerts = False
ActiveSheet.SaveAs Filename:="D:\birla soft\" & ActiveSheet.Name & ".prn"
Next ws
End Sub
最佳答案
您正在保存扩展名为 .prn 的 .xlsm/.xlsx 文件;这不会使它成为一个 .prn 文件,它仍然是一个 .xlsm/.xlsx 文件 - 扩展名不是决定文件格式的因素,它只是一个方便的指标,让我们这些弱小的人类识别我们正在看什么时候我们浏览文件。您想提供 xlTextPrinter
XlFileFormat SaveAs
method 的参数:
ActiveSheet.SaveAs Filename:="D:\birla soft\" & ActiveSheet.Name & ".prn", xlTextPrinter
关于此的注释:
ws.Activate
你不需要它。相反,限定这些
Range
调用ws
对象 - 你想迭代 Worksheets
集合(Sheets
可能包含各种非工作表类型):For Each ws In ActiveWorkbook.Worksheets ' or did you mean to iterate sheets in ThisWorkbook?
Do While ws.Range(...)
ws.Range(...) = ws.Range(...) + 1
vcounter = vcounter + 1
Loop
Application.DisplayAlerts = False
ws.SaveAs FileName:="..." & ws.Name & ".prn", FileFormat:=xlTextPrinter
Next
关于excel - 将excel文件转换成prn给出不同的语言数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55732875/