Вы сохраняете файл .xlsm / .xlsx с расширением .prn;это не делает его файлом .prn, это все же файл .xlsm / .xlsx - расширение определяет не формат файла, а просто удобный для нас, маленький человек, возможность распознавать то, на что мы смотрим, когдамы просматриваем файлы.Вы хотите предоставить xlTextPrinter
XlFileFormat аргумент методу SaveAs
:
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